แชร์ผ่าน


ตัวสร้างคู่แบบดิจิทัล (ตัวอย่าง) ในบทช่วยสอน Real-Time Intelligence ส่วนที่ 2: รับและประมวลผลข้อมูลการสตรีม

ในส่วนนี้ของบทช่วยสอน คุณตั้งค่าข้อมูลตัวอย่างชนิดอื่น: สตรีมข้อมูลแบบเรียลไทม์ของข้อมูลบัสตัวอย่างที่ประกอบด้วยข้อมูลอนุกรมเวลาเกี่ยวกับตําแหน่งที่ตั้งของบัส คุณสตรีมข้อมูลตัวอย่างลงใน eventhouse ทําการแปลงข้อมูลบางอย่างบนข้อมูล จากนั้นสร้างทางลัดเพื่อรับข้อมูลเหตุการณ์ลงในตัวอย่าง data lakehouse ที่คุณสร้างขึ้นในส่วนก่อนหน้า ตัวสร้างคู่ดิจิตอลต้องการข้อมูลในเลคเฮ้าส์

สร้างอีเวนต์เฮ้าส์

  1. เรียกดูพื้นที่ทํางานที่คุณต้องการสร้างทรัพยากรบทช่วยสอนของคุณ คุณต้องสร้างทรัพยากรทั้งหมดในพื้นที่ทํางานเดียวกัน

  2. เลือก + รายการใหม่

  3. ในกล่องค้นหา กรองตามรายการ ให้ใส่ Eventhouse

    แผงรายการใหม่ที่มีการเน้น Eventhouse

  4. เลือกรายการ อีเวนต์เฮ้าส์

  5. ป้อน Tutorial เป็นชื่อ Eventhouse แล้วคลิก Create ฐานข้อมูล Eventhouse และ KQL ถูกสร้างขึ้นพร้อมกันด้วยชื่อเดียวกัน

    สกรีนช็อตของอินเทอร์เฟซ Eventhouse ที่แสดงกล่องโต้ตอบ ชื่อ Eventhouse และปุ่ม สร้าง ถูกเน้น

  6. เมื่อการจัดสรรเสร็จสมบูรณ์ ให้คลิกเริ่มต้น ใช้งาน ในหน้าต่างต้อนรับ

    สกรีนช็อตของอินเทอร์เฟซต้อนรับ Eventhouse ที่มีปุ่มเริ่มต้นใช้งานถูกไฮไลต์

    หน้า ภาพรวมของระบบ eventhouse จะปรากฏขึ้น

สร้างเหตุการณ์สตรีม

ในส่วนนี้ คุณจะสร้างเหตุการณ์เพื่อส่งข้อมูลการสตรีมบัสตัวอย่างไปยังอีเวนต์เฮาส์

เพิ่มแหล่งข้อมูล

ทําตามขั้นตอนเหล่านี้เพื่อสร้างสตรีมเหตุการณ์และเพิ่มข้อมูลตัวอย่าง บัส เป็นแหล่งข้อมูล

  1. ในหน้าภาพรวมของระบบของบ้านเหตุการณ์ ให้เลือกฐานข้อมูลบทช่วยสอนใหม่จากรายการฐานข้อมูล KQL

  2. จากริบบอนเมนู เลือกรับข้อมูล และเลือกเหตุการณ์สตรีม>ใหม่กระแสข้อมูล

    สกรีนช็อตของการรับเหตุการณ์กระแสข้อมูลใหม่สําหรับฐานข้อมูลบทช่วยสอน

  3. ป้อน BusEventstream เป็นชื่อ แล้วเลือก สร้าง เมื่อสตรีมเหตุการณ์พร้อมแล้ว สตรีมเหตุการณ์จะเปิดขึ้น

  4. เลือกใช้ข้อมูลตัวอย่าง

    สกรีนช็อตของการเลือกข้อมูลตัวอย่างสําหรับเหตุการณ์

  5. ในหน้า เพิ่มแหล่งข้อมูล ให้เลือก บัส ภายใต้ ข้อมูลตัวอย่าง ป้อน BusDataSource สําหรับชื่อต้นทาง เลือก เพิ่ม

    สกรีนช็อตของการเลือกข้อมูลตัวอย่างบัส

    เมื่อเหตุการณ์กระแสข้อมูลใหม่พร้อมแล้ว จะเปิดในพื้นที่ทํางานการเขียน

แปลงข้อมูล

ในส่วนนี้ คุณเพิ่มการแปลงหนึ่งรายการไปยังข้อมูลตัวอย่างขาเข้า ขั้นตอนนี้แปลงเขตข้อมูล ScheduleTime สตริงและ Timestamp เป็นชนิด DateTime และเปลี่ยนชื่อ Timestamp เป็น ArrivalTime เพื่อความชัดเจน เขตข้อมูล Timestamp ต้องอยู่ในรูปแบบ DateTime สําหรับตัวสร้าง Twin แบบดิจิทัล (ตัวอย่าง) เพื่อใช้เป็นข้อมูลอนุกรมเวลา

ทําตามขั้นตอนเหล่านี้เพื่อเพิ่มการแปลงข้อมูล

  1. เลือกลูกศรลงบน แปลงเหตุการณ์ หรือเพิ่ม ไทล์ปลายทาง จากนั้นเลือก การจัดการเขตข้อมูล การดําเนินการที่กําหนดไว้ล่วงหน้า ไทล์ถูกเปลี่ยนชื่อเป็น ManageFields

    สกรีนช็อตของการเลือกการดําเนินการจัดการเขตข้อมูล

  2. เลือกไอคอนแก้ไข (รูปเหมือนดินสอ) บนไทล์ MangeFields ซึ่งเปิดบานหน้าต่างจัดการเขตข้อมูล

  3. เลือกเพิ่มเขตข้อมูลทั้งหมด การดําเนินการนี้ทําให้แน่ใจว่าเขตข้อมูลทั้งหมดจากข้อมูลต้นฉบับแสดงผ่านการแปลงข้อมูล

    เคล็ดลับ

    หากไม่มีฟิลด์ที่พร้อมใช้งานให้เพิ่ม ให้รอสักครู่เพื่อให้ข้อมูลตัวอย่างเริ่มต้น แล้วลองอีกครั้ง คุณสามารถเลือกโหนดก่อนหน้านี้ในพื้นที่ทํางานเพื่อดูตัวอย่างข้อมูลเพื่อยืนยันว่าข้อมูลตัวอย่างได้มาถึงโหนดเหล่านั้นแล้ว

  4. เลือกเขตข้อมูลประทับเวลา สลับเปลี่ยนชนิดเป็นใช่ สําหรับ ชนิดที่แปลงแล้ว เลือก วันที่เวลา จากรายการดรอปดาวน์ สําหรับ ชื่อ ให้ใส่ชื่อใหม่ของ ActualTime

    สกรีนช็อตของการเปลี่ยนเขตข้อมูลประทับเวลา

  5. เลือกฟิลด์ ScheduleTime สลับเปลี่ยนชนิดเป็นใช่ สําหรับ ชนิดที่แปลงแล้ว เลือก วันที่เวลา จากรายการดรอปดาวน์ ปล่อยให้ชื่อเป็น ScheduleTime

    เลือก บันทึก เพื่อบันทึกคุณสมบัติที่อัปเดตทั้งสอง

  6. บานหน้าต่าง จัดการเขตข้อมูล จะปิด ไทล์ ManageFields ยังคงแสดงข้อผิดพลาดจนกว่าคุณจะเชื่อมต่อกับปลายทาง

เพิ่มปลายทาง

  1. จากริบบอนเมนู เลือกเพิ่มปลายทาง แล้วเลือกอีเวนต์เฮ้าส์

    สกรีนช็อตของการเลือกปลายทางของอีเวนต์เฮ้าส์

  2. ใส่ข้อมูลต่อไปนี้ในบานหน้าต่าง เหตุการณ์ :

    สนาม ค่า
    โหมดการนําเข้าข้อมูล การประมวลผลเหตุการณ์ก่อนการนําเข้า
    ชื่อปลายทาง บทช่วยสอนการสัมมนา
    พื้นที่ เลือกพื้นที่ทํางานที่คุณได้สร้างทรัพยากรของคุณ
    อีเวนต์เฮ้าส์ กวด วิชา
    ฐานข้อมูล KQL กวด วิชา
    ตารางปลายทางของ KQL สร้างใหม่ - ป้อน bus_data_raw เป็นชื่อตาราง
    รูปแบบข้อมูลป้อนเข้า Json
    เปิดใช้งานการนําเข้าหลังจากเพิ่มแหล่งข้อมูล ตรวจสอบแล้ว
  3. เลือก บันทึก

  4. ในพื้นที่ทํางานการเขียน เลือกไทล์ ManageFields และลากลูกศรไปยังไทล์ TutorialDestination เพื่อเชื่อมต่อ การดําเนินการนี้แก้ไขข้อความแสดงข้อผิดพลาดทั้งหมดในโฟลว์

  5. จากริบบอนเมนู เลือก เผยแพร่ ขณะนี้เหตุการณ์เริ่มต้นส่งข้อมูลการสตรีมตัวอย่างไปยังอีเวนต์เฮาส์ของคุณ

  6. หลังจากสองสามนาที การ์ด TutorialDestination ในมุมมองเหตุการณ์แสดงข้อมูลตัวอย่างในแท็บ แสดงตัวอย่างข้อมูล คุณอาจต้องรีเฟรชตัวอย่างสองสามครั้งในขณะที่คุณรอให้ข้อมูลมาถึง

    สกรีนช็อตของข้อมูลตัวอย่าง

  7. ตรวจสอบว่าตารางข้อมูลเปิดใช้งานอยู่ในเหตุการณ์ของคุณหรือไม่ ไปที่ฐานข้อมูล KQL บทช่วยสอน ของคุณและรีเฟรชมุมมอง ในตอนนี้ประกอบด้วยตารางที่เรียกว่า bus_data_raw ที่ประกอบด้วยข้อมูล

    สกรีนช็อตของตาราง bus_data_raw ที่มีข้อมูล

แปลงข้อมูลโดยใช้นโยบายการอัปเดต

ตอนนี้ข้อมูลการสตรีมบัสของคุณอยู่ในฐานข้อมูล KQL แล้ว คุณสามารถใช้ฟังก์ชันและ นโยบายการอัปเดต Kusto เพื่อแปลงข้อมูลเพิ่มเติมได้ การแปลงที่คุณดําเนินการในส่วนนี้เตรียมข้อมูลสําหรับใช้ในตัวสร้างฝาแฝดดิจิทัล (ตัวอย่าง) และรวมถึงการดําเนินการต่อไปนี้:

  • แบ่งฟิลด์ Properties JSON ออกเป็นคอลัมน์แยกต่างหากสําหรับแต่ละรายการBusStatusข้อมูลที่มีอยู่ และTimeToNextStation ตัวสร้างฝาแฝดแบบดิจิทัลไม่มีความสามารถในการแยกวิเคราะห์ JSON ดังนั้นคุณต้องแยกค่าเหล่านี้ก่อนที่ข้อมูลจะไปที่ตัวสร้างคู่แบบดิจิทัล
  • เพิ่มคอลัมน์ StopCodeซึ่งเป็นคีย์เฉพาะที่แสดงถึงป้ายรถเมล์แต่ละป้าย วัตถุประสงค์ของขั้นตอนนี้เป็นเพียงการเสร็จสิ้นชุดข้อมูลตัวอย่างเพื่อสนับสนุนสถานการณ์บทช่วยสอนนี้ อินสแตนซ์เอนทิตีที่รวมกันได้จากแหล่งข้อมูลที่แยกต่างหากต้องมีคอลัมน์ทั่วไปที่ตัวสร้าง Twin แบบดิจิทัลสามารถใช้เพื่อเชื่อมโยงเข้าด้วยกัน ดังนั้นขั้นตอนนี้จะเพิ่มชุดค่า int จําลองที่ตรงกับ Stop_Code เขตข้อมูลในชุดข้อมูลหยุดรถคงที่ ในโลกแห่งความจริง ชุดข้อมูลที่เกี่ยวข้องจะประกอบด้วยความธรรมดาบางประเภทอยู่แล้ว
  • สร้างตารางใหม่ที่เรียกว่า bus_data_processed ที่มีข้อมูลบัสที่แปลงแล้ว
  • เปิดใช้งานความพร้อมใช้งานของ OneLake สําหรับตารางใหม่ เพื่อให้คุณสามารถใช้ทางลัดเพื่อเข้าถึงข้อมูลในเลคเฮาส์ TutorialLH ของคุณ

เมื่อต้องการเรียกใช้คิวรีการแปลงข้อมูล ให้ทําตามขั้นตอนเหล่านี้

  1. เปิดตัวแก้ไขคิวรี KQL โดยเลือก Tutorial_queryset ภายใต้ฐานข้อมูล KQL ของคุณ

    สกรีนช็อตของการเปิดตัวแก้ไขคิวรี

  2. คัดลอกและวางส่วนย่อยของโค้ดต่อไปนี้ลงในตัวแก้ไขคิวรี (คุณสามารถแทนที่คิวรีตัวอย่าง หรือเพิ่มที่ด้านล่าง) เรียกใช้บล็อกรหัสแต่ละรายการตามลําดับ

    // 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

    สกรีนช็อตของการเปิดใช้งานความพร้อมใช้งาน OneLake ใน UI

    ด้วยตัวเลือก UI เวลาแฝงเริ่มต้นคือ 15 นาทีถึงหลายชั่วโมง โดยขึ้นอยู่กับปริมาณของข้อมูล หากต้องการลดเวลาแฝงลงห้านาที ให้ใช้คําสั่ง ตาราง .alter-merge ดังที่แสดงในบล็อกโค้ดก่อนหน้านี้

  3. หรือเปลี่ยนชื่อแท็บคิวรีเป็น การประมวลผลข้อมูลบัส เพื่อให้คุณสามารถระบุได้ในภายหลัง

  4. หลังจากเรียกใช้แบบสอบถาม จะมีการสร้างตารางใหม่ในฐานข้อมูลของคุณที่เรียกว่า bus_data_processed หลังจากรอสักครู่ ก็จะเริ่มมีข้อมูลบัสที่ประมวลผล

    สกรีนช็อตของตาราง bus_data_processed ที่มีข้อมูล

สร้างทางลัดของเลคเฮ้าส์

สุดท้าย สร้างทางลัดที่เปิดเผยข้อมูลบัสที่ประมวลผลใน TutorialLH เลคเฮาส์ ซึ่งเก็บข้อมูลตัวอย่างสําหรับตัวสร้างฝาแฝดดิจิทัล (พรีวิว) ขั้นตอนนี้มีความจําเป็นเนื่องจากตัวสร้างคู่ดิจิตอลจําเป็นต้องใช้แหล่งข้อมูลของมันจะเป็นเลคเฮ้าส์

  1. ไปที่เลคเฮาส์ TutorialLH ของคุณ (คุณสร้างขึ้นก่อนหน้านี้ในตอนที่หนึ่ง อัปโหลดข้อมูลตามบริบท) จากริบบอนเมนู เลือกรับข้อมูล>ทางลัดใหม่

    สกรีนช็อตของปุ่มทางลัดใหม่

  2. ภายใต้ แหล่งข้อมูลภายใน ให้เลือก Microsoft OneLake จากนั้นเลือกฐานข้อมูล KQL บทช่วยสอน

  3. ขยายรายการของ ตาราง และทําเครื่องหมายในกล่องถัดจาก bus_data_processed เลือก ถัดไป

  4. ตรวจสอบรายละเอียดทางลัดของคุณ และเลือกสร้าง

    สกรีนช็อตของการสร้างปุ่มลัด

  5. ตาราง bus_data_processed พร้อมใช้งานแล้วในเลคเฮ้าส์ของคุณ ตรวจสอบว่าแดชบอร์ดมีข้อมูล (ซึ่งอาจใช้เวลาสักครู่)

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

ถัดไปคุณใช้ข้อมูลเลคเฮ้าส์นี้เป็นแหล่งข้อมูลเพื่อสร้างวิทยาในตัวสร้างคู่ดิจิตอล

ขั้นตอนถัดไป