การรวมข้อมูลที่ซ้อนกัน
ทีม HR เก็บข้อมูลพนักงานไว้ในไฟล์ JSON แยกกัน 2 ไฟล์ ได้แก่ ไฟล์ที่เก็บข้อมูลพื้นฐาน และไฟล์ที่เก็บข้อมูลเพิ่มเติม หากต้องการสร้างโปรไฟล์พนักงานที่สมบูรณ์ จะต้อง join ตารางทั้งสองเข้าด้วยกันโดยใช้ตัวระบุร่วม
Inner join คือการรวมแถวจากสองตารางที่มีค่าคอลัมน์ที่ใช้ join ตรงกัน คล้ายกับการเทียบรายชื่อจากสองรายการแล้วเอาเฉพาะที่ตรงกัน คลาส JsonReader, JsonReadOptions และ Table ถูก import ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การนำเข้าข้อมูลใน Java
คำแนะนำการฝึกหัด
- กำหนดชื่อตารางสำหรับไฟล์ JSON ไฟล์แรก
- เติม builder chain ให้ครบสำหรับไฟล์ที่สอง
- Join ตารางทั้งสองบนคอลัมน์
"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());
}
}