หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
นําไปใช้กับ:✅ Warehouse ใน Microsoft Fabric
ภาษา Transact-SQL มีตัวเลือกที่คุณสามารถใช้เพื่อโหลดข้อมูลจากตารางที่มีอยู่ในเลคเฮ้าส์และคลังสินค้าของคุณลงในตารางใหม่ในคลังสินค้าของคุณ ตัวเลือกเหล่านี้จะสะดวกถ้าคุณต้องการสร้างตารางเวอร์ชันใหม่ที่มีข้อมูลรวม เวอร์ชันของตารางที่มีชุดย่อยของแถว หรือเพื่อสร้างตารางอันเป็นผลมาจากคิวรีที่ซับซ้อน เรามาสํารวจตัวอย่างกัน
เลือกคําสั่งการนําเข้า T-SQL
ภาษา T-SQL มีชุดคําสั่งที่หลากหลายซึ่งคุณสามารถใช้ในการนําเข้าและแปลงข้อมูลในคลังข้อมูลของคุณ คุณสามารถโหลดข้อมูลลงในตารางใหม่หรือที่มีอยู่ เพิ่มแถวใหม่ แปลงข้อมูลระหว่างการนําเข้า หรือซิงโครไนซ์การเปลี่ยนแปลงกับข้อมูลที่มีอยู่ Warehouse ใน Microsoft Fabric รองรับคําสั่ง ingestion ของ T-SQL ดังต่อไปนี้:
-
CREATE TABLE AS SELECTคําสั่ง CTAS ที่ช่วยให้คุณสามารถสร้างตารางใหม่ในคลังสินค้าของคุณจากผลลัพธ์ของSELECTใบแจ้งยอด -
SELECT INTOส่วนคําสั่งคิวรีที่ช่วยให้คุณสามารถเลือกผลลัพธ์จากแหล่งข้อมูลตารางใด ๆ และเปลี่ยนเส้นทางผลลัพธ์ไปยังตารางใหม่ นี่คือคุณลักษณะมาตรฐานในภาษา T-SQL -
INSERT ... SELECTเพิ่มผลลัพธ์การค้นหาไปยังตารางปลายทาง ใช้คําสั่งนี้เมื่อคุณต้องการโหลดชุดงานใหม่หรือชุดย่อยแบบเพิ่มเข้าไปในตารางที่คุณควบคุมสคีมา -
MERGEเปรียบเทียบแถวต้นทางและปลายทาง และแทรก อัปเดต หรือลบแถวปลายทางแบบมีเงื่อนไข ใช้คําสั่งนี้เมื่อคุณต้องการซิงโครไนซ์แถวใหม่และแถวที่เปลี่ยนแปลง หรือปรับสมดุลปลายทางกับสแนปช็อตต้นทางที่สมบูรณ์
เลือกคําสั่งตามว่าตารางปลายทางมีอยู่แล้วหรือไม่ และคุณต้องการสร้าง เพิ่ม หรือซิงโครไนซ์ข้อมูล แหล่งที่มาของแต่ละคําสั่งคือคําสั่ง T-SQL คุณสามารถใช้นิพจน์ ฟังก์ชัน ตัวกรอง การเชื่อมโยง และการรวมข้อมูลที่รองรับเพื่อกําหนดรูปร่างข้อมูลในระหว่างการนําเข้า คุณสามารถใช้แหล่งข้อมูลต่อไปนี้เพื่ออ่านข้อมูลในคําสั่ง T-SQL ของคุณ:
- การอ่านตารางคลังสินค้า เช่น ตารางการจัดเตรียม
- การอ่านโฟลเดอร์ของ Lakehouse Delta Lake โดยใช้ตารางที่สร้างขึ้นโดยอัตโนมัติในจุดสิ้นสุดการวิเคราะห์ SQL สําหรับ Lakehouse
- การอ่านไฟล์ CSV, Parquet หรือ JSONL โดยตรงจาก Azure Data Lake หรือที่เก็บข้อมูล Azure Blob โดยใช้
OPENROWSETฟังก์ชัน
ใช้ CTAS เพื่อสร้างตาราง
CTAS สร้างตารางปลายทางและโหลดผลลัพธ์การค้นหาในการดําเนินการครั้งเดียว
ตัวอย่างแรกแสดงวิธีสร้างตารางใหม่ที่เป็นสําเนาของตารางที่มีอยู่ dbo.TaxiTrips แต่ถูกกรองให้รวมเฉพาะข้อมูลจากปี 2023:
CREATE TABLE dbo.TaxiTrips_2023
AS
SELECT *
FROM dbo.TaxiTrips
WHERE DATEPART(YEAR, tpep_pickup_datetime) = '2023';
ใช้ CTAS เพื่อสร้างและเติมข้อมูลตารางใหม่จากผลลัพธ์การค้นหา เมธอดนี้มีประโยชน์เมื่อไม่มีตารางปลายทาง หรือเมื่อคุณต้องการสร้างข้อมูลที่แปลงหรือรวมจากแหล่งข้อมูลหนึ่งหรือมากกว่า
ใช้ SELECT INTO เพื่อสร้างตาราง
SELECT ... INTO สร้างตารางปลายทางจากผลลัพธ์การค้นหาด้วย:
SELECT *
INTO dbo.TaxiTrips_2023
FROM MyLakehouse.dbo.TaxiTrips
WHERE DATEPART(YEAR, tpep_pickup_datetime) = '2023';
ทั้ง CTAS และ SELECT ... INTO อนุมานคอลัมน์ปลายทางจากผลลัพธ์การค้นหา cast expressions อย่างชัดเจนเมื่อปลายทางต้องการชนิดข้อมูล ความแม่นยํา หรือความยาวเฉพาะ
ใช้ INSERT ...SELECT เพื่อเพิ่มข้อมูล
INSERT ... SELECT โหลดผลลัพธ์การค้นหาไปยังตารางที่มีอยู่
คุณสามารถเพิ่มข้อมูลลงในตารางโดยการแปลงข้อมูลจากไฟล์ Parquet ที่เผยแพร่สาธารณะภายนอก:
INSERT INTO dbo.<table name>
SELECT *
FROM OPENROWSET(BULK 'https://<storage account>.blob.core.windows.net/public/<subfolder>/<file name>.parquet') AS data;
ใช้ MERGE เพื่อซิงโครไนซ์ข้อมูล
MERGE จับคู่แถวต้นทางและปลายทางด้วยคีย์ที่เสถียร รูปแบบต่อไปนี้สมมติว่า dbo.DimCustomer มีอยู่แล้วกับคอลัมน์ที่ใช้โดยคําสั่ง ตรวจสอบให้แน่ใจว่าแหล่งที่มาส่งคืนไม่เกินหนึ่งแถวสําหรับแต่ละคีย์ปลายทาง
MERGE dbo.DimCustomer AS target
USING staging.Customers AS source
ON target.CustomerID = source.CustomerID
WHEN MATCHED AND source.ModifiedDate > target.ModifiedDate THEN
UPDATE SET CustomerName = source.CustomerName, City = source.City,
ModifiedDate = source.ModifiedDate
WHEN NOT MATCHED BY TARGET THEN
INSERT (CustomerID, CustomerName, City, ModifiedDate)
VALUES (source.CustomerID, source.CustomerName, source.City, source.ModifiedDate);
ใช้ WHEN NOT MATCHED BY SOURCE THEN DELETE เฉพาะเมื่อคําสั่งค้นหาต้นทางแสดงชุดข้อมูลที่เชื่อถือได้ทั้งหมดสําหรับแถวในขอบเขต อย่าใช้คําสั่งนั้นกับชุดข้อมูลต้นทางแบบเพิ่มทีละน้อย เพราะแถวปลายทางที่หายไปจากชุดข้อมูลอาจถูกลบได้
เลือกแหล่งข้อมูล
คําสั่งนําเข้าทํางานอย่างสม่ําเสมอในทุกประเภทต้นทางที่รองรับ มีเพียงการอ้างอิงต้นทางเท่านั้นที่เปลี่ยนแปลง
ไฟล์ในทะเลสาบ
ใช้OPENROWSETสําหรับอ่านไฟล์ Parquet, CSV หรือ JSONL ใน OneLake, Azure Data Lake Storage หรือ Azure Blob Storage คุณสามารถกําหนดเป้าหมายไฟล์เดียว หลายไฟล์ที่มีสัญลักษณ์แทน หรือโฟลเดอร์ที่แบ่งพาร์ติชัน
สําหรับเส้นทางไฟล์ การอนุมานสคีมา การกรองพาร์ติชัน ฟังก์ชันเมตาดาต้า และตัวอย่างของคําสั่งการนําเข้าทั้งสี่ ดูที่ การนําเข้าและแปลงข้อมูลทะเลสาบด้วย OPENROWSET และ T-SQL
โต๊ะเดลต้าในบ้านริมทะเลสาบ
จุดสิ้นสุดการวิเคราะห์ SQL ของบ้านพักทะเลสาบจะแสดงตาราง Delta ในพื้นที่ของมัน/Tables จากคลังสินค้าในพื้นที่ทํางานเดียวกัน ให้อ้างอิงตารางโดยใช้ชื่อ <lakehouse>.<schema>.<table>สามส่วน
ไม่ได้จํากัดแค่โต๊ะเดลต้าที่เก็บไว้ในบ้านพักริมทะเลสาบเท่านั้น ตารางที่เปิดเผยผ่านทางลัด OneLake ในพื้นที่นั้น /Tables ยังสามารถอ้างอิงข้อมูลที่เก็บไว้ที่อื่น เช่น บริเวณบ้าน /Files พักริมทะเลสาบ การจัดเก็บข้อมูลภายนอก เช่น ADLS หรือ Amazon S3 ข้อมูลที่สะท้อน และข้อมูล OneLake ในพื้นที่ทํางานอื่น ๆ
ด้วยสถาปัตยกรรมนี้ คุณสามารถสืบค้นข้อมูลที่ถูกลัดคัตผ่าน Lakehouse SQL Analytics โดยไม่ต้องคัดลอกข้อมูลเข้าไปใน Lakehouse
สําหรับการสร้างตาราง การเพิ่มโหลด และตัวอย่างการซิงโครไนซ์ ดูที่ การนําเข้าตาราง Delta Lake ด้วย T-SQL
ตารางในคลังสินค้าปัจจุบัน
ใช้ชื่อสองส่วน เช่น <schema>.<table> เพื่อนําเข้าข้อมูลจากตารางในคลังสินค้าปัจจุบัน
สําหรับตัวอย่าง Bronze-to-Silver-to-Gold ที่รวม รวม และโหลดตารางแบบเพิ่มทีละน้อยภายในคลังเดียวกัน ดูที่ Ingest from warehouse tables and mirrored databases with T-SQL
ฐานข้อมูลที่สะท้อนและรายการพื้นที่ทํางานอื่น ๆ
หากต้องการนําเข้าข้อมูลจากฐานข้อมูลมิเรอร์ คลังสินค้าอื่น หรือรายการที่รองรับในพื้นที่ทํางานเดียวกัน ให้เพิ่มรายการนั้นใน Explorer และใช้ชื่อ <item>.<schema>.<table>สามส่วน
เมื่อต้องการเรียนรู้เพิ่มเติมเกี่ยวกับคิวรีข้ามคลังสินค้า ดู ที่ เขียนคิวรี SQL แบบข้ามฐานข้อมูล
สําหรับตัวอย่างการใช้รูปแบบการตั้งชื่อทั้งสองแบบ ดูที่ Ingest from warehouse tables and mirrored databases with T-SQL
ตรวจสอบและตรวจสอบการนําเข้า T-SQL
CTAS, SELECT ... INTO, , INSERT ... SELECTและMERGEการดําเนินการจะปรากฏในประวัติ/กิจกรรมการสืบค้นคลังสินค้า ใช้ ข้อมูลเชิงลึกจากการค้นหา เพื่อตรวจสอบรายละเอียดการรันและแก้ไขปัญหาการค้นหาการนําเข้า
ตัวเลือกการนําเข้าข้อมูล
ใช้การนําเข้า T-SQL เมื่อโหลดประกอบด้วยการกรอง การแปลงชนิดข้อมูล การรวม การคํานวณ การรวม หรือการซิงโครไนซ์ เลือกตัวเลือกอื่นเมื่อ: วิธีอื่น ๆ ในการนําเข้าข้อมูลเข้าสู่คลังสินค้าของคุณ ได้แก่: