• ทีมแพลตฟอร์มข้อมูลของ LINE วางทิศทางในการค่อย ๆ ยุติการใช้งาน Hive และย้ายไปยังสภาพแวดล้อม Spark
  • วิธีการย้าย - เปลี่ยนเอนจินก่อน แล้วหากมีปัญหาจึงค่อยแก้ไขคิวรี
  • ตัวอย่างกรณีที่ต้องแก้คิวรี:
    • กรณีใช้ตารางชั่วคราว (CREATE TEMPORARY TABLE)
    • กรณีใช้การแปลงชนิดข้อมูลโดยปริยายที่ขัดกับนโยบาย ANSI (Store Assignment Policy)
    • กรณีมีปัญหากับ UDF ที่ใช้อยู่
    • กรณีนำ UDF ใหม่มาใช้
    • กรณีใช้การดำเนินการแบบเซตกับชนิด map
    • กรณีต้องลบหลายพาร์ทิชัน
  • หลังการย้าย พบว่ามีข้อมูลบางส่วนหายไป จึงดำเนินการ troubleshooting
  • อาการปัญหาและวิธีรับมือ 5 แบบ:
    • หลังรันคิวรีแล้วผลลัพธ์บางส่วนหายไป
    • เมื่อมีซับไดเรกทอรีอยู่ใต้ไดเรกทอรีพาร์ทิชัน จะไม่สามารถอ่านข้อมูลได้
    • ระหว่างที่งานรัน มีการลบไดเรกทอรีพาร์ทิชัน ทำให้คิวรีที่ใช้พาร์ทิชันนั้นล้มเหลว
    • เมื่ออ่านข้อมูลจากพาร์ทิชันหนึ่งแล้วเขียนไปยังอีกพาร์ทิชันของตารางเดียวกัน จะเกิด AnalysisException("Cannot overwrite a path that is also being read from")
    • ผลลัพธ์ซ้ำและถูกโหลดเข้าไปเป็นสองเท่า
  • นอกจาก OpenChat แล้ว ยังมีแผนจะย้ายคิวรีทั้งหมดหลายร้อยรายการในหลายโดเมนที่รับผิดชอบอยู่ในปัจจุบันไปเป็น Spark ภายในปีนี้

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น