เครื่องมือ Hadoop ที่จำเป็นสำหรับการบีบอัดข้อมูลขนาดใหญ่



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

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





นี่คือเครื่องมือสำคัญของ Hadoop ที่ใช้จัดการกับ Big Data

วิธีการเริ่มต้น AWS CLI

ambari



Ambari เป็นโครงการ Apache ที่ Hortonworks สนับสนุน มี GUI บนเว็บ (Graphical User Interface) พร้อมสคริปต์วิซาร์ดสำหรับการตั้งค่าคลัสเตอร์ที่มีส่วนประกอบมาตรฐานส่วนใหญ่ จัดเตรียม Ambari จัดการและตรวจสอบคลัสเตอร์ทั้งหมดของงาน Hadoop

hdfs-logo

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



hbaselogo

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

hive

หากคุณใช้ SQL ได้คล่องแล้วคุณสามารถใช้ประโยชน์จาก Hadoop โดยใช้ไฟล์ รัง . Hive ได้รับการพัฒนาโดยบางคนที่ Facebook Apache Hive ควบคุมกระบวนการแยกบิตจากไฟล์ทั้งหมดใน HBase รองรับการวิเคราะห์ชุดข้อมูลขนาดใหญ่ที่จัดเก็บใน HDFS ของ Hadoop และระบบไฟล์ที่เข้ากันได้ นอกจากนี้ยังมี SQL เช่นภาษาที่เรียกว่า HSQL (HiveSQL) ที่เข้าไปในไฟล์และแยกส่วนย่อยที่จำเป็นสำหรับโค้ด

sqoop

Apache Sqoop ได้รับการออกแบบมาเป็นพิเศษเพื่อถ่ายโอนข้อมูลจำนวนมากอย่างมีประสิทธิภาพจากฐานข้อมูลดั้งเดิมไปยัง Hive หรือ HBase นอกจากนี้ยังสามารถใช้เพื่อดึงข้อมูลจาก Hadoop และส่งออกไปยังที่เก็บข้อมูลที่มีโครงสร้างภายนอกเช่นฐานข้อมูลเชิงสัมพันธ์และคลังข้อมูลขององค์กร Sqoop เป็นเครื่องมือบรรทัดคำสั่งการแมประหว่างตารางและชั้นจัดเก็บข้อมูลแปลตารางเป็นชุดค่าผสมที่กำหนดได้ของ HDFS, HBase หรือ Hive

Pig1

เมื่อ Hadoop มองเห็นข้อมูลที่จัดเก็บ หมูอาปาเช่ เจาะลึกข้อมูลและรันโค้ดที่เขียนด้วยภาษาของตัวเองเรียกว่า Pig Latin Pig Latin เต็มไปด้วยนามธรรมสำหรับจัดการข้อมูล Pig มาพร้อมกับฟังก์ชันมาตรฐานสำหรับงานทั่วไปเช่นการหาค่าเฉลี่ยข้อมูลการทำงานกับวันที่หรือเพื่อค้นหาความแตกต่างระหว่างสตริง Pig ยังอนุญาตให้ผู้ใช้เขียนภาษาด้วยตนเองที่เรียกว่า UDF (User Defined Function) เมื่อฟังก์ชันมาตรฐานขาดหายไป

zookeper

Zookeeper เป็นบริการส่วนกลางที่ดูแลกำหนดค่าข้อมูลตั้งชื่อและจัดเตรียมการซิงโครไนซ์แบบกระจายทั่วคลัสเตอร์ มันกำหนดลำดับชั้นเหมือนระบบไฟล์บนคลัสเตอร์และจัดเก็บข้อมูลเมตาทั้งหมดสำหรับเครื่องดังนั้นเราจึงสามารถซิงโครไนซ์การทำงานของเครื่องต่างๆ

NoSQL

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

mahoutlogo

ควาญช้าง ได้รับการออกแบบมาเพื่อใช้อัลกอริทึมการจำแนกประเภทและการกรองการวิเคราะห์ข้อมูลไปยังคลัสเตอร์ Hadoop จำนวนมาก อัลกอริทึมมาตรฐานจำนวนมากเช่น K-mean, Dirichelet, รูปแบบคู่ขนานและการจำแนกแบบ Bayesian พร้อมที่จะทำงานบนข้อมูลด้วยแผนที่สไตล์ Hadoop และลดขนาด

ลูซีน เขียนด้วยภาษาจาวาและรวมเข้ากับ Hadoop ได้อย่างง่ายดายเป็นคู่หูที่เป็นธรรมชาติสำหรับ Hadoop เป็นเครื่องมือที่มีไว้สำหรับสร้างดัชนีข้อความที่ไม่มีโครงสร้างขนาดใหญ่ Lucene จัดการการจัดทำดัชนีในขณะที่ Hadoop จัดการแบบสอบถามที่กระจายไปทั่วคลัสเตอร์ คุณลักษณะของ Lucene-Hadoop มีการพัฒนาอย่างรวดเร็วเมื่อมีการพัฒนาโครงการใหม่ ๆ

Avro

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

งานสามารถทำให้ง่ายขึ้นได้โดยแบ่งเป็นขั้นตอน ในการทำลายโครงการในงาน Hadoop หลายงาน Oozie เริ่มประมวลผลตามลำดับที่ถูกต้อง จัดการเวิร์กโฟลว์ตามที่กำหนดโดย DAG (Directed Acyclic Graph) และไม่จำเป็นต้องมีการตรวจสอบในเวลาที่เหมาะสม

เครื่องมือ GIS

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

การรวบรวมข้อมูลทั้งหมดเท่ากับการจัดเก็บและวิเคราะห์ข้อมูล Apache Flume ส่ง 'ตัวแทนพิเศษ' เพื่อรวบรวมข้อมูลที่จะจัดเก็บใน HDFS ข้อมูลที่รวบรวมอาจเป็นไฟล์บันทึก Twitter API หรือเรื่องที่สนใจของเว็บไซต์ ข้อมูลเหล่านี้สามารถถูกผูกมัดและอยู่ภายใต้การวิเคราะห์

Spark

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

SQL บน Hadoop

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

Apache สว่าน

Apache Drill นำเสนอการสืบค้นแบบ ad-hoc ที่มีเวลาแฝงต่ำสำหรับแหล่งข้อมูลจำนวนมากและหลากหลายรวมถึงข้อมูลที่ซ้อนกัน Drill ซึ่งได้รับแรงบันดาลใจจาก Dremel ของ Google ได้รับการออกแบบมาเพื่อปรับขนาดเซิร์ฟเวอร์ถึง 10,000 เครื่องและสืบค้นข้อมูลเพตะไบต์ในไม่กี่วินาที

นี่คือเครื่องมือ Hadoop ที่จำเป็นสำหรับการใช้งาน Big Data!

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

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

เหตุผลที่เป็นประโยชน์ในการเรียนรู้ Hadoop 2.0