avroserde ในกลุ่มอนุญาตให้อัปเดตหรือลบบันทึกหรือไม่

ฉันมีตารางในกลุ่มซึ่งสร้างโดยใช้ ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'

กำลังพยายามอัปเดตบันทึก แต่ฉันได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:

FAILED: SemanticException [Error 10294]: Attempt to do update or delete using transaction manager that does not support these operations. (state=42000,code=10294)

ดูเหมือนว่า AvroSerDe จะไม่รองรับธุรกรรม ACID แต่ฉันไม่พบข้อมูลใดๆ เกี่ยวกับเรื่องนั้น


person sektor    schedule 13.04.2016    source แหล่งที่มา


คำตอบ (1)


ธุรกรรม Hive ไม่รองรับรูปแบบไฟล์ Avro ใน Hive รุ่นล่าสุด และในปัจจุบันได้รวมเข้ากับการทำงานกับเฉพาะรูปแบบไฟล์ ORC เท่านั้น

ตามเอกสารของ Hive "รองรับเฉพาะรูปแบบไฟล์ ORC ในรุ่นแรกนี้ คุณลักษณะนี้ถูกสร้างขึ้นเพื่อให้ธุรกรรมสามารถใช้งานได้โดยรูปแบบการจัดเก็บข้อมูลใด ๆ ที่สามารถกำหนดได้ว่าการอัปเดตหรือการลบจะนำไปใช้กับบันทึกฐานอย่างไร (โดยพื้นฐานแล้วมี รหัสแถวที่ชัดเจนหรือโดยนัย) แต่จนถึงขณะนี้งานบูรณาการได้ดำเนินการสำหรับ ORC เท่านั้น"

คุณสามารถดูข้อมูลเพิ่มเติมเกี่ยวกับธุรกรรมของ Hive ได้ที่นี่

person ninja123    schedule 13.04.2016
comment
ขอบคุณ Rick สำหรับการตอบกลับอย่างรวดเร็วของคุณ - person sektor; 14.04.2016