แปลงข้อมูลด้วย Apache Spark และคิวรีด้วย SQL
ในคู่มือนี้ คุณจะ:
อัปโหลดข้อมูลไปยัง OneLake ด้วยตัวสํารวจไฟล์ OneLake
ใช้สมุดบันทึก Fabric เพื่ออ่านข้อมูลบน OneLake และเขียนกลับเป็นตาราง Delta
วิเคราะห์และแปลงข้อมูลด้วย Spark โดยใช้สมุดบันทึก Fabric
คิวรีหนึ่งสําเนาของข้อมูลบน OneLake ด้วย SQL
ข้อกำหนดเบื้องต้น
ก่อนที่คุณจะเริ่มต้น คุณต้อง:
ดาวน์โหลดและติดตั้ง OneLake file explorer
สร้างพื้นที่ทํางานด้วยรายการเลคเฮ้าส์
ดาวน์โหลดชุดข้อมูล WideWorldImportersDW คุณสามารถใช้ Azure Storage Explorer เพื่อ
https://fabrictutorialdata.blob.core.windows.net/sampledata/WideWorldImportersDW/csv/full/dimension_city
เชื่อมต่อและดาวน์โหลดชุดไฟล์ csv ได้ หรือคุณสามารถใช้ข้อมูล csv ของคุณเองและอัปเดตรายละเอียดตามที่จําเป็น
หมายเหตุ
สร้าง โหลด หรือสร้างทางลัดไปยังข้อมูล Delta-Parquet โดยตรง ภายใต้ ส่วน ตาราง ของเลคเฮ้าส์ อย่าซ้อนตารางของคุณในโฟลเดอร์ย่อยภายใต้ ส่วน ตาราง เนื่องจาก lakehouse จะไม่จดจําตารางเป็นตาราง และจะติดป้ายชื่อว่า ไม่ระบุ
อัปโหลด อ่าน วิเคราะห์ และคิวรีข้อมูล
ในตัวสํารวจไฟล์ OneLake ให้นําทางไปยัง lakehouse ของคุณและภายใต้
/Files
ไดเรกทอรี สร้างไดเรกทอรีย่อยที่dimension_city
ชื่อคัดลอกไฟล์ csv ตัวอย่างของคุณไปยังไดเรกทอรี
/Files/dimension_city
OneLake โดยใช้ตัวสํารวจไฟล์ OneLakeนําทางไปยังเลคเฮ้าส์ของคุณในบริการของ Power BI และดูไฟล์ของคุณ
เลือก เปิดสมุดบันทึก แล้วเลือก สมุดบันทึก ใหม่ เพื่อสร้างสมุดบันทึก
ใช้โน้ตบุ๊ค Fabric แปลงไฟล์ CSV เป็นรูปแบบ Delta ส่วนย่อยของโค้ดต่อไปนี้จะอ่านข้อมูลจากไดเรกทอรี
/Files/dimension_city
ที่ผู้ใช้สร้างขึ้นและแปลงเป็นตารางdim_city
Deltaimport os from pyspark.sql.types import * for filename in os.listdir("/lakehouse/default/Files/<replace with your folder path>"): df=spark.read.format('csv').options(header="true",inferSchema="true").load("abfss://<replace with workspace name>@onelake.dfs.fabric.microsoft.com/<replace with item name>.Lakehouse/Files/<folder name>/"+filename,on_bad_lines="skip") df.write.mode("overwrite").format("delta").save("Tables/<name of delta table>")
หากต้องการดูตารางใหม่ของคุณ ให้รีเฟรชมุมมองของ
/Tables
ไดเรกทอรีคิวรีตารางของคุณด้วย SparkSQL ในสมุดบันทึก Fabric เดียวกัน
%%sql SELECT * from <replace with item name>.dim_city LIMIT 10;
ปรับเปลี่ยนตาราง Delta โดยการเพิ่มคอลัมน์ใหม่ที่ ชื่อ newColumn ด้วยจํานวนเต็มของชนิดข้อมูล ตั้งค่า 9 สําหรับเรกคอร์ดทั้งหมดสําหรับคอลัมน์ที่เพิ่งเพิ่มใหม่นี้
%%sql ALTER TABLE <replace with item name>.dim_city ADD COLUMN newColumn int; UPDATE <replace with item name>.dim_city SET newColumn = 9; SELECT City,newColumn FROM <replace with item name>.dim_city LIMIT 10;
คุณยังสามารถเข้าถึงตาราง Delta ใดก็ได้บน OneLake ผ่านจุดสิ้นสุดการวิเคราะห์ SQL จุดสิ้นสุดการวิเคราะห์ SQL อ้างอิงสําเนาเดียวกันของตาราง Delta บน OneLake และนําเสนอประสบการณ์ T-SQL เลือกจุดสิ้นสุดการวิเคราะห์ SQL สําหรับ lakehouse1 จากนั้นเลือก คิวรี SQL ใหม่ เพื่อคิวรีตารางโดยใช้ T-SQL
SELECT TOP (100) * FROM [<replace with item name>].[dbo].[dim_city];