หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
ในส่วนนี้ของบทช่วยสอน คุณตั้งค่าข้อมูลตัวอย่างชนิดอื่น: สตรีมข้อมูลแบบเรียลไทม์ของข้อมูลบัสตัวอย่างที่ประกอบด้วยข้อมูลอนุกรมเวลาเกี่ยวกับตําแหน่งที่ตั้งของบัส คุณสตรีมข้อมูลตัวอย่างลงใน eventhouse ทําการแปลงข้อมูลบางอย่างบนข้อมูล จากนั้นสร้างทางลัดเพื่อรับข้อมูลเหตุการณ์ลงในตัวอย่าง data lakehouse ที่คุณสร้างขึ้นในส่วนก่อนหน้า ตัวสร้างคู่ดิจิตอลต้องการข้อมูลในเลคเฮ้าส์
สร้างอีเวนต์เฮ้าส์
เรียกดูพื้นที่ทํางานที่คุณต้องการสร้างทรัพยากรบทช่วยสอนของคุณ คุณต้องสร้างทรัพยากรทั้งหมดในพื้นที่ทํางานเดียวกัน
เลือก + รายการใหม่
ในกล่องค้นหา กรองตามรายการ ให้ใส่ Eventhouse
เลือกรายการ อีเวนต์เฮ้าส์
ป้อน Tutorial เป็นชื่อ Eventhouse แล้วคลิก Create ฐานข้อมูล Eventhouse และ KQL ถูกสร้างขึ้นพร้อมกันด้วยชื่อเดียวกัน
เมื่อการจัดสรรเสร็จสมบูรณ์ ให้คลิกเริ่มต้น ใช้งาน ในหน้าต่างต้อนรับ
หน้า ภาพรวมของระบบ eventhouse จะปรากฏขึ้น
สร้างเหตุการณ์สตรีม
ในส่วนนี้ คุณจะสร้างเหตุการณ์เพื่อส่งข้อมูลการสตรีมบัสตัวอย่างไปยังอีเวนต์เฮาส์
เพิ่มแหล่งข้อมูล
ทําตามขั้นตอนเหล่านี้เพื่อสร้างสตรีมเหตุการณ์และเพิ่มข้อมูลตัวอย่าง บัส เป็นแหล่งข้อมูล
ในหน้าภาพรวมของระบบของบ้านเหตุการณ์ ให้เลือกฐานข้อมูลบทช่วยสอนใหม่จากรายการฐานข้อมูล KQL
จากริบบอนเมนู เลือกรับข้อมูล และเลือกเหตุการณ์สตรีม>ใหม่กระแสข้อมูล
ป้อน BusEventstream เป็นชื่อ แล้วเลือก สร้าง เมื่อสตรีมเหตุการณ์พร้อมแล้ว สตรีมเหตุการณ์จะเปิดขึ้น
เลือกใช้ข้อมูลตัวอย่าง
ในหน้า เพิ่มแหล่งข้อมูล ให้เลือก บัส ภายใต้ ข้อมูลตัวอย่าง ป้อน BusDataSource สําหรับชื่อต้นทาง เลือก เพิ่ม
เมื่อเหตุการณ์กระแสข้อมูลใหม่พร้อมแล้ว จะเปิดในพื้นที่ทํางานการเขียน
แปลงข้อมูล
ในส่วนนี้ คุณเพิ่มการแปลงหนึ่งรายการไปยังข้อมูลตัวอย่างขาเข้า ขั้นตอนนี้แปลงเขตข้อมูล ScheduleTime สตริงและ Timestamp เป็นชนิด DateTime และเปลี่ยนชื่อ Timestamp เป็น ArrivalTime เพื่อความชัดเจน เขตข้อมูล Timestamp ต้องอยู่ในรูปแบบ DateTime สําหรับตัวสร้าง Twin แบบดิจิทัล (ตัวอย่าง) เพื่อใช้เป็นข้อมูลอนุกรมเวลา
ทําตามขั้นตอนเหล่านี้เพื่อเพิ่มการแปลงข้อมูล
เลือกลูกศรลงบน แปลงเหตุการณ์ หรือเพิ่ม ไทล์ปลายทาง จากนั้นเลือก การจัดการเขตข้อมูล การดําเนินการที่กําหนดไว้ล่วงหน้า ไทล์ถูกเปลี่ยนชื่อเป็น ManageFields
เลือกไอคอนแก้ไข (รูปเหมือนดินสอ) บนไทล์ MangeFields ซึ่งเปิดบานหน้าต่างจัดการเขตข้อมูล
เลือกเพิ่มเขตข้อมูลทั้งหมด การดําเนินการนี้ทําให้แน่ใจว่าเขตข้อมูลทั้งหมดจากข้อมูลต้นฉบับแสดงผ่านการแปลงข้อมูล
เคล็ดลับ
หากไม่มีฟิลด์ที่พร้อมใช้งานให้เพิ่ม ให้รอสักครู่เพื่อให้ข้อมูลตัวอย่างเริ่มต้น แล้วลองอีกครั้ง คุณสามารถเลือกโหนดก่อนหน้านี้ในพื้นที่ทํางานเพื่อดูตัวอย่างข้อมูลเพื่อยืนยันว่าข้อมูลตัวอย่างได้มาถึงโหนดเหล่านั้นแล้ว
เลือกเขตข้อมูลประทับเวลา สลับเปลี่ยนชนิดเป็นใช่ สําหรับ ชนิดที่แปลงแล้ว เลือก วันที่เวลา จากรายการดรอปดาวน์ สําหรับ ชื่อ ให้ใส่ชื่อใหม่ของ ActualTime
เลือกฟิลด์ ScheduleTime สลับเปลี่ยนชนิดเป็นใช่ สําหรับ ชนิดที่แปลงแล้ว เลือก วันที่เวลา จากรายการดรอปดาวน์ ปล่อยให้ชื่อเป็น ScheduleTime
เลือก บันทึก เพื่อบันทึกคุณสมบัติที่อัปเดตทั้งสอง
บานหน้าต่าง จัดการเขตข้อมูล จะปิด ไทล์ ManageFields ยังคงแสดงข้อผิดพลาดจนกว่าคุณจะเชื่อมต่อกับปลายทาง
เพิ่มปลายทาง
จากริบบอนเมนู เลือกเพิ่มปลายทาง แล้วเลือกอีเวนต์เฮ้าส์
ใส่ข้อมูลต่อไปนี้ในบานหน้าต่าง เหตุการณ์ :
สนาม ค่า โหมดการนําเข้าข้อมูล การประมวลผลเหตุการณ์ก่อนการนําเข้า ชื่อปลายทาง บทช่วยสอนการสัมมนา พื้นที่ เลือกพื้นที่ทํางานที่คุณได้สร้างทรัพยากรของคุณ อีเวนต์เฮ้าส์ กวด วิชา ฐานข้อมูล KQL กวด วิชา ตารางปลายทางของ KQL สร้างใหม่ - ป้อน bus_data_raw เป็นชื่อตาราง รูปแบบข้อมูลป้อนเข้า Json เปิดใช้งานการนําเข้าหลังจากเพิ่มแหล่งข้อมูล ตรวจสอบแล้ว เลือก บันทึก
ในพื้นที่ทํางานการเขียน เลือกไทล์ ManageFields และลากลูกศรไปยังไทล์ TutorialDestination เพื่อเชื่อมต่อ การดําเนินการนี้แก้ไขข้อความแสดงข้อผิดพลาดทั้งหมดในโฟลว์
จากริบบอนเมนู เลือก เผยแพร่ ขณะนี้เหตุการณ์เริ่มต้นส่งข้อมูลการสตรีมตัวอย่างไปยังอีเวนต์เฮาส์ของคุณ
หลังจากสองสามนาที การ์ด TutorialDestination ในมุมมองเหตุการณ์แสดงข้อมูลตัวอย่างในแท็บ แสดงตัวอย่างข้อมูล คุณอาจต้องรีเฟรชตัวอย่างสองสามครั้งในขณะที่คุณรอให้ข้อมูลมาถึง
ตรวจสอบว่าตารางข้อมูลเปิดใช้งานอยู่ในเหตุการณ์ของคุณหรือไม่ ไปที่ฐานข้อมูล KQL บทช่วยสอน ของคุณและรีเฟรชมุมมอง ในตอนนี้ประกอบด้วยตารางที่เรียกว่า bus_data_raw ที่ประกอบด้วยข้อมูล
แปลงข้อมูลโดยใช้นโยบายการอัปเดต
ตอนนี้ข้อมูลการสตรีมบัสของคุณอยู่ในฐานข้อมูล KQL แล้ว คุณสามารถใช้ฟังก์ชันและ นโยบายการอัปเดต Kusto เพื่อแปลงข้อมูลเพิ่มเติมได้ การแปลงที่คุณดําเนินการในส่วนนี้เตรียมข้อมูลสําหรับใช้ในตัวสร้างฝาแฝดดิจิทัล (ตัวอย่าง) และรวมถึงการดําเนินการต่อไปนี้:
- แบ่งฟิลด์
PropertiesJSON ออกเป็นคอลัมน์แยกต่างหากสําหรับแต่ละรายการBusStatusข้อมูลที่มีอยู่ และTimeToNextStationตัวสร้างฝาแฝดแบบดิจิทัลไม่มีความสามารถในการแยกวิเคราะห์ JSON ดังนั้นคุณต้องแยกค่าเหล่านี้ก่อนที่ข้อมูลจะไปที่ตัวสร้างคู่แบบดิจิทัล - เพิ่มคอลัมน์
StopCodeซึ่งเป็นคีย์เฉพาะที่แสดงถึงป้ายรถเมล์แต่ละป้าย วัตถุประสงค์ของขั้นตอนนี้เป็นเพียงการเสร็จสิ้นชุดข้อมูลตัวอย่างเพื่อสนับสนุนสถานการณ์บทช่วยสอนนี้ อินสแตนซ์เอนทิตีที่รวมกันได้จากแหล่งข้อมูลที่แยกต่างหากต้องมีคอลัมน์ทั่วไปที่ตัวสร้าง Twin แบบดิจิทัลสามารถใช้เพื่อเชื่อมโยงเข้าด้วยกัน ดังนั้นขั้นตอนนี้จะเพิ่มชุดค่า int จําลองที่ตรงกับStop_Codeเขตข้อมูลในชุดข้อมูลหยุดรถคงที่ ในโลกแห่งความจริง ชุดข้อมูลที่เกี่ยวข้องจะประกอบด้วยความธรรมดาบางประเภทอยู่แล้ว - สร้างตารางใหม่ที่เรียกว่า bus_data_processed ที่มีข้อมูลบัสที่แปลงแล้ว
- เปิดใช้งานความพร้อมใช้งานของ OneLake สําหรับตารางใหม่ เพื่อให้คุณสามารถใช้ทางลัดเพื่อเข้าถึงข้อมูลในเลคเฮาส์ TutorialLH ของคุณ
เมื่อต้องการเรียกใช้คิวรีการแปลงข้อมูล ให้ทําตามขั้นตอนเหล่านี้
เปิดตัวแก้ไขคิวรี KQL โดยเลือก Tutorial_queryset ภายใต้ฐานข้อมูล KQL ของคุณ
คัดลอกและวางส่วนย่อยของโค้ดต่อไปนี้ลงในตัวแก้ไขคิวรี (คุณสามารถแทนที่คิวรีตัวอย่าง หรือเพิ่มที่ด้านล่าง) เรียกใช้บล็อกรหัสแต่ละรายการตามลําดับ
// Set columns .create-or-alter function extractBusData () { bus_data_raw | extend BusState = tostring(todynamic(Properties).BusState) , TimeToNextStation = tostring(todynamic(Properties).TimeToNextStation) , StopCode = toint(10000 + abs(((toint(BusLine) * 100) + toint(StationNumber)) % 750)) | project-away Properties }// Create table .create table bus_data_processed (ActualTime:datetime, TripId:string, BusLine:long, StationNumber:long, ScheduleTime:datetime, BusState:string, TimeToNextStation:string, StopCode:int)//Load data into table .alter table bus_data_processed policy update ``` [{ "IsEnabled": true, "Source": "bus_data_raw", "Query": "extractBusData", "IsTransactional": false, "PropagateIngestionProperties": true }] ```// Enable OneLake availability .alter-merge table bus_data_processed policy mirroring dataformat=parquet with (IsEnabled=true, TargetLatencyInMinutes=5)เคล็ดลับ
คุณยังสามารถเปิดใช้งานความพร้อมใช้งาน OneLake สําหรับตารางใหม่ผ่าน UI แทนการใช้รหัส เลือกตารางและสลับความพร้อมใช้งาน OneLake
ด้วยตัวเลือก UI เวลาแฝงเริ่มต้นคือ 15 นาทีถึงหลายชั่วโมง โดยขึ้นอยู่กับปริมาณของข้อมูล หากต้องการลดเวลาแฝงลงห้านาที ให้ใช้คําสั่ง ตาราง .alter-merge ดังที่แสดงในบล็อกโค้ดก่อนหน้านี้
หรือเปลี่ยนชื่อแท็บคิวรีเป็น การประมวลผลข้อมูลบัส เพื่อให้คุณสามารถระบุได้ในภายหลัง
หลังจากเรียกใช้แบบสอบถาม จะมีการสร้างตารางใหม่ในฐานข้อมูลของคุณที่เรียกว่า bus_data_processed หลังจากรอสักครู่ ก็จะเริ่มมีข้อมูลบัสที่ประมวลผล
สร้างทางลัดของเลคเฮ้าส์
สุดท้าย สร้างทางลัดที่เปิดเผยข้อมูลบัสที่ประมวลผลใน TutorialLH เลคเฮาส์ ซึ่งเก็บข้อมูลตัวอย่างสําหรับตัวสร้างฝาแฝดดิจิทัล (พรีวิว) ขั้นตอนนี้มีความจําเป็นเนื่องจากตัวสร้างคู่ดิจิตอลจําเป็นต้องใช้แหล่งข้อมูลของมันจะเป็นเลคเฮ้าส์
ไปที่เลคเฮาส์ TutorialLH ของคุณ (คุณสร้างขึ้นก่อนหน้านี้ในตอนที่หนึ่ง อัปโหลดข้อมูลตามบริบท) จากริบบอนเมนู เลือกรับข้อมูล>ทางลัดใหม่
ภายใต้ แหล่งข้อมูลภายใน ให้เลือก Microsoft OneLake จากนั้นเลือกฐานข้อมูล KQL บทช่วยสอน
ขยายรายการของ ตาราง และทําเครื่องหมายในกล่องถัดจาก bus_data_processed เลือก ถัดไป
ตรวจสอบรายละเอียดทางลัดของคุณ และเลือกสร้าง
ตาราง bus_data_processed พร้อมใช้งานแล้วในเลคเฮ้าส์ของคุณ ตรวจสอบว่าแดชบอร์ดมีข้อมูล (ซึ่งอาจใช้เวลาสักครู่)
ถัดไปคุณใช้ข้อมูลเลคเฮ้าส์นี้เป็นแหล่งข้อมูลเพื่อสร้างวิทยาในตัวสร้างคู่ดิจิตอล