Apache Hive คืออะไร
Apache Hive เป็นระบบคลังข้อมูลระดับทนต่อความล้มเหลวแบบกระจายที่สามารถทำการวิเคราะห์ข้อมูลในระดับมหาศาล คลังข้อมูลจะทำหน้าที่ส่วนกลางในการเก็บข้อมูลที่สามารถนำมาวิเคราะห์เพื่อทำการตัดสินใจได้อย่างถีถ้วนตามข้อมูลที่ได้รับ Hive ช่วยให้ผู้ใช้อ่าน เขียน และจัดการข้อมูลขนาดเพตาไบต์ด้วย SQL
Hive ถูกสร้างขึ้นบน Apache Hadoop ซึ่งเป็นเฟรมเวิร์กโอเพนซอร์สที่ใช้ในการจัดเก็บและประมวลผลชุดข้อมูลขนาดใหญ่ได้อย่างมีประสิทธิภาพ ด้วยเหตุนี้ Hive จึงผสานเข้ากับ Hadoop ได้อย่างใกล้ชิด และได้รับการออกแบบมาเพื่อให้ทำงานกับข้อมูลระดับเพตะไบต์ได้อย่างรวดเร็ว สิ่งที่ทำให้ Hive มีเอกลักษณ์คือความสามารถในการสืบค้นชุดข้อมูลขนาดใหญ่ โดยการใช้ประโยชน์จาก Apache Tez หรือ MapReduce ที่มีอินเทอร์เฟซคล้ายกับ SQL
Hive ทำงานอย่างไร
Hive ถูกสร้างขึ้นเพื่อช่วยให้ผู้ที่ไม่ใช่โปรแกรมเมอร์ที่คุ้นเคยกับ SQL สามารถทำงานกับข้อมูลในระดับเพตะไบต์ได้โดยการใช้อินเทอร์เฟซที่คล้ายกับ SQL ที่เรียกว่า HiveQL ฐานข้อมูลแบบเชิงสัมพันธ์ในรูปแบบดั้งเดิมได้รับการออกแบบมาเพื่อการสืบค้นแบบอินเทอร์แอคทีฟในชุดข้อมูลขนาดเล็กถึงขนาดกลาง ซึ่งจะประมวลผลชุดข้อมูลขนาดใหญ่ได้ไม่ดีนัก Hive ใช้การประมวลผลเป็นชุดแทน เพื่อให้ทำงานได้อย่างรวดเร็วในทั่วทั้งฐานข้อมูลแบบกระจายตัวที่มีขนาดใหญ่มาก Hive เปลี่ยนการสืบค้นของ HiveQL ให้เป็นงานของ MapReduce หรือ Tez ที่ทำงานในเฟรมเวิร์กการกำหนดเวลางานแบบกระจายตัวของ Apache Hadoop ที่เรียกว่า Yet Another Resource Negotiator (YARN) ซึ่งจะสืบค้นข้อมูลที่จัดเก็บไว้ในโซลูชันการจัดเก็บไฟล์แบบกระจายตัวอย่าง Hadoop Distributed File System (HDFS) หรือ Amazon S3 Hive จัดเก็บฐานข้อมูลและข้อมูลเมตาที่เป็นตารางไว้ใน Metastore ซึ่งเป็นฐานข้อมูลหรือพื้นที่เก็บข้อมูลสำรองของไฟล์ ซึ่งช่วยให้การค้นพบและการกำหนดสาระสำคัญของข้อมูลเป็นเรื่องง่าย
Hive ประกอบด้วย HCatalog ซึ่งเป็นเลเยอร์การจัดการตารางและพื้นที่เก็บข้อมูลที่อ่านข้อมูลจาก Hive Metastore เพื่ออำนวยความสะดวกให้การผสานรวมระหว่าง Hive, Apache Pig และ MapReduce นั้นราบรื่น การใช้ Metastore จะทำให้ HCatalog สามารถอนุญาตให้ Pig และ MapReduce ใช้โครงสร้างข้อมูลเดียวกันกับ Hive ได้ ดังนั้นจึงไม่จำเป็นต้องกำหนดข้อมูลเมตาใหม่สำหรับแต่ละกลไก แอปพลิเคชันที่กำหนดเองหรือการผสานรวมกับบุคคลที่สาม สามารถใช้ WebHCat ซึ่งเป็น RESTful API สำหรับ HCatalog ในการเข้าถึงและนำข้อมูลเมตาของ Hive กลับมาใช้ใหม่
Hive มีประโยชน์อย่างไรบ้าง
รวดเร็ว
Hive ได้รับการออกแบบมาเพื่อให้จัดการข้อมูลในระดับเพตะไบต์ได้อย่างรวดเร็วโดยการใช้การประมวลผลเป็นชุด
คุ้นเคย
Hive มีอินเทอร์เฟซคล้ายกับ SQL ที่คุ้นเคยซึ่งสามารถเข้าถึงได้สำหรับผู้ที่ไม่ใช่โปรแกรมเมอร์
ปรับขนาดได้
กระจายและปรับขนาด Hive ตามความต้องการของคุณได้อย่างง่ายดาย
Apache Hive และ Apache HBase แตกต่างกันอย่างไร
Apache HBase เป็นฐานข้อมูลแบบกระจาย NoSQL ที่ช่วยให้สามารถเข้าถึงข้อมูลระดับเพตะไบต์ได้แบบเรียลไทม์ในลักษณะสุ่มและสม่ำเสมออย่างเคร่งครัด Apache Hive เป็นระบบคลังข้อมูลแบบกระจายตัวที่มีความสามารถในการสืบค้นคล้ายกับ SQL
คุณลักษณะ |
Apache Hive |
Apache HBase |
ฟังก์ชัน |
กลไกสืบค้นข้อมูลที่คล้ายกับ SQL ออกแบบมาเพื่อการจัดเก็บข้อมูลปริมาณมาก รองรับไฟล์หลายรูปแบบ |
พื้นที่เก็บข้อมูลค่าคีย์แบบกระจายตัวที่มีเวลาแฝงต่ำพร้อมความสามารถในการสืบค้นที่กำหนดเองได้ ข้อมูลจะถูกเก็บไว้ในรูปแบบคอลัมน์ |
ประเภทของการประมวลผล |
การประมวลผลเป็นชุดโดยใช้เฟรมเวิร์กคำนวณของ Apache Tez หรือ MapReduce |
การประมวลผลแบบเรียลไทม์ |
เวลาแฝง |
ปานกลางถึงสูง ขึ้นอยู่กับการตอบสนองของกลไกการคำนวณ โมเดลการดำเนินการแบบกระจายตัวมีประสิทธิภาพที่เหนือกว่าเมื่อเทียบกับระบบสืบค้นโมโนลิทิกอย่าง RDBMS สำหรับปริมาณข้อมูลเดียวกัน |
ต่ำ แต่อาจไม่สม่ำเสมอ ข้อจำกัดด้านโครงสร้างของสถาปัตยกรรม HBase อาจส่งผลให้เวลาแฝงสูงภายใต้ปริมาณการเขียนสูง |
การผสานรวม Hadoop |
ทำงานบน Hadoop ด้วย Apache Tez หรือ MapReduce สำหรับการประมวลผลและ HDFS หรือ Amazon S3 สำหรับการจัดเก็บ |
ทำงานใน HDFS หรือ Amazon S3 |
การรองรับ SQL |
มี HiveQL ซึ่งมีความสามารถในการสืบค้นที่คล้ายกับ SQL |
ไม่สามารถรองรับ SQL ได้ด้วยตัวเอง คุณสามารถใช้ Apache Phoenix เพื่อใช้ความสามารถของ SQL |
สคีมา |
สคีมาที่กำหนดไว้สำหรับตารางทั้งหมด |
ไม่มีสคีมา |
ประเภทข้อมูล |
รองรับข้อมูลที่มีโครงสร้างและไม่มีโครงสร้าง ให้การรองรับแบบเนทีฟสำหรับข้อมูลประเภท SQL ทั่วไป เช่น INT, FLOAT และ VARCHAR |
รองรับเฉพาะข้อมูลที่ไม่มีโครงสร้างเท่านั้น ผู้ใช้กำหนดการจับคู่ฟิลด์ข้อมูลกับประเภทข้อมูลที่รองรับ Java |
กรณีการใช้งานสำหรับ Hive มีอะไรบ้าง
Guardian มอบความปลอดภัยให้กับสมาชิก 27 ล้านคนผ่านผลิตภัณฑ์และบริการด้านการประกันภัยและการจัดการความมั่งคั่ง Guardian ใช้ Amazon EMR เพื่อเรียกใช้ Apache Hive บน Data Lake ของ S3 Apache Hive ใช้สำหรับการประมวลผลเป็นชุด Data Lake ของ S3 เป็นขุมพลังให้กับ Guardian Direct ซึ่งเป็นแพลตฟอร์มดิจิทัลที่ช่วยให้ผู้บริโภคสามารถวิจัยและซื้อทั้งผลิตภัณฑ์ Guardian และผลิตภัณฑ์ของบุคคลที่สามในภาคประกันภัยได้
FINRA ซึ่งเป็นองค์กรควบคุมอุตสาหกรรมการเงิน เป็นหน่วยงานกำกับดูแลหลักทรัพย์อิสระที่ใหญ่ที่สุดในสหรัฐอเมริกา ทำหน้าที่ตรวจติดตามและควบคุมแนวทางปฏิบัติด้านการค้าในแง่ของการเงิน FINRA ใช้ Amazon EMR ในการเรียกใช้ Apache Hive บน Data Lake ของ S3 การเรียกใช้ Hive บนคลัสเตอร์ EMR ช่วยให้ FINRA สามารถประมวลผลและวิเคราะห์ข้อมูลซื้อขายของเหตุการณ์ที่มีจำนวนมากถึง 9 หมื่นล้านเหตุการณ์โดยใช้ SQL Data Lake บนคลาวด์ส่งผลให้ประหยัดค่าใช้จ่ายได้มากถึง 20 ล้านดอลลาร์สหรัฐเมื่อเทียบกับโซลูชันในองค์กรของ FINRA ทั้งยังลดเวลาที่ต้องใช้ในการกู้คืนและการอัปเกรดได้เป็นอย่างมาก
Vanguard ซึ่งเป็นบริษัทที่ปรึกษาด้านการลงทุนที่จดทะเบียนในอเมริกา เป็นผู้ให้บริการกองทุนรวมรายใหญ่ที่สุดและเป็นผู้ให้บริการกองทุนซื้อขายแลกเปลี่ยนรายใหญ่อันดับสอง Vanguard ใช้ Amazon EMR ในการเรียกใช้ Apache Hive บน Data Lake ของ S3 ข้อมูลจะถูกจัดเก็บไว้ใน S3 และ EMR จะสร้าง Hive Metastore ไว้บนข้อมูลดังกล่าว Hive Metastore ประกอบด้วยข้อมูลเมตาทั้งหมดเกี่ยวกับข้อมูลและตารางในคลัสเตอร์ EMR ซึ่งช่วยให้วิเคราะห์ข้อมูลได้อย่างง่ายดาย นอกจากนี้ Hive ยังช่วยให้นักวิเคราะห์สามารถดำเนินการสืบค้น SQL แบบเฉพาะกิจบนข้อมูลที่จัดเก็บไว้ใน Data Lake ของ S3 อีกด้วย การโอนย้ายไปยัง Data Lake ของ S3 ด้วย Amazon EMR ทำให้นักวิเคราะห์ข้อมูลมากกว่า 150 คนตระหนักถึงประสิทธิภาพในการดำเนินงานและลดต้นทุน EC2 และ EMR ได้ถึง 6 แสนดอลลาร์สหรัฐ
AWS จะรองรับ Hive ได้อย่างไร
Amazon EMR มีเฟรมเวิร์ก Hadoop ที่ได้รับการจัดการซึ่งใช้งานง่ายที่สุด เร็วที่สุด และคุ้มค่าที่สุด เพื่อช่วยให้ลูกค้าสามารถประมวลผลข้อมูลปริมาณมหาศาลในทั่วทั้งอินสแตนซ์ EC2 ที่ปรับขนาดได้แบบไดนามิก นอกจากนี้ลูกค้ายังสามารถเรียกใช้เฟรมเวิร์กแบบตัวกระจายยอดนิยมอื่น ๆ ได้ด้วย อาทิเช่น Apache Hive, Spark, HBase, Presto และ Flink ใน EMR
เรียนรู้เพิ่มเติมเกี่ยวกับ Amazon EMR
เริ่มต้นใช้งาน Apache Hive บน AWS โดยการสร้างบัญชี AWS ฟรีวันนี้