บทช่วยสอนขั้นสูงของ Apache Hive สำหรับผู้เริ่มต้น: เรียนรู้ Hive ตั้งแต่เริ่มต้น

เผยแพร่แล้ว: 2020-03-20

กลุ่ม Apache เป็นระบบคลังข้อมูลโอเพนซอร์สที่สร้างขึ้นบน Hadoop ใช้สำหรับสืบค้นและวิเคราะห์ชุดข้อมูลขนาดใหญ่ที่จัดเก็บไว้ในไฟล์ Hadoop บทช่วย สอน Apache Hive นี้ จะช่วยให้คุณเข้าใจพื้นฐาน ลักษณะเฉพาะ และการใช้งาน

ในยุคดิจิทัล มีการสร้างข้อมูลประมาณ 2.5 quintillion ไบต์ทุกวัน เราต้องการเทคโนโลยีที่เป็นนวัตกรรมใหม่เพื่อยับยั้งการระเบิดของข้อมูลนี้ และ Hive ก็เป็นหนึ่งในเครื่องมือดังกล่าวที่ประมวลผลข้อมูลที่มีโครงสร้างและกึ่งโครงสร้างในระบบนิเวศ Hadoop ชั้นนำของอุตสาหกรรม ในขณะที่นายจ้างจำนวนมากขึ้นพยายามที่จะใช้ประโยชน์จากความสามารถของข้อมูลขนาดใหญ่ พวกเขากำลังมองหาผู้ที่มีความรอบรู้เกี่ยวกับเครื่องมือ Hadoop ดังนั้น บทช่วย สอน Hadoop Hive จึงเป็นองค์ประกอบสำคัญของหลักสูตรข้อมูลขนาดใหญ่สำหรับผู้เริ่มต้น

สารบัญ

ไฮฟ์คืออะไร? อธิบายแบบง่ายๆ.

Apache Hive ช่วยให้นักพัฒนาสามารถสรุปข้อมูล เรียกใช้การสืบค้น และวิเคราะห์ชุดข้อมูลขนาดใหญ่ได้ สร้างขึ้นบน Hadoop Distributed File System (HDFS) โดยนำโครงสร้างที่มากขึ้นมาสู่ข้อมูลด้วยการจัดระเบียบลงในตาราง นอกจากนี้ Hive ยังใช้ภาษา HiveQL หรือ HQL เพื่อดำเนินการค้นหาแบบ SQL กับข้อมูล

ในขณะที่ SQL ถูกดำเนินการบนฐานข้อมูลแบบดั้งเดิม HQL สามารถแปลการสืบค้นลงในงาน MapReduce ได้โดยอัตโนมัติ Hive สรุปความซับซ้อนของ Hadoop โดยแปลงการสืบค้น SQL เป็นชุดของงานที่จะดำเนินการบนคลัสเตอร์ Hadoop ดังนั้นหากต้องการควบคุม Apache Hive ให้เชี่ยวชาญ คุณต้องมีความคุ้นเคยพื้นฐานกับ SQL แต่ไม่จำเป็นต้องเรียนรู้ Java

ต่อไปในบทช่วย สอน Apache Hive ของเรา เรา มาพูดถึงการใช้งานในสภาพแวดล้อมที่ทำงานสมัยใหม่กัน

ทำไมคุณถึงต้องใช้ไฮฟ์?

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

  • ตารางสามารถแบ่งส่วนและฝากข้อมูล ทำให้สามารถประมวลผลข้อมูลที่จัดเก็บไว้ใน Hadoop Distributed File System (HDFS) ตารางถูกกำหนดโดยตรงใน HDFS
  • ไดรเวอร์ JDBC/ODBC พร้อมสำหรับการผสานรวมกับเทคโนโลยีแบบดั้งเดิม
  • ให้ความยืดหยุ่นและวิวัฒนาการของสคีมาพร้อมกับการสรุปข้อมูล อำนวยความสะดวกในการวิเคราะห์ที่ง่ายขึ้น
  • ช่วยคุณจากการเขียนงาน Hadoop MapReduce ที่ซับซ้อน
  • แนวคิดเกี่ยวกับพาร์ติชั่นและบัคเก็ตช่วยให้สามารถดึงข้อมูลได้อย่างรวดเร็ว
  • ง่ายต่อการเรียนรู้และใช้งานสำหรับนักพัฒนา SQL
  • ระบบที่รวดเร็วและปรับขนาดได้
  • Hive รองรับไฟล์ประเภทต่างๆ เช่น ไฟล์ Text, ไฟล์ Sequence, ไฟล์ RC, ไฟล์ ORF, ไฟล์ Parquet และไฟล์ AVRO

อะไรคือองค์ประกอบหลักของสถาปัตยกรรม Hive?

1. ส่วนต่อประสานผู้ใช้: ให้คุณส่งคำถาม ประมวลผลคำแนะนำ และจัดการได้ Command Line Interface (CLI) และเว็บ UI อนุญาตให้ผู้ใช้ภายนอกเชื่อมต่อกับ Hive

2. Metastore: ตามชื่อที่แนะนำ metastore จะเก็บข้อมูลเมตาของฐานข้อมูล ประกอบด้วยข้อมูลเกี่ยวกับแบบแผนและตำแหน่งของตาราง นอกจากนี้ยังเก็บข้อมูลเมตาของพาร์ติชัน นำเสนอบนฐานข้อมูลเชิงสัมพันธ์แบบดั้งเดิม ช่วยให้คุณตรวจสอบข้อมูลที่กระจายในคลัสเตอร์ ติดตามข้อมูล ทำซ้ำ และสำรองข้อมูล

3. ไดรเวอร์: เป็นส่วนหนึ่งของกลไกประมวลผลที่ได้รับคำสั่ง HiveQL ไดรเวอร์สร้างเซสชันเพื่อดำเนินการคำสั่งและตรวจสอบวงจรชีวิต นอกจากนี้ยังจัดเก็บข้อมูลเมตาที่สร้างขึ้นระหว่างการดำเนินการคำสั่ง

4. คอมไพเลอร์: ส่วนนี้ของเอ็นจิ้นกระบวนการ HiveQL จะแปลงการสืบค้นเป็นอินพุต MapReduce เช่น Abstract Syntax Tree (AST) และ Directed Acyclic Graph (DAG)

5. ตัวเพิ่มประสิทธิภาพ: ส่วนประกอบนี้ของสถาปัตยกรรม Hive ทำการแปลงในแผนการดำเนินการเพื่อให้ DAG ที่ปรับให้เหมาะสมที่สุด มันแยกงานเพื่อประสิทธิภาพที่ดีขึ้น

6. ผู้ดำเนินการ: กำหนดเวลาหรือส่งงานเพื่อให้กระบวนการดำเนินการเสร็จสมบูรณ์ สำหรับสิ่งนี้ มันโต้ตอบกับตัวติดตามงาน Hadoop

อ่าน: บทช่วยสอน Hadoop สำหรับผู้เริ่มต้น

บทช่วย สอน Apache Hive นี้ ไม่สามารถทำให้สมบูรณ์ได้หากไม่พูดถึงว่าองค์ประกอบ Hive เหล่านี้โต้ตอบกันอย่างไรเพื่อดำเนินการค้นหา ดังนั้นเราจึงได้แสดงขั้นตอนด้านล่าง

ขั้นตอนที่ 1: ผู้ใช้ป้อนแบบสอบถามลงใน CLI หรือ Web UI ซึ่งส่งต่อการสืบค้นไปยังไดรเวอร์

ขั้นตอนที่ 2: ไดรเวอร์ส่งแบบสอบถามไปยังคอมไพเลอร์เพื่อตรวจสอบ คอมไพเลอร์รับรองความถูกต้องของไวยากรณ์

ขั้นตอนที่ 3: คอมไพเลอร์ร้องขอ Metastore สำหรับข้อมูลเมตาที่จำเป็นเพื่อดำเนินการต่อไป

ขั้นตอนที่ 4: หลังจากได้รับข้อมูลเมตา คอมไพเลอร์จะส่งแผนการดำเนินการไปยังไดรเวอร์อีกครั้ง

ขั้นตอนที่ 5: คนขับส่งต่อแผนนี้ไปยังเอ็นจิ้นการดำเนินการ

ขั้นตอนที่ 6: เอ็นจิ้นการดำเนินการดำเนินการขั้นตอนสุดท้าย มันส่งงานไปยัง JobTracker (โหนดชื่อ) ภายในโมดูล MapReduce ของ Hadoop

ขั้นตอนที่ 7: JobTracker มอบหมายงานเพิ่มเติมให้กับ TaskTracker (โหนดข้อมูล)

ขั้นตอนที่ 8: แบบสอบถามจะดำเนินการและส่งกลับไปยังผู้ดำเนินการ

ขั้นตอนที่ 9: ผู้ดำเนินการจะส่งผลลัพธ์ไปยังไดรเวอร์

ขั้นตอนที่ 10: ไดรเวอร์ส่งต่อผลลัพธ์ไปยังอินเทอร์เฟซผู้ใช้ของ Hive

อ่าน: เงินเดือนนักพัฒนา Hadoop ในอินเดีย

คุณรู้อะไรเกี่ยวกับ Hive Shell บ้าง

Hive Shell อนุญาตให้ผู้ใช้เรียกใช้การสืบค้น HQL เป็นอินเทอร์เฟซบรรทัดคำสั่งของ Hive คุณสามารถเรียกใช้ Hive Shell ได้ในสองโหมด:

  • ไม่โต้ตอบ: ระบุตำแหน่งของไฟล์ที่มีการสืบค้น HQL ด้วยตัวเลือก -f ตัวอย่างเช่น hive -f my-script.q
  • โต้ตอบ: ไปที่ Hive Shell โดยตรงและส่งแบบสอบถามด้วยตนเองเพื่อรับผลลัพธ์ ตัวอย่างเช่น $bin/hive ไปที่ hive shell

ระบุข้อจำกัดบางประการของ Hive

  • มีการสนับสนุนแบบสอบถามย่อยที่ จำกัด
  • แบบสอบถามกลุ่มมีเวลาแฝงสูง
  • ไม่อนุญาตให้ใช้มุมมองที่เป็นรูปธรรมใน Apache Hive
  • ไม่มีการสืบค้นตามเวลาจริง การอัปเดตระดับแถว การอัปเดตและการลบการดำเนินการ
  • Apache Hive ไม่เหมาะสำหรับกระบวนการเปลี่ยนผ่านออนไลน์หรือ OLTP

สรุป

ใน บทช่วย สอน Hadoop Hive นี้ เราได้กล่าวถึงแง่มุมต่างๆ ของ Hive การใช้งาน และสถาปัตยกรรม เรายังเจาะลึกการทำงานและหารือเกี่ยวกับข้อจำกัดต่างๆ ข้อมูลทั้งหมดนี้จะช่วยให้คุณเริ่มต้นเส้นทางการเรียนรู้ของ Hive ท้ายที่สุด มันเป็นหนึ่งในเฟรมเวิร์กบิ๊กดาต้าที่ใช้กันอย่างแพร่หลายและน่าเชื่อถือที่สุด!

หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติมเกี่ยวกับ Big Data โปรดดูที่ PG Diploma in Software Development Specialization in Big Data program ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีกรณีศึกษาและโครงการมากกว่า 7 กรณี ครอบคลุมภาษาและเครื่องมือในการเขียนโปรแกรม 14 รายการ เวิร์กช็อป ความช่วยเหลือด้านการเรียนรู้และจัดหางานอย่างเข้มงวดมากกว่า 400 ชั่วโมงกับบริษัทชั้นนำ

เรียนรู้ หลักสูตรการพัฒนาซอฟต์แวร์ ออนไลน์จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว

เป็นผู้นำการปฏิวัติเทคโนโลยีที่ขับเคลื่อนด้วยข้อมูล

7 กรณีศึกษาและโครงการ. ความช่วยเหลือด้านงานกับบริษัทชั้นนำ อาจารย์ที่ปรึกษาเฉพาะทาง.
โปรแกรมประกาศนียบัตรขั้นสูงด้าน Big Data จาก IIIT Bangalore