Azure Synapse Analytics มีเครื่องมือหนึ่งที่ชื่อ External Table ที่เหมาะสำหรับคนที่ชอบใช้ SQL จัดการข้อมูลที่มาจากหลากหลายรูปแบบ
โดยสิ่งที่ควรรู้เกี่ยวกับ External table มีดังนี้
- ตอนสร้าง External Table ข้อมูลจริงจะไม่ได้ถูกโอนมาเก็บไว้ใน Database
- แต่โครงสร้างของข้อมูลจะถูกสร้างขึ้นเป็น Table ไว้เฉยๆ เหมือนเราแจกนามบัตร หรือ contact info ให้ลูกค้า เวลาลูกค้าจะติดต่อก็ใช้ข้อมูลติดต่อตัวจริงของเราได้ทันที
- ข้อมูลต้นทางจะอยู่ใน Azure Blob Storage หรือ Azure Data Lake Storage
- การทำแบบนี้จะทำให้เราใช้ SQL กับแหล่งข้อมูลในการ Query ได้
- และเนื่องจากข้อมูลไม่ได้อยู่ใน Database ทำให้เราไม่สามารถใช้ SQL อัพเดตแก้ไขข้อมูลโดยตรงได้
การใช้ SQL กับ External table เบื้องต้น
เราสามารถใช้ SQL ด้านล่างในการขอดู External Table ทั้งหมดที่อยู่ใน Workspace ได้
SELECT * FROM sys.external_tables;
หรือถ้าต้องการดู Data source ที่ผูกกับ External Table ก็สามารถใช้คำสั่ง SQL ด้านล่างนี้ได้
SELECT * FROM sys.external_data_sources;
ข้อดีของ External Table
- ทำให้เราสามารถ query ข้อมูลภายนอก Database ด้วยภาษา SQL ได้สะดวก
- สามารถใช้กับไฟล์ได้หลายรูปแบบ เช่น CSV, JSON, Parquet โดยที่ไม่ต้อง transform ข้อมูลให้กลายเป็น format ใหม่
- สามารถใช้กับ Data source อย่าง Azure Blob Storage หรือ Azure Data Lake Storage ได้
- ไม่ต้องโหลดข้อมูลเข้ามาเก็บไว้ใน Database