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
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());
}
}