สำหรับใครที่ใช้ Azure Databricks ก็คงไม่แคล้วจะได้รู้จักกับ Delta Lake แน่ๆ เพราะมันเป็น storage layer ที่ถูกนำมาใช้ใน (เอ่อ มองว่าเป็นระบบขนถ่ายของในท่าเรือ หรือสถานีขนส่งก็ได้นะ)
ทีนี้สำหรับข้อมูลที่มีการอ่านผ่านการ Stream ด้วยคำสั่งด้านล่าง เราก็อาจจะอยากเห็นข้อมูลที่ถูก stream เข้ามาบ้างใช่ไหม
rawDF = (spark
.readStream
.format("json")
.schema(schema)
.load("/path/to/stream"))
ในที่นี้ถ้าปกติเราใช้คำสั่ง .show()
ก็จะเกิด error เพราะข้อมูลมันอาจจะยัง Stream ไม่เสร็จ แต่เราก็สามารถใช้คำสั่ง display()
ช่วยได้
from delta.tables import *
rawDF = (spark
.readStream
.format("json")
.schema(schema)
.load("/path/to/stream"))
display(rawDF)
แถมเรายังใช้คำสั่งพวก filter, sort หรือ format data ได้ด้วยนะ
from delta.tables import *
...
# ขอ 10 row แรกพอ
display(rawDF, limit=10)
# ใส่ filter ที่ใช้ค่าใน column เป็นเงื่อนไข ในที่นี้ใช้ 'age' column เอาเฉพาะที่มีค่าเกิด 30
display(rawDF, filter="age > 30")
ประมาณนี้แหละครับ