สวัสดีครับพอดีผมได้มีปสก. ลองรัน data เยอะครั้งแรกครับประมาณ 5000 กว่าล้าน record
แล้วคราวนี้ใน qry ที่ผมเขียนจะใช้พวก case when, sum, substring แล้วก็มี where ครับ
สิ่งที่ผมเจอคือ
ผมรัน qry ที่มันทั้งพวก case when, sum, substring และ where รันประมาณ 10ชม++ ครับ
แต่ผมลองเปลี่ยนมาเป็น create temp 2 ก้อน
ก้อนแรกคือก้อนที่ where มาแล้ว
ก้อนที่ 2 คือเอาก้อนแรกมาทำ transform ต่างๆ ใช้เวลารันประมาณ 1ชม.
แล้วผมก็มาดูว่าการทำงานของ qry ทั้ง 2 แบบไม่ต่างกันมาก
ยกตัวอย่าง qry ทั้ง 2 แบบ
แบบที่ 1
CREATE TEMPORARY TABLE a (
SELECT
case when,
sum,
substring
FROM x
WHERE y=z)
แบบที่ 2
CREATE TEMPORARY TABLE a (
SELECT
case when,
sum,
substring
FROM x
WHERE y=z
)
CREATE TEMPORARY TABLE b (
SELECT *
FROM a
)
ผมเลยอยากรู้ว่า logic ของ hive ในการอ่าน qry มันทำงานยังไงครับ
ขอบคุณครับ