แชร์ผ่าน


แปลงข้อมูลด้วย 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 จะไม่จดจําตารางเป็นตาราง และจะติดป้ายชื่อว่า ไม่ระบุ

อัปโหลด อ่าน วิเคราะห์ และคิวรีข้อมูล

  1. ในตัวสํารวจไฟล์ OneLake ให้นําทางไปยัง lakehouse ของคุณและภายใต้ /Files ไดเรกทอรี สร้างไดเรกทอรีย่อยที่ dimension_cityชื่อ

    สกรีนช็อตของโฟลเดอร์ใหม่ที่สร้างขึ้นในตัวสํารวจไฟล์ OneLake

  2. คัดลอกไฟล์ csv ตัวอย่างของคุณไปยังไดเรกทอรี /Files/dimension_city OneLake โดยใช้ตัวสํารวจไฟล์ OneLake

    สกรีนช็อตของการคัดลอกไฟล์ไปยัง OneLake ในตัวสํารวจไฟล์

  3. นําทางไปยังเลคเฮ้าส์ของคุณในบริการของ Power BI และดูไฟล์ของคุณ

    สกรีนช็อตของการดูไฟล์ใน lakehouse ใน Fabric

  4. เลือก เปิดสมุดบันทึก แล้วเลือก สมุดบันทึก ใหม่ เพื่อสร้างสมุดบันทึก

    สกรีนช็อตของการสร้างสมุดบันทึกใหม่ใน Fabric

  5. ใช้โน้ตบุ๊ค Fabric แปลงไฟล์ CSV เป็นรูปแบบ Delta ส่วนย่อยของโค้ดต่อไปนี้จะอ่านข้อมูลจากไดเรกทอรี /Files/dimension_city ที่ผู้ใช้สร้างขึ้นและแปลงเป็นตาราง dim_cityDelta

    import 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>")
    
  6. หากต้องการดูตารางใหม่ของคุณ ให้รีเฟรชมุมมองของ /Tables ไดเรกทอรี

    สกรีนช็อตของตารางการดูในเลคเฮ้าส์ใน Fabric

  7. คิวรีตารางของคุณด้วย SparkSQL ในสมุดบันทึก Fabric เดียวกัน

    %%sql
    SELECT * from <replace with item name>.dim_city LIMIT 10;
    
  8. ปรับเปลี่ยนตาราง 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;
    
  9. คุณยังสามารถเข้าถึงตาราง Delta ใดก็ได้บน OneLake ผ่านจุดสิ้นสุดการวิเคราะห์ SQL จุดสิ้นสุดการวิเคราะห์ SQL อ้างอิงสําเนาเดียวกันของตาราง Delta บน OneLake และนําเสนอประสบการณ์ T-SQL เลือกจุดสิ้นสุดการวิเคราะห์ SQL สําหรับ lakehouse1 จากนั้นเลือก คิวรี SQL ใหม่ เพื่อคิวรีตารางโดยใช้ T-SQL

    SELECT TOP (100) * FROM [<replace with item name>].[dbo].[dim_city];