หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
สมุดบันทึก Microsoft Fabric รองรับการโต้ตอบแบบไร้รอยต่อกับข้อมูลของ Lakehouse โดยใช้ Pandas ไลบรารี Python ที่ได้รับความนิยมมากที่สุดสําหรับการสํารวจและประมวลผลข้อมูล ภายในสมุดบันทึก คุณสามารถอ่านข้อมูลและเขียนข้อมูลกลับไปยังทรัพยากร Lakehouse ของคุณในรูปแบบไฟล์ต่างๆ ได้อย่างรวดเร็ว คู่มือนี้มีตัวอย่างรหัสเพื่อช่วยให้คุณเริ่มต้นใช้งานในสมุดบันทึกของคุณเอง
ข้อกำหนดเบื้องต้น
รับการสมัครใช้งาน Microsoft Fabric หรือลงทะเบียนเพื่อทดลองใช้งาน Microsoft Fabric ฟรี
ลงชื่อเข้าใช้ Microsoft Fabric
สลับไปยัง Fabric โดยใช้ตัวสลับประสบการณ์ที่ด้านซ้ายล่างของโฮมเพจของคุณ
- ทําตามขั้นตอนใน เตรียมระบบของคุณสําหรับบทช่วยสอนวิทยาศาสตร์ข้อมูล เพื่อสร้างสมุดบันทึกใหม่และแนบ Lakehouse เข้ากับสมุดบันทึก สําหรับบทความนี้ ให้ทําตามขั้นตอนเพื่อสร้างสมุดบันทึกใหม่แทนการนําเข้าสมุดบันทึกที่มีอยู่
ใช้เวิร์กโฟลว์นี้เพื่อเลือกรูปแบบที่เหมาะสม:
- สําหรับไฟล์เดี่ยวใน Lakehouse ให้อ่านหรือเขียนด้วย Pandas โดยใช้เส้นทางใต้
Files. - สําหรับข้อมูลแบบตารางใน Lakehouse ให้ใช้ตาราง Spark และ Delta จากนั้นแปลงเป็น Pandas เมื่อผลลัพธ์พอดีกับหน่วยความจําในสมุดบันทึกของคุณ
- ถ้าข้อมูลมีขนาดใหญ่ ให้เก็บไว้ใน Spark เพื่อการกรอง การรวบรวม และการแปลงก่อนแปลงเป็น Pandas DataFrame
โหลดข้อมูลเลคเฮ้าส์ลงในสมุดบันทึก
หมายเหตุ
คุณต้องการข้อมูลบางอย่างในเลคเฮาส์ของคุณเพื่อทําตามขั้นตอนในส่วนนี้ หากคุณไม่มีข้อมูลใดๆ ให้ทําตามขั้นตอนใน ดาวน์โหลดชุดข้อมูลและอัปโหลดไปยัง lakehouse เพื่อเพิ่มไฟล์ churn.csv ไปยัง Lakehouse ของคุณ
เมื่อคุณแนบ Lakehouse เข้ากับสมุดโน้ต Microsoft Fabric แล้ว คุณสามารถสํารวจข้อมูลที่จัดเก็บได้โดยไม่ต้องออกจากหน้า และคัดลอกเส้นทางไฟล์ที่ต้องการสําหรับโค้ดสมุดบันทึก ใน Lakehouse explorer คุณสามารถใช้ตัวอย่างโน้ตบุ๊กที่สร้างขึ้นเพื่อโหลดไฟล์เข้าสู่ Spark หรือ Pandas DataFrame หรือคัดลอกเส้นทาง ABFS ทั้งหมดของไฟล์ สําหรับ Lakehouse เริ่มต้นที่แนบกับสมุดบันทึก เส้นทางไฟล์ทั่วไปจะมีลักษณะดังนี้/lakehouse/default/Files/... สําหรับบ้านพักริมทะเลสาบอื่น ๆ ให้ใช้เส้นทาง ABFS จาก Lakehouse explorer
การเลือกไฟล์ใน Lakehouse explorer สามารถสร้างโค้ดที่โหลดไฟล์นั้นเข้าสู่ DataFrame ในสมุดบันทึกของคุณ
การแปลง Spark DataFrame เป็น DataFrame ของ Pandas
สำคัญ
toPandas() โหลด Spark DataFrame ทั้งหมดเข้าสู่หน่วยความจําไดรเวอร์โน้ตบุ๊ก ใช้เฉพาะกับชุดผลลัพธ์ขนาดเล็กถึงกลางเท่านั้น หากชุดข้อมูลของคุณมีขนาดใหญ่ ให้กรอง รวม หรือสุ่มตัวอย่างใน Spark ก่อนแปลงเป็น Pandas
สําหรับการอ้างอิง คําสั่งนี้แสดงวิธีการแปลง Spark DataFrame เป็น Pandas DataFrame:
# Replace "spark_df" with the name of your own Spark DataFrame
pandas_df = spark_df.toPandas()
การอ่านและการเขียนรูปแบบไฟล์ต่าง ๆ
หมายเหตุ
การปรับเปลี่ยนเวอร์ชันของแพคเกจเฉพาะอาจทําลายแพคเกจอื่น ๆ ที่ขึ้นอยู่กับแพคเกจนั้นได้ ตัวอย่างเช่น การazure-storage-blobดาวน์เกรดอาจทําให้เกิดปัญหากับ Pandas และไลบรารีอื่นๆ ที่ขึ้นกับ Pandasรวมถึง mssparkutilsfsspec_wrapper, และnotebookutils
คุณสามารถดูรายการของแพคเกจที่ติดตั้งไว้ล่วงหน้าและเวอร์ชันของแต่ละรันไทม์ได้ที่นี่
ตัวอย่างโค้ดเหล่านี้สาธิตการทํางานของ Pandas เพื่ออ่านและเขียนรูปแบบไฟล์ต่างๆ ตัวอย่างเหล่านี้ไม่ได้มีวัตถุประสงค์เพื่อเรียกใช้ตามลําดับเหมือนในบทช่วยสอน แต่เพื่อคัดลอกและวางลงในสมุดบันทึกของคุณเองตามต้องการ
หมายเหตุ
คุณต้องแทนที่เส้นทางไฟล์ในตัวอย่างโค้ดเหล่านี้ด้วยเส้นทางเต็มของไฟล์ใน Lakehouse ของคุณ สําหรับ Lakehouse ที่แนบกับสมุดบันทึกเริ่มต้น ให้ใช้เส้นทางเช่น /lakehouse/default/Files/.... สําหรับบ้านพักริมทะเลสาบอื่น ๆ ให้ใช้เส้นทาง ABFS จาก Lakehouse explorer
อ่านข้อมูลจากไฟล์ CSV
import pandas as pd
# Read a CSV file from your Lakehouse into a Pandas DataFrame
# For the default Lakehouse attached to the notebook, use the following path pattern:
df = pd.read_csv("/lakehouse/default/Files/FILENAME.csv")
# Verify that the file loaded successfully before continuing
print(df.head())
print(df.shape)
display(df)
เขียนข้อมูลเป็นไฟล์ CSV
import pandas as pd
# Write a Pandas DataFrame into a CSV file in your Lakehouse
# Replace FILENAME with your own value
df.to_csv("/lakehouse/default/Files/FILENAME.csv", index=False)
อ่านข้อมูลจากไฟล์ Parquet
import pandas as pd
# Read a Parquet file from your Lakehouse into a Pandas DataFrame
df = pd.read_parquet("/lakehouse/default/Files/FILENAME.parquet")
display(df)
เขียนข้อมูลเป็นไฟล์ Parquet
import pandas as pd
# Write a Pandas DataFrame into a Parquet file in your Lakehouse
df.to_parquet("/lakehouse/default/Files/FILENAME.parquet")
อ่านข้อมูลจากไฟล์ Excel
import pandas as pd
# Read an Excel file from your Lakehouse into a Pandas DataFrame
# If the file is in a subfolder, add the appropriate folder after Files/
df = pd.read_excel("/lakehouse/default/Files/FILENAME.xlsx")
display(df)
เขียนข้อมูลเป็นไฟล์ Excel
import pandas as pd
# Write a Pandas DataFrame into an Excel file in your Lakehouse
df.to_excel("/lakehouse/default/Files/FILENAME.xlsx", index=False)
อ่านข้อมูลจากไฟล์ JSON
import pandas as pd
# Read a JSON file from your Lakehouse into a Pandas DataFrame
df = pd.read_json("/lakehouse/default/Files/FILENAME.json")
display(df)
เขียนข้อมูลเป็นไฟล์ JSON
import pandas as pd
# Write a Pandas DataFrame into a JSON file in your Lakehouse
df.to_json("/lakehouse/default/Files/FILENAME.json")
การทํางานกับตารางเดลต้า
ตารางเดลต้าเป็นรูปแบบตารางเริ่มต้นใน Microsoft Fabric และถูกเก็บไว้ในส่วน ตาราง ของ Lakehouse ของคุณ ไฟล์และตารางเป็นตําแหน่งจัดเก็บที่แตกต่างกันใน Fabric และใช้รูปแบบการเข้าถึงที่แตกต่างกัน ในการทํางานกับตาราง Delta ใน Pandas ให้อ่านตารางเป็น Spark DataFrame ก่อน จากนั้นแปลงผลลัพธ์ที่กรองเป็น pandas DataFrame เฉพาะเมื่อมันอยู่ในหน่วยความจําของไดรเวอร์เท่านั้น
สร้างตารางเดลต้าทดสอบ
หากต้องการทําตามขั้นตอนในส่วนนี้ คุณต้องมีตารางเดลต้าในเลคเฮาส์ของคุณ ทําตามขั้นตอนใน ดาวน์โหลดชุดข้อมูลและอัปโหลดไปยัง lakehouse เพื่อเพิ่มไฟล์ churn.csv ไปยัง Lakehouse ของคุณ จากนั้นสร้างตารางทดสอบจากไฟล์ churn.csv โดยเรียกใช้โค้ดนี้ในสมุดบันทึกของคุณ:
import pandas as pd
# Create a test Delta table from the churn.csv file
df = pd.read_csv("/lakehouse/default/Files/churn/raw/churn.csv")
spark_df = spark.createDataFrame(df)
spark_df.write.format("delta").mode("overwrite").saveAsTable("churn_table")
ขั้นตอนนี้จะสร้างตาราง Delta ชื่อ churn_table ที่คุณสามารถใช้ทดสอบตัวอย่างต่อไปนี้
อ่านข้อมูลจากตารางเดลต้า
# Read a Delta table from your Lakehouse into a pandas DataFrame
# This example uses the churn_table created above
spark_df = spark.read.table("churn_table")
pandas_df = spark_df.toPandas()
display(pandas_df)
คุณยังสามารถอ่านตารางเดลต้าโดยใช้ไวยากรณ์ Spark SQL:
# Alternative method using Spark SQL
spark_df = spark.sql("SELECT * FROM churn_table")
pandas_df = spark_df.toPandas()
display(pandas_df)
เขียน pandas DataFrame ไปยังตารางเดลต้า
# Convert pandas DataFrame to Spark DataFrame, then save as Delta table
# Replace TABLE_NAME with your desired table name
spark_df = spark.createDataFrame(pandas_df)
spark_df.write.format("delta").mode("overwrite").saveAsTable("TABLE_NAME")
คุณยังสามารถบันทึกไปยังเส้นทางเฉพาะในส่วนตาราง:
# Save to a specific path in the Tables section
spark_df = spark.createDataFrame(pandas_df)
spark_df.write.format("delta").mode("overwrite").save("Tables/TABLE_NAME")
โหมดการเขียนสําหรับตารางเดลต้า
เมื่อเขียนไปยังตารางเดลต้า คุณสามารถระบุโหมดต่างๆ ได้ดังนี้
# Overwrite the entire table
spark_df.write.format("delta").mode("overwrite").saveAsTable("TABLE_NAME")
# Append new data to existing table
spark_df.write.format("delta").mode("append").saveAsTable("TABLE_NAME")
หมายเหตุ
ตารางเดลต้าที่สร้างขึ้นในส่วน ตาราง ของ Lakehouse ของคุณสามารถค้นพบได้โดยไม่ต้องลงทะเบียนหรือขั้นตอนการกําหนดค่าเพิ่มเติม และสามารถคิวรีได้โดยใช้ Spark SQL นอกจากนี้ยังปรากฏในอินเทอร์เฟซ Lakehouse explorer (คุณอาจต้องรีเฟรช Lakehouse explorer เพื่อดูการเปลี่ยนแปลงล่าสุด)
เนื้อหาที่เกี่ยวข้อง
- ใช้ Data Wrangler เพื่อ ทําความสะอาดและเตรียมข้อมูลของคุณ
- เริ่มต้น แบบจําลอง ML การฝึกอบรม