НачатьНачать бесплатно

Объединение вложенных данных

Команда HR хранит данные о сотрудниках в двух отдельных JSON-файлах: один содержит основную информацию, другой — дополнительные атрибуты. Чтобы сформировать полный профиль сотрудника, необходимо объединить эти таблицы по общему идентификатору.

Внутреннее соединение объединяет строки из двух таблиц, у которых совпадают значения в столбце соединения — как если бы вы совместили два списка гостей по именам. Классы JsonReader, JsonReadOptions и Table уже импортированы.

Это упражнение является частью курса

Импорт данных в Java

Посмотреть курс

Инструкции к упражнению

  • Задайте имя таблицы для первого JSON-файла.
  • Завершите цепочку построителя для второго файла.
  • Выполните соединение таблиц по столбцу "id".

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

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());
    }
}
Редактировать и запускать код