Объединение вложенных данных
Команда 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());
}
}