หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
Note
บทช่วยสอนนี้เป็นส่วนหนึ่งของซีรีส์ สําหรับส่วนก่อนหน้า โปรดดู: บทช่วยสอนReal-Time Intelligence ส่วนที่ 3: ตั้งค่าการแจ้งเตือนบนสตรีมเหตุการณ์ของคุณ
ในส่วนนี้ของบทช่วยสอน คุณจะแปลงข้อมูลในฐานข้อมูล KQL โดยใช้นโยบายการอัปเดตเพื่อทริกเกอร์กลไกอัตโนมัติเมื่อมีการเขียนข้อมูลใหม่ลงในตาราง นโยบายนี้ช่วยลดความจําเป็นในการประสานรวมพิเศษโดยการเรียกใช้คิวรีเพื่อแปลงข้อมูลที่นําเข้าและบันทึกผลลัพธ์ไปยังตารางปลายทาง
สามารถกําหนดนโยบายการอัปเดตหลายรายการบนตารางเดียว ซึ่งช่วยให้สามารถแปลงข้อมูลที่แตกต่างกัน และบันทึกข้อมูลไปยังหลายตารางพร้อมกัน ตารางเป้าหมายสามารถมี Schema นโยบายการเก็บรักษา และนโยบายอื่นๆ ที่แตกต่างจากตารางต้นทาง
ย้ายตารางข้อมูลดิบไปยังโฟลเดอร์สีบรอนซ์
ในขั้นตอนนี้ คุณย้ายตารางข้อมูลดิบไปยังโฟลเดอร์บรอนซ์เพื่อจัดระเบียบข้อมูลในฐานข้อมูล KQL
ไปที่พื้นที่ทํางานที่คุณสร้างทรัพยากร
เลือกฐานข้อมูล KQL บทช่วยสอน ที่คุณสร้างไว้ก่อนหน้านี้
ในแผนผังวัตถุ ภายใต้ชื่อฐานข้อมูล KQL ให้เลือกพื้นที่ทํางานแบบสอบถามที่เรียกว่า Tutorial_queryset
คัดลอกและวางคําสั่งต่อไปนี้ลงในตัวแก้ไขคิวรีเพื่อย้ายตาราง RawData ไปยังโฟลเดอร์ Bronze เรียกใช้แบบสอบถามโดยเลือกปุ่ม เรียกใช้ ใน Ribbon เมนู หรือกด Shift + Enter
.alter table RawData (BikepointID:string,Street:string,Neighbourhood:string,Latitude:real,Longitude:real,No_Bikes:long,No_Empty_Docks:long,Timestamp:datetime) with (folder="Bronze")คุณจะเห็นโฟลเดอร์ใหม่ชื่อ บรอนซ์ ที่มีตารางที่เรียกว่า RawData ภายใต้โหนด ตารางใน แผนผังวัตถุ
สร้างตารางเป้าหมาย
ในขั้นตอนนี้ คุณสร้างตารางเป้าหมายที่ใช้ในการจัดเก็บข้อมูลที่แปลงโดยนโยบายการปรับปรุง
บนบรรทัดใหม่ โดยมีอย่างน้อยหนึ่งบรรทัดระหว่างเคอร์เซอร์และคิวรีสุดท้าย ให้คัดลอกและวางคําสั่งต่อไปนี้เพื่อสร้างตารางใหม่ที่เรียกว่า TransformedData ที่มี Schema ที่ระบุ
.create table TransformedData (BikepointID: int, Street: string, Neighbourhood: string, Latitude: real, Longitude: real, No_Bikes: long, No_Empty_Docks: long, Timestamp: datetime, BikesToBeFilled: long, Action: string) with (folder="Silver")เรียกใช้คําสั่งเพื่อสร้างตาราง
คุณจะเห็นโฟลเดอร์ใหม่ชื่อ Silver ที่มีตารางที่เรียกว่า TransformedData ภายใต้โหนด ตารางใน แผนผังวัตถุ
สร้างฟังก์ชันด้วยตรรกะการแปลง
ในขั้นตอนนี้ คุณสร้างฟังก์ชันที่เก็บไว้ที่เก็บตรรกะการแปลงที่จะใช้ในนโยบายการปรับปรุง ฟังก์ชันจะแยกวิเคราะห์คอลัมน์ BikepointID และเพิ่มคอลัมน์จากการคํานวณใหม่สองคอลัมน์
จาก Ribbon เมนู ให้เลือก ฐานข้อมูล
เลือกที่ + ฟังก์ชันใหม่>
แก้ไขฟังก์ชันเพื่อให้ตรงกับโค้ดต่อไปนี้ หรือคัดลอกและวางคําสั่งต่อไปนี้ลงในตัวแก้ไขแบบสอบถาม
.create-or-alter function TransformRawData() { RawData | parse BikepointID with * "BikePoints_" BikepointID:int | extend BikesToBeFilled = No_Empty_Docks - No_Bikes | extend Action = iff(BikesToBeFilled > 0, tostring(BikesToBeFilled), "NA") }เรียกใช้คําสั่งเพื่อสร้างฟังก์ชัน
คุณเห็นฟังก์ชัน TransformRawData ภายใต้โหนด Functions ในแผนผังวัตถุ
ใช้นโยบายการอัปเดต
ในขั้นตอนนี้ คุณใช้นโยบายการปรับปรุงกับตารางเป้าหมายเพื่อแปลงข้อมูล นโยบายการปรับปรุงใช้ฟังก์ชันที่เก็บไว้ TransformRawData() เพื่อแยกวิเคราะห์คอลัมน์ BikepointID และเพิ่มคอลัมน์จากการคํานวณใหม่สองคอลัมน์
จาก Ribbon เมนู ให้เลือก ฐานข้อมูล
เลือก +นโยบายการอัปเดตตาราง>
แก้ไขนโยบายเพื่อให้ตรงกับโค้ดต่อไปนี้ หรือคัดลอก/วางคําสั่งต่อไปนี้ลงในตัวแก้ไขแบบสอบถาม
.alter table TransformedData policy update ```[{ "IsEnabled": true, "Source": "RawData", "Query": "TransformRawData()", "IsTransactional": false, "PropagateIngestionProperties": false }]```เรียกใช้คําสั่งเพื่อสร้างนโยบายการปรับปรุง
ตรวจสอบการแปลง
ในขั้นตอนนี้ ให้ตรวจสอบว่าการแปลงสําเร็จโดยการเปรียบเทียบผลลัพธ์จากตารางต้นทางและตารางเป้าหมาย
Note
อาจใช้เวลาสองสามวินาทีในการดูข้อมูลในตารางที่แปลง
คัดลอกและวางแบบสอบถามต่อไปนี้ลงในตัวแก้ไขแบบสอบถามเพื่อดูระเบียนโดยอําเภอใจ 10 รายการในตารางต้นฉบับ เรียกใช้คิวรี
RawData | take 10คัดลอกและวางแบบสอบถามต่อไปนี้ลงในตัวแก้ไขแบบสอบถามเพื่อดูระเบียนโดยอําเภอใจ 10 รายการในตารางเป้าหมาย เรียกใช้คิวรี
TransformedData | take 10
โปรดสังเกตว่า คอลัมน์ BikepointID ในตารางเป้าหมายไม่มีคํานําหน้า "BikePoints_" อีกต่อไป
เนื้อหาที่เกี่ยวข้อง
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับงานในบทช่วยสอนนี้ ให้ดู: