ข้อมูลเบื้องต้นเกี่ยวกับ Apache Hive



Apache Hive เป็นแพ็คเกจ Data Warehousing ที่สร้างขึ้นจาก Hadoop และใช้สำหรับการวิเคราะห์ข้อมูล Hive มีเป้าหมายสำหรับผู้ใช้ที่พอใจกับ SQL

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 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 จะสูงมาก

มีคำถามสำหรับเรา? พูดถึงพวกเขาในส่วนความคิดเห็นแล้วเราจะติดต่อกลับไป

กระทู้ที่เกี่ยวข้อง:

คำสั่ง Hive