Unire dati annidati
Il team HR conserva i dati dei dipendenti in due file JSON separati: uno con le informazioni di base e un altro con attributi aggiuntivi. Per creare un profilo completo del dipendente, devi unire queste tabelle usando un identificatore comune.
Un inner join combina le righe di due tabelle quando la colonna di join coincide, come unire due liste di invitati per nome. Le classi JsonReader, JsonReadOptions e Table sono già state importate per te.
Questo esercizio fa parte del corso
Importare dati in Java
Istruzioni dell'esercizio
- Imposta il nome della tabella per il primo file JSON.
- Completa la catena del builder per il secondo file.
- Esegui la join delle tabelle sulla colonna
"id".
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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());
}
}