Hadoop ระบบนิเวศและส่วนประกอบ

เผยแพร่แล้ว: 2015-04-23

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

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

• ภาคการธนาคารมีโอกาสมากขึ้นที่จะเข้าใจลูกค้าประจำ ผู้ผิดนัดเงินกู้ และธุรกรรมการฉ้อโกง

• ภาคการค้าปลีกขณะนี้มีข้อมูลเพียงพอที่จะคาดการณ์อุปสงค์

• ภาคการผลิตไม่จำเป็นต้องพึ่งพากลไกราคาแพงสำหรับการทดสอบคุณภาพ การเก็บข้อมูลเซ็นเซอร์และการวิเคราะห์จะทำให้เห็นรูปแบบต่างๆ มากมาย

• อีคอมเมิร์ซ โซเชียลเน็ตเวิร์ก ปรับแต่งเพจตามความสนใจของลูกค้า

• ตลาดหุ้นสร้างข้อมูลจำนวนมหาศาล ซึ่งสัมพันธ์กันเป็นครั้งคราวจะเผยให้เห็นข้อมูลเชิงลึกที่สวยงาม

Big Data มีแอปพลิเคชั่นที่มีประโยชน์และชาญฉลาดมากมาย

Hadoop คือคำตอบสำหรับการประมวลผล Big Data ระบบนิเวศ Hadoop เป็นการผสมผสานระหว่างเทคโนโลยีที่มีความได้เปรียบในการแก้ปัญหาทางธุรกิจอย่างเชี่ยวชาญ

ให้เราเข้าใจส่วนประกอบใน Hadoop Ecosytem เพื่อสร้างโซลูชันที่เหมาะสมสำหรับปัญหาทางธุรกิจที่กำหนด

ระบบนิเวศ Hadoop:

Hadoop ระบบนิเวศอินโฟกราฟิก

Hadoop ระบบนิเวศอินโฟกราฟิก

แกน Hadoop:

HDFS:

HDFS ย่อมาจาก Hadoop Distributed File System สำหรับจัดการชุดข้อมูลขนาดใหญ่ที่มีปริมาณมาก ความเร็ว และความหลากหลาย HDFS ใช้สถาปัตยกรรมมาสเตอร์ทาส มาสเตอร์คือโหนดชื่อและสเลฟคือโหนดข้อมูล

คุณสมบัติ:

• ปรับขนาดได้

• เชื่อถือได้

• สินค้าฮาร์ดแวร์

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

แผนที่ลด:

Map Reduce เป็นโมเดลการเขียนโปรแกรมที่ออกแบบมาเพื่อประมวลผลข้อมูลที่กระจายปริมาณมาก แพลตฟอร์มสร้างขึ้นโดยใช้ Java เพื่อการจัดการข้อยกเว้นที่ดียิ่งขึ้น แผนที่ลดประกอบด้วยสอง deamons ตัวติดตามงานและตัวติดตามงาน

คุณสมบัติ:

• ฟังก์ชั่นการเขียนโปรแกรม.

• ทำงานได้ดีกับ Big Data

• สามารถประมวลผลชุดข้อมูลขนาดใหญ่ได้

Map Reduce เป็นองค์ประกอบหลักที่รู้จักกันในการประมวลผลข้อมูลขนาดใหญ่

เส้นด้าย:

YARN ย่อมาจาก Yet Another Resource Negotiator เรียกอีกอย่างว่า MapReduce 2(MRv2) ฟังก์ชันการทำงานหลักสองอย่างของ Job Tracker ใน MRv1 การจัดการทรัพยากรและการจัดกำหนดการ/การตรวจสอบงานถูกแบ่งออกเป็น daemons แยกกัน ซึ่งได้แก่ ResourceManager, NodeManager และ ApplicationMaster

คุณสมบัติ:

• การจัดการทรัพยากรที่ดีขึ้น

• ความสามารถในการปรับขนาด

• การจัดสรรแบบไดนามิกของทรัพยากรคลัสเตอร์

การเข้าถึงข้อมูล:

หมู:

Apache Pig เป็นภาษาระดับสูงที่สร้างขึ้นบน MapReduce สำหรับการวิเคราะห์ชุดข้อมูลขนาดใหญ่ด้วยโปรแกรมวิเคราะห์ข้อมูลเฉพาะกิจอย่างง่าย หมูเรียกอีกอย่างว่าภาษา Data Flow มันถูกรวมเข้ากับ python ได้เป็นอย่างดี เริ่มแรกพัฒนาโดย yahoo

ลักษณะเด่นของหมู:

• ง่ายต่อการเขียนโปรแกรม

• โอกาสในการเพิ่มประสิทธิภาพ

• ความสามารถในการขยาย

สคริปต์หมูภายในจะถูกแปลงเป็นโปรแกรมลดแผนที่

อาปาเช่หมู

รังผึ้ง:

Apache Hive เป็นภาษาการสืบค้นระดับสูงอีกภาษาหนึ่งและโครงสร้างพื้นฐานคลังข้อมูลที่สร้างขึ้นบน Hadoop สำหรับการสรุปข้อมูล การสืบค้น และการวิเคราะห์ เริ่มแรกพัฒนาโดย yahoo และทำโอเพ่นซอร์ส

ลักษณะเด่นของรังผึ้ง:

• SQL เช่นภาษาแบบสอบถามที่เรียกว่า HQL

• การแบ่งพาร์ติชั่นและบัคเก็ตเพื่อการประมวลผลข้อมูลที่รวดเร็วยิ่งขึ้น

• การผสานรวมกับเครื่องมือสร้างภาพ เช่น Tableau

แบบสอบถามไฮฟ์ภายในจะถูกแปลงเป็นโปรแกรมลดแผนที่

หากคุณต้องการเป็นนักวิเคราะห์ข้อมูลขนาดใหญ่ สองภาษาระดับสูงนี้ต้องรู้!!

apache hive

การจัดเก็บข้อมูล:

เอชเบส:

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

คุณสมบัติ:

• อ่านและเขียนอย่างสม่ำเสมอ ในการทำงานของหน่วยความจำ

• ง่ายต่อการใช้ Java API สำหรับการเข้าถึงไคลเอ็นต์

• เข้ากันได้ดีกับหมู รัง และ sqoop

• เป็นระบบที่สม่ำเสมอและทนต่อการแบ่งพาร์ติชันในทฤษฎีบท CAP

apache hbase

แคสแซนดรา:

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

คุณสมบัติ:

• ดัชนีคอลัมน์

• รองรับการดีนอร์มัลไลซ์เซชัน

• มุมมองที่เป็นรูปธรรม

• แคชในตัวที่ทรงพลัง

คาซานดรา

ปฏิสัมพันธ์ -การแสดงภาพ- การดำเนินการ-การพัฒนา:

แคตตาล็อก:

HCatalog เป็นเลเยอร์การจัดการตารางซึ่งให้การรวมข้อมูลเมตาของไฮฟ์สำหรับแอปพลิเคชัน Hadoop อื่นๆ ช่วยให้ผู้ใช้ที่มีเครื่องมือประมวลผลข้อมูลต่างๆ เช่น Apache pig, Apache MapReduce และ Apache Hive สามารถอ่านและเขียนข้อมูลได้ง่ายขึ้น

คุณสมบัติ:

• มุมมองแบบตารางสำหรับรูปแบบต่างๆ

• การแจ้งเตือนความพร้อมใช้งานของข้อมูล

• REST API สำหรับระบบภายนอกเพื่อเข้าถึงข้อมูลเมตา

ลูซีน:

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

คุณสมบัติ:

• การจัดทำดัชนีประสิทธิภาพสูงที่ปรับขนาดได้

• อัลกอริธึมการค้นหาที่ทรงพลัง แม่นยำ และมีประสิทธิภาพ

• โซลูชั่นข้ามแพลตฟอร์ม

ฮามา:

Apache Hama เป็นเฟรมเวิร์กแบบกระจายตามการคำนวณแบบ Bulk Synchronous Parallel (BSP) มีความสามารถและเป็นที่รู้จักกันดีสำหรับการคำนวณทางวิทยาศาสตร์จำนวนมาก เช่น เมทริกซ์ กราฟ และอัลกอริธึมเครือข่าย

คุณสมบัติ:

• โมเดลการเขียนโปรแกรมอย่างง่าย

• เหมาะอย่างยิ่งสำหรับอัลกอริธึมแบบวนซ้ำ

• รองรับ YARN

• การกรองการทำงานร่วมกันโดยการเรียนรู้ของเครื่องโดยไม่ได้รับการดูแล

• การจัดกลุ่ม K-Means

กระทืบ:

Apache crunch ถูกสร้างขึ้นสำหรับการวางท่อโปรแกรม MapReduce ที่ง่ายและมีประสิทธิภาพ เฟรมเวิร์กนี้ใช้สำหรับเขียน ทดสอบ และเรียกใช้ไปป์ไลน์ MapReduce

คุณสมบัติ:

• นักพัฒนาที่เน้น

• นามธรรมน้อยที่สุด

• โมเดลข้อมูลที่ยืดหยุ่น

การจัดลำดับข้อมูล:

รว์:

Apache Avro เป็นเฟรมเวิร์กการจัดลำดับข้อมูลซึ่งเป็นกลางทางภาษา ออกแบบมาเพื่อการพกพาของภาษา ทำให้ข้อมูลมีอายุยืนกว่าภาษาที่จะอ่านและเขียนได้

apache avro

ประหยัด:

Thrift เป็นภาษาที่พัฒนาขึ้นเพื่อสร้างอินเทอร์เฟซเพื่อโต้ตอบกับเทคโนโลยีที่สร้างบน Hadoop ใช้เพื่อกำหนดและสร้างบริการสำหรับหลายภาษา

ข้อมูลอัจฉริยะ:

เจาะ:

Apache Drill เป็นเอ็นจิ้นการสืบค้น SQL ที่มีความหน่วงต่ำสำหรับ Hadoop และ NoSQL

คุณสมบัติ:

• ความคล่องตัว

• ความยืดหยุ่น

• ความคุ้นเคย

apache สว่าน

ควาญ:

Apache Mahout เป็นไลบรารีแมชชีนเลิร์นนิงที่ปรับขนาดได้ซึ่งออกแบบมาเพื่อสร้างการวิเคราะห์เชิงคาดการณ์บน Big Data ตอนนี้ Mahout มีการใช้งาน apache spark เพื่อการประมวลผลหน่วยความจำที่เร็วขึ้น

คุณสมบัติ:

• การกรองการทำงานร่วมกัน

• การจำแนกประเภท

• การจัดกลุ่ม

• ลดขนาด

apache ควาญช้าง

การรวมข้อมูล:

อาปาเช่ สควอป:

apache sqoop

Apache Sqoop เป็นเครื่องมือที่ออกแบบมาสำหรับการถ่ายโอนข้อมูลจำนวนมากระหว่างฐานข้อมูลเชิงสัมพันธ์กับ Hadoop

คุณสมบัติ:

• นำเข้าและส่งออกไปยังและจาก HDFS

• นำเข้าและส่งออกไปยังและจากไฮฟ์

• นำเข้าและส่งออกไปยัง HBase

อาปาเช่ ฟลูม:

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

คุณสมบัติ:

• แข็งแกร่ง

• ทนต่อความผิดพลาด

• สถาปัตยกรรมที่เรียบง่ายและยืดหยุ่นตามกระแสข้อมูลการสตรีม

apache flume

อาปาเช่ ชุกวา:

ตัวรวบรวมบันทึกที่ปรับขนาดได้ใช้สำหรับการมอนิเตอร์ระบบไฟล์แบบกระจายขนาดใหญ่

คุณสมบัติ:

• ปรับขนาดเป็นหลายพันโหนด

• การจัดส่งที่เชื่อถือได้

• ควรจะสามารถเก็บข้อมูลได้อย่างไม่มีกำหนด

อาปาเช่ชุกวา

การจัดการ การตรวจสอบ และการประสาน:

อาปาเช่ แอมบารี:

Ambari ได้รับการออกแบบมาเพื่อให้การจัดการ Hadoop ง่ายขึ้นด้วยอินเทอร์เฟซสำหรับการจัดเตรียม จัดการ และตรวจสอบ Apache Hadoop Clusters

คุณสมบัติ:

• จัดเตรียม Hadoop Cluster

• จัดการคลัสเตอร์ Hadoop

• ตรวจสอบคลัสเตอร์ Hadoop

apache ambari

ผู้ดูแลสวนสัตว์ Apache:

Zookeeper เป็นบริการแบบรวมศูนย์ที่ออกแบบมาเพื่อรักษาข้อมูลการกำหนดค่า การตั้งชื่อ การซิงโครไนซ์แบบกระจาย และการให้บริการกลุ่ม

คุณสมบัติ:

• การทำให้เป็นอนุกรม

• อะตอมมิก

• ความน่าเชื่อถือ

• API แบบง่าย

apache ผู้ดูแลสวนสัตว์

อาปาเช่ อูซี่:

Oozie เป็นระบบกำหนดตารางเวลาเวิร์กโฟลว์เพื่อจัดการงาน Apache Hadoop

คุณสมบัติ:

• ระบบที่ปรับขนาดได้ เชื่อถือได้ และขยายได้

• รองรับงาน Hadoop หลายประเภท เช่น Map-Reduce, Hive, Pig และ Sqoop

• เรียบง่ายและใช้งานง่าย

apache oozie

เราจะหารือเกี่ยวกับส่วนประกอบโดยละเอียดในบทความต่อไป คอยติดตาม.