สิ่งพื้นฐานเกี่ยวกับ Hadoop และ Hive

ฉันเพิ่งเริ่มทำงานกับ Hadoop เมื่อเร็วๆ นี้ มีตารางชื่อ Checkout ที่ฉันเข้าถึงผ่าน Hive และด้านล่างนี้คือเส้นทางที่ข้อมูลไปยัง HDFS และข้อมูลอื่นๆ แล้วฉันจะได้ข้อมูลอะไรหากต้องอ่านสามบรรทัดด้านล่าง?

          Path                                      Size           Record Count      Date Loaded
/sys/edw/dw_checkout_trans/snapshot/2012/07/04/00   1.13 TB       9,294,245,800      2012-07-05 07:26
/sys/edw/dw_checkout_trans/snapshot/2012/07/03/00   1.13 TB       9,290,477,963      2012-07-04 09:37
/sys/edw/dw_checkout_trans/snapshot/2012/07/02/00   1.12 TB       9,286,199,847      2012-07-03 07:08

ดังนั้นคำถามของฉันคือ-

1) ประการแรก เรากำลังโหลดข้อมูลไปยัง HDFS จากนั้นผ่าน Hive ฉันกำลังสอบถามเพื่อให้ได้ผลลัพธ์กลับมาหรือไม่ ใช่ไหม?

2) ประการที่สอง เมื่อคุณดูเส้นทางด้านบนและสิ่งอื่นๆ สิ่งเดียวที่ฉันสับสนคือ เมื่อฉันจะสืบค้นโดยใช้ Hive ฉันจะได้รับข้อมูลจากทั้งสามเส้นทางข้างต้นหรือไม่ หรืออันล่าสุดที่ด้านบน?

เนื่องจากฉันยังใหม่กับสิ่งเหล่านี้ ดังนั้นฉันจึงมีปัญหามากมาย ใครสามารถอธิบายฉันได้ว่ารังได้รับข้อมูลจากที่ไหน? และเราเก็บข้อมูลทั้งหมดไว้ใน HDFS จากนั้นเราใช้ Hive หรือ Pig เพื่อรับข้อมูลกลับจาก HDFS? และจะดีมากถ้ามีคนให้ความรู้ระดับสูงเกี่ยวกับ Hadoop และ Hive


person arsenal    schedule 06.07.2012    source แหล่งที่มา


คำตอบ (1)


ฉันคิดว่าคุณต้องได้รับความแตกต่างระหว่างตารางดั้งเดิมของ Hive และตารางภายนอกของ Hive
ตาราง Hive Native หมายความว่าคุณโหลดข้อมูลลงใน Hive และจะดูแลวิธีจัดเก็บข้อมูลใน HDFS โดยปกติเราไม่สนใจว่าโครงสร้างไดเร็กทอรีในกรณีนี้คืออะไร
ตาราง Hive ภายนอก หมายความว่าเราใส่ข้อมูลไว้ในไดเร็กทอรีบางส่วน (หากเราลืมเกี่ยวกับการแบ่งพาร์ติชันในขณะนี้) และบอกกับ Hive - มันเป็นข้อมูลของตาราง โปรดปฏิบัติต่อเป็นเช่นนั้น และไฮฟ์ช่วยให้เราสามารถสืบค้น เข้าร่วมกับตารางภายนอกหรือตารางปกติอื่น ๆ ได้ และเป็นความรับผิดชอบของเราในการเพิ่มข้อมูล ลบข้อมูล ฯลฯ

person David Gruzman    schedule 06.07.2012