Apache Hive เป็นแพ็คเกจ Data Warehousing ที่สร้างขึ้นจาก Hadoop และใช้สำหรับการวิเคราะห์ข้อมูล Hive มีเป้าหมายสำหรับผู้ใช้ที่พอใจกับ SQL คล้ายกับ SQL และเรียกว่า HiveQL ซึ่งใช้สำหรับจัดการและสืบค้นข้อมูลที่มีโครงสร้าง Apache Hive ใช้กับความซับซ้อนเชิงนามธรรมของ Hadoop ภาษานี้ยังช่วยให้โปรแกรมเมอร์แผนที่ / ลดขนาดดั้งเดิมสามารถเสียบตัวทำแผนที่และตัวลดขนาดที่กำหนดเองได้ คุณสมบัติยอดนิยมของ Hive คือไม่จำเป็นต้องเรียนรู้ Java
Hive ซึ่งเป็นเฟรมเวิร์กการจัดเก็บวันที่แบบเพตาไบต์แบบโอเพนซอร์สที่ใช้ Hadoop ได้รับการพัฒนาโดยทีมโครงสร้างพื้นฐานข้อมูลที่ Facebook Hive ยังเป็นหนึ่งในเทคโนโลยีที่ใช้เพื่อตอบสนองความต้องการของ Facebook Hive ได้รับความนิยมอย่างมากจากผู้ใช้ทั้งหมดภายใน Facebook และถูกใช้เพื่อเรียกใช้งานหลายพันงานในคลัสเตอร์กับผู้ใช้หลายร้อยคนสำหรับแอปพลิเคชันที่หลากหลาย คลัสเตอร์ Hive-Hadoop ที่ Facebook เก็บข้อมูลดิบมากกว่า 2PB และโหลดข้อมูล 15 TB เป็นประจำทุกวัน
มาดูคุณสมบัติบางอย่างที่ทำให้เป็นที่นิยมและเป็นมิตรกับผู้ใช้:
- อนุญาตให้โปรแกรมเมอร์เสียบ Mappers และ Reducers แบบกำหนดเอง
- มีโครงสร้างพื้นฐานคลังข้อมูล
- จัดเตรียมเครื่องมือเพื่อเปิดใช้งานข้อมูลที่ง่ายดาย ETL
- กำหนดภาษาแบบสอบถามคล้าย SQL ที่เรียกว่า QL
Apache Hive Use Case - Facebook:
ก่อนที่จะใช้งาน Hive Facebook ต้องเผชิญกับความท้าทายมากมายเนื่องจากขนาดของข้อมูลที่สร้างขึ้นนั้นเพิ่มขึ้นหรือค่อนข้างจะระเบิดทำให้ยากต่อการจัดการ RDBMS แบบเดิมไม่สามารถรับมือกับแรงกดดันได้และด้วยเหตุนี้ Facebook จึงมองหาตัวเลือกที่ดีกว่า เพื่อแก้ปัญหาที่กำลังจะเกิดขึ้นนี้ในตอนแรก Facebook พยายามใช้ Hadoop MapReduce แต่ด้วยความยากลำบากในการเขียนโปรแกรมและความรู้ที่จำเป็นใน SQL ทำให้เป็นวิธีแก้ปัญหาที่ทำไม่ได้ Hive ทำให้พวกเขาเอาชนะความท้าทายที่กำลังเผชิญอยู่
ด้วย Hive พวกเขาสามารถทำสิ่งต่อไปนี้ได้:
- ตารางสามารถแบ่งส่วนและจัดเก็บข้อมูลได้
- ความยืดหยุ่นและวิวัฒนาการของ Schema
- มีไดรเวอร์ JDBC / ODBC
- ตารางไฮฟ์สามารถกำหนดได้โดยตรงใน HDFS
- Extensible - ประเภทรูปแบบฟังก์ชันและสคริปต์
กรณีการใช้รังในการดูแลสุขภาพ:
จะใช้ Hive ได้ที่ไหน?
การแปลงประเภท c ++
Apache Hive สามารถใช้ได้ในสถานที่ต่อไปนี้:
- การขุดข้อมูล
- การประมวลผลบันทึก
- การจัดทำดัชนีเอกสาร
- ลูกค้าหันหน้าไปทางธุรกิจอัจฉริยะ
- การสร้างแบบจำลองเชิงคาดการณ์
- การทดสอบสมมติฐาน
สถาปัตยกรรมไฮฟ์:
ไฮฟ์ประกอบด้วยส่วนประกอบหลักดังต่อไปนี้:
- Metastore - เพื่อจัดเก็บข้อมูลเมตา
- JDBC / ODBC - Query Compiler และ Execution Engine เพื่อแปลงการสืบค้น SQL เป็นลำดับของ MapReduce
- SerDe และ ObjectInspectors - สำหรับรูปแบบและประเภทข้อมูล
- UDF / UDAF - สำหรับฟังก์ชันที่ผู้ใช้กำหนด
- ไคลเอนต์ - คล้ายกับบรรทัดคำสั่ง MySQL และเว็บ UI
ส่วนประกอบของ Hive:
การแพร่กระจาย:
Metastore เก็บข้อมูลเกี่ยวกับตารางพาร์ติชันคอลัมน์ภายในตาราง มี 3 วิธีในการจัดเก็บใน Metastore: Embedded Metastore, Local Metastore และ Remote Metastore ส่วนใหญ่จะใช้ Remote Metastore ในโหมดการผลิต
ข้อ จำกัด ของ Hive:
Hive มีข้อ จำกัด ดังต่อไปนี้และไม่สามารถใช้ได้ภายใต้สถานการณ์เช่นนี้:
- ไม่ได้ออกแบบมาสำหรับการประมวลผลธุรกรรมออนไลน์
- ให้เวลาแฝงที่ยอมรับได้สำหรับการเรียกดูข้อมูลเชิงโต้ตอบ
- ไม่มีการสอบถามแบบเรียลไทม์และการอัปเดตระดับแถว
- โดยทั่วไปเวลาในการตอบสนองสำหรับการสืบค้น Hive จะสูงมาก
มีคำถามสำหรับเรา? พูดถึงพวกเขาในส่วนความคิดเห็นแล้วเราจะติดต่อกลับไป
กระทู้ที่เกี่ยวข้อง: