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