Extract metadata using Azure Synapse SQL Serverless pools

sp_describe_first_result_set ของ system stored procedure เป็นเครื่องมือที่มีประสิทธิภาพใน SQL serveless pools มีหน้าที่ส่งคืนข้อมูล metadata ของชุดผลลัพธ์การ query  สามารถใช้เพื่อดึงข้อมูลเกี่ยวกับคอลัมน์ ชนิดข้อมูล และข้อมูลเมตาอื่นๆ ของ query ก่อนที่จะดำเนินการ query ซึ่งจะประโยชน์อย่างยิ่งเมื่อทำงานร่วมกับ Data Lake ขนาดใหญ่ที่อาจไม่ทราบถึงโครงสร้างของข้อมูลมาก่อน

ต่อไปนี้คือตัวอย่างวิธีใช้ sp_describe_first_result_set stored procedure เพื่อดึง metadata ของไฟล์ที่จัดเก็บไว้ใน Data Lake:

?

12345678910EXECsp_describe_first_result_set N'SELECT *FROM     OPENROWSET(        BULK ''datalake/*.csv'',        DATA_SOURCE = ''storage',        FORMAT = ''CSV'',         PARSER_VERSION = ''2.0'',         HEADER_ROW = TRUE    ASr'

ซึ่งจะส่งคืนชุดผลลัพธ์ดังต่อไปนี้:

?

123456789ColumnName| Type Name| MaxLength | Precision| Scale | Nullable--------------------------------------------------------------CustomerID  | int| 4         | 10       | 0     | NoName| nvarchar  | 50        |          |       | NoAddress     | nvarchar  | 100       |          |       | NoCity        | nvarchar  | 50        |          |       | NoState       | nvarchar  | 50        |          |       | NoZip         | nvarchar  | 10        |          |       | NoPhoneNumber | nvarchar  | 20        |          |       | No

โปรดทราบว่านี่เป็นเพียงตัวอย่างง่ายๆ ที่มีชุดย่อยของข้อมูลที่มีอยู่จาก 4 metadata จริงที่จะส่งคืนจะขึ้นอยู่กับโครงสร้างของข้อมูลที่จัดเก็บไว้ใน Data Lake อย่างไรก็ตาม sp_describe_first_result_set stored procedure เป็นตัวช่วยที่สะดวกในการเรียกข้อมูลเหล่านี้เพื่อทำความเข้าใจคอลัมน์และชนิดข้อมูลที่ใช้ได้

สามารถดูเอกสารฉบับเต็มได้ที่นี่

Share this article on social media!