Začněte nyníZačněte zdarma

Slučování vnořených dat

HR tým uchovává data o zaměstnancích ve dvou samostatných JSON souborech: jeden obsahuje základní informace a druhý doplňující atributy. Aby bylo možné sestavit kompletní profil zaměstnance, je potřeba tabulky propojit pomocí společného identifikátoru.

Inner join kombinuje řádky ze dvou tabulek, kde se hodnoty ve slučovacím sloupci shodují – podobně jako sloučení dvou seznamů hostů podle jména. Třídy JsonReader, JsonReadOptions a Table jsou již naimportované.

Toto cvičení je součástí kurzu

Importing Data in Java

Zobrazit kurz

Pokyny k cvičení

  • Nastav název tabulky pro první JSON soubor.
  • Dokonči řetězec builderu pro druhý soubor.
  • Spoj tabulky podle sloupce "id".

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

public class NestedEmployees {
    public static void main(String[] args) {

        // Set table name for first JSON
        JsonReadOptions opts1 = JsonReadOptions
                .builder("employees.json")
                .____("Main")
                .build();
        Table main = new JsonReader().read(opts1);

        // Complete builder chain for second JSON
        JsonReadOptions opts2 = JsonReadOptions
                .builder("employees_extra.json")
                .tableName("Extra")
                .____();
        Table extra = new JsonReader().read(opts2);

        System.out.println("Main columns: " + main.columnNames());
        System.out.println("Extra columns: " + extra.columnNames());

        // Join tables on id column
        Table joined = main.____("id").____(extra);

        System.out.println("\nJoined table (inner join on id):");
        System.out.println(joined.print());
    }
}
Upravit a spustit kód