ComenzarEmpieza gratis

Fusión de datos anidados

El equipo de RR. HH. guarda los datos de empleados en dos archivos JSON separados: uno con información básica y otro con atributos adicionales. Para crear un perfil completo de cada empleado, necesitas unir estas tablas usando un identificador común.

Un inner join combina filas de dos tablas cuando coincide la columna de unión, como unir dos listas de invitados por nombre. Las clases JsonReader, JsonReadOptions y Table ya han sido importadas por ti.

Este ejercicio forma parte del curso

Importación de datos en Java

Ver curso

Instrucciones del ejercicio

  • Establece el nombre de la tabla para el primer archivo JSON.
  • Completa la cadena del builder para el segundo archivo.
  • Une las tablas por la columna "id".

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

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());
    }
}
Editar y ejecutar código