หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
บทช่วยสอนนี้จะนําเข้าข้อมูลลงในทะเลสาบ Fabric ในรูปแบบ delta lake เรากําหนดคําศัพท์ที่สําคัญบางคําที่นี่:
เลคเฮ้าส์ - เลคเฮ้าส์ เป็นคอลเลกชันของไฟล์ โฟลเดอร์ และ/หรือตารางที่แสดงฐานข้อมูลผ่าน data lake โปรแกรม Spark และกลไก SQL ใช้ทรัพยากรของเลคเฮ้าส์สําหรับการประมวลผลข้อมูลขนาดใหญ่ เมื่อคุณใช้ตารางที่จัดรูปแบบ Delta แบบโอเพนซอร์ส การประมวลผลนั้นจะรวมความสามารถในการทําธุรกรรมของ ACID ที่ปรับปรุงประสิทธิภาพแล้ว
Delta Lake - Delta Lake เป็นเลเยอร์ที่เก็บข้อมูลแบบโอเพนซอร์สที่นําธุรกรรม ACID การจัดการเมตาดาต้าที่ปรับขนาดได้ และการประมวลผลชุดงานและการสตรีมข้อมูลไปยัง Apache Spark ในฐานะรูปแบบตารางข้อมูล Delta Lake ขยายไฟล์ข้อมูล Parquet ด้วยบันทึกธุรกรรมตามไฟล์สําหรับการทําธุรกรรม ACID และการจัดการเมตาดาต้าที่ปรับขนาดได้
Azure Open Datasets ได้รับการรวบรวมชุดข้อมูลสาธารณะที่เพิ่มคุณลักษณะเฉพาะของสถานการณ์ไปยังโซลูชันการเรียนรู้ของเครื่อง ซึ่งทําให้แบบจําลองมีความแม่นยํามากขึ้น เปิดชุดข้อมูลคือแหล่งข้อมูลบนระบบคลาวด์ที่อยู่ใน Microsoft Azure Storage Apache Spark, REST API, Data Factory และเครื่องมืออื่น ๆ สามารถเข้าถึงชุดข้อมูลที่เปิดอยู่
ในบทช่วยสอนนี้ คุณจะใช้ Apache Spark เพื่อ:
- อ่านข้อมูลจากคอนเทนเนอร์ Azure Open Datasets
- เขียนข้อมูลลงในตาราง Delta ของ Fabric lakehouse
ข้อกําหนดเบื้องต้น
รับการสมัครใช้งาน Microsoft Fabric หรือลงทะเบียนเพื่อ ทดลองใช้งาน Microsoft Fabric ฟรี
ลงชื่อเข้าใช้ Microsoft Fabric
ใช้ตัวสลับประสบการณ์การใช้งานที่ด้านล่างซ้ายของหน้าหลักของคุณเพื่อเปลี่ยนเป็น Fabric
- เพิ่มเลคเฮาส์ ลงในสมุดบันทึกนี้ ในบทช่วยสอนนี้ คุณดาวน์โหลดข้อมูลจาก blob สาธารณะก่อน จากนั้น ข้อมูลจะถูกเก็บไว้ในทรัพยากรของ lakehouse นั้น
ติดตามในสมุดบันทึก
สมุดบันทึก 1-ingest-data.ipynb มาพร้อมกับบทช่วยสอนนี้
เมื่อต้องการเปิดสมุดบันทึกที่มาพร้อมกับบทช่วยสอนนี้ ให้ทําตามคําแนะนําใน เตรียมระบบของคุณสําหรับบทช่วยสอนวิทยาศาสตร์ข้อมูล เพื่อนําเข้าสมุดบันทึกไปยังพื้นที่ทํางานของคุณ
ถ้าคุณต้องการคัดลอกและวางรหัสจากหน้านี้แทน คุณสามารถสร้าง สมุดบันทึกใหม่ได้
ตรวจสอบให้แน่ใจว่าแนบ lakehouse เข้ากับสมุดบันทึก ก่อนที่คุณจะเริ่มเรียกใช้รหัส
ข้อมูลการเลิกใช้บริการของธนาคาร
ชุดข้อมูลประกอบด้วยข้อมูลสถานะการเลิกใช้บริการสําหรับลูกค้า 10,000 ราย นอกจากนี้ยังมีแอตทริบิวต์ที่อาจมีผลต่อการเลิกใช้บริการ - ตัวอย่างเช่น:
- คะแนนเครดิต
- ตําแหน่งที่ตั้งทางภูมิศาสตร์ (เยอรมนี ฝรั่งเศส สเปน)
- เพศ (ชาย, หญิง)
- อายุ
- ระยะเวลาการครอบครอง (จํานวนปีที่ลูกค้าเป็นลูกค้าที่ธนาคารนั้น)
- ยอดคงเหลือบัญชี
- เงินเดือนโดยประมาณ
- จํานวนผลิตภัณฑ์ที่ลูกค้าซื้อผ่านธนาคาร
- สถานะบัตรเครดิต (ลูกค้ามีบัตรเครดิตหรือไม่ก็ตาม)
- สถานะสมาชิกที่ใช้งานอยู่ (ไม่ว่าลูกค้ามีสถานะลูกค้าของธนาคารที่ใช้งานอยู่หรือไม่)
ชุดข้อมูลยังรวมถึงคอลัมน์เหล่านี้:
- หมายเลขแถว
- ID ลูกค้า
- นามสกุลของลูกค้า
คอลัมน์เหล่านี้ไม่ควรมีอิทธิพลต่อการตัดสินใจของลูกค้าที่จะออกจากธนาคาร
การปิดบัญชีธนาคารของลูกค้าจะกําหนดการเลิกใช้บริการของลูกค้านั้น คอลัมน์ชุดข้อมูล exited
อ้างอิงถึงการละทิ้งลูกค้า บริบทเล็ก ๆ น้อย ๆ เกี่ยวกับแอตทริบิวต์เหล่านี้พร้อมใช้งาน ดังนั้นคุณต้องดําเนินการต่อโดยไม่มีข้อมูลพื้นหลังเกี่ยวกับชุดข้อมูล เป้าหมายของเราคือการทําความเข้าใจว่าแอตทริบิวต์เหล่านี้มีส่วนร่วมใน exited
สถานะอย่างไร
แถวชุดข้อมูลตัวอย่าง:
"CustomerID" | "นามสกุล" | "CreditScore" | "ภูมิศาสตร์" | "เพศ" | "อายุ" | "ระยะเวลาการครอบครอง" | "ยอดคงเหลือ" | "NumOfProducts" | "HasCrCard" | "IsActiveMember" | "ประมาณการเงินเดือน" | "ออกแล้ว" |
---|---|---|---|---|---|---|---|---|---|---|---|---|
15634602 | ฮาร์กราฟ | 619 | ฝรั่งเศส | หญิง | 42 | 2 | 0.00 | 1 | 1 | 1 | 101348.88 | 1 |
15647311 | ภูเขา | 608 | สเปน | หญิง | 41 | 1 | 83807.86 | 1 | 0 | 1 | 112542.58 | 0 |
ดาวน์โหลดชุดข้อมูลและอัปโหลดไปยัง lakehouse
ปลาย
เมื่อคุณกําหนดพารามิเตอร์ต่อไปนี้ คุณสามารถใช้สมุดบันทึกนี้กับชุดข้อมูลที่แตกต่างกันได้อย่างง่ายดาย:
IS_CUSTOM_DATA = False # if TRUE, dataset has to be uploaded manually
DATA_ROOT = "/lakehouse/default"
DATA_FOLDER = "Files/churn" # folder with data files
DATA_FILE = "churn.csv" # data file name
ส่วนย่อยของโค้ดต่อไปนี้จะดาวน์โหลดชุดข้อมูลเวอร์ชันที่พร้อมใช้งานแบบสาธารณะ แล้วจัดเก็บทรัพยากรนั้นใน Fabric lakehouse:
สําคัญ
ตรวจสอบให้แน่ใจว่าคุณ ได้เพิ่มเลคเฮาส์ ลงในสมุดบันทึกก่อนที่คุณจะเรียกใช้ ความล้มเหลวในการดําเนินการดังกล่าวจะส่งผลให้เกิดข้อผิดพลาด
import os, requests
if not IS_CUSTOM_DATA:
# Download demo data files into lakehouse if not exist
remote_url = "https://synapseaisolutionsa.z13.web.core.windows.net/data/bankcustomerchurn"
file_list = [DATA_FILE]
download_path = f"{DATA_ROOT}/{DATA_FOLDER}/raw"
if not os.path.exists("/lakehouse/default"):
raise FileNotFoundError(
"Default lakehouse not found, please add a lakehouse and restart the session."
)
os.makedirs(download_path, exist_ok=True)
for fname in file_list:
if not os.path.exists(f"{download_path}/{fname}"):
r = requests.get(f"{remote_url}/{fname}", timeout=30)
with open(f"{download_path}/{fname}", "wb") as f:
f.write(r.content)
print("Downloaded demo data files into lakehouse.")
เนื้อหาที่เกี่ยวข้อง
คุณใช้ข้อมูลที่คุณเพิ่งนําเข้า: