ในบล็อกบทช่วยสอน Apache Flume นี้เราจะเข้าใจว่า Flume ช่วยในการสตรีมข้อมูลจากแหล่งต่างๆได้อย่างไร แต่ก่อนหน้านั้นให้เราเข้าใจถึงความสำคัญของการนำเข้าข้อมูล การนำเข้าข้อมูลเป็นขั้นตอนเริ่มต้นและสำคัญในการประมวลผลและวิเคราะห์ข้อมูลจากนั้นจึงดึงคุณค่าทางธุรกิจออกมา มีแหล่งข้อมูลหลายแหล่งที่รวบรวมข้อมูลในองค์กร
มาพูดถึงเหตุผลสำคัญอีกประการที่ทำให้ Flume ได้รับความนิยมอย่างมาก ฉันหวังว่าคุณอาจคุ้นเคยกับ ซึ่งถูกใช้อย่างมากในอุตสาหกรรมเนื่องจากสามารถจัดเก็บข้อมูลได้ทุกประเภท Flume สามารถผสานรวมกับ Hadoop ได้อย่างง่ายดายและการถ่ายโอนข้อมูลที่ไม่มีโครงสร้างเช่นเดียวกับข้อมูลกึ่งโครงสร้างบน HDFS ซึ่งเป็นการเพิ่มประสิทธิภาพของ Hadoop นี่คือเหตุผลที่ Apache Flume เป็นส่วนสำคัญของ Hadoop Ecosystem
ในบล็อกการสอน Apache Flume นี้เราจะกล่าวถึง:
- ข้อมูลเบื้องต้นเกี่ยวกับ Apache Flume
- ข้อดีของ Apache Flume
- สถาปัตยกรรม Flume
- การสตรีมข้อมูล Twitter โดยใช้ Flume
เราจะเริ่มบทช่วยสอน Flume โดยพูดคุยเกี่ยวกับ Apache Flume คืออะไร จากนั้นก้าวไปข้างหน้าเราจะเข้าใจข้อดีของการใช้ Flume
บทช่วยสอน Apache Flume: ข้อมูลเบื้องต้นเกี่ยวกับ Apache Flume
Apache Flume เป็นเครื่องมือสำหรับการนำเข้าข้อมูลใน HDFS รวบรวมรวบรวมและส่งข้อมูลสตรีมมิ่งจำนวนมากเช่นไฟล์บันทึกเหตุการณ์จากแหล่งต่างๆเช่นการรับส่งข้อมูลเครือข่ายโซเชียลมีเดียข้อความอีเมล ฯลฯ ไปยัง HDFSFlume เป็นผลิตภัณฑ์ที่มีความน่าเชื่อถือสูงและมีการแจกจ่าย
แนวคิดหลักเบื้องหลังการออกแบบของ Flume คือการจับข้อมูลสตรีมมิ่งจากเว็บเซิร์ฟเวอร์ต่างๆไปยัง HDFS มีสถาปัตยกรรมที่เรียบง่ายและยืดหยุ่นตามกระแสข้อมูลสตรีมมิ่ง มีความทนทานต่อความผิดพลาดและมีกลไกที่เชื่อถือได้สำหรับการยอมรับความผิดพลาดและการกู้คืนความล้มเหลว
หลังจากทำความเข้าใจแล้วว่า Flume คืออะไรตอนนี้ให้เราก้าวไปข้างหน้าในบล็อก Flume Tutorial และทำความเข้าใจกับประโยชน์ของ Apache Flume จากนั้นเราจะดูสถาปัตยกรรมของ Flume และพยายามทำความเข้าใจว่ามันทำงานอย่างไรโดยพื้นฐาน
โปรแกรม java เพื่อเชื่อมต่อกับฐานข้อมูล mysql
บทช่วยสอน Apache Flume: ข้อดีของ Apache Flume
มีข้อดีหลายประการของ Apache Flume ซึ่งทำให้เป็นทางเลือกที่ดีกว่าคนอื่น ๆ ข้อดีคือ:
- Flume สามารถปรับขนาดได้เชื่อถือได้ทนต่อความผิดพลาดและปรับแต่งได้สำหรับแหล่งที่มาและอ่างล้างจานต่างๆ
- Apache Flume สามารถจัดเก็บข้อมูลในร้านค้าส่วนกลาง (เช่นข้อมูลมาจากร้านค้าเดียว) เช่น HBase & HDFS
- Flume สามารถปรับขนาดได้ในแนวนอน
- หากอัตราการอ่านสูงกว่าอัตราการเขียน Flume จะให้ข้อมูลที่คงที่ระหว่างการดำเนินการอ่านและเขียน
- Flume ให้การส่งข้อความที่เชื่อถือได้ ธุรกรรมใน Flume เป็นไปตามช่องทางที่มีการดูแลธุรกรรมสองรายการ (ผู้ส่งหนึ่งคนและผู้รับหนึ่งคน) สำหรับแต่ละข้อความ
- เมื่อใช้ Flume เราสามารถนำเข้าข้อมูลจากเซิร์ฟเวอร์หลายเครื่องไปยัง Hadoop
- ทำให้เรามีโซลูชันที่เชื่อถือได้และกระจายและช่วยเราในการรวบรวมรวบรวมและเคลื่อนย้ายชุดข้อมูลจำนวนมากเช่น Facebook, Twitter และเว็บไซต์อีคอมเมิร์ซ
- ช่วยให้เรานำเข้าข้อมูลสตรีมมิ่งออนไลน์จากแหล่งต่างๆเช่นการรับส่งข้อมูลเครือข่ายโซเชียลมีเดียข้อความอีเมลไฟล์บันทึก ฯลฯ ใน HDFS
- สนับสนุนแหล่งที่มาและประเภทปลายทางจำนวนมาก
สถาปัตยกรรมเป็นสิ่งที่เพิ่มขีดความสามารถให้กับ Apache Flume ด้วยประโยชน์เหล่านี้ ตอนนี้เราทราบข้อดีของ Apache Flume แล้วเรามาทำความเข้าใจกับสถาปัตยกรรม Apache Flume กัน
บทช่วยสอน Apache Flume: สถาปัตยกรรม Flume
ตอนนี้ให้เราเข้าใจสถาปัตยกรรมของ Flume จากแผนภาพด้านล่าง:
มี Flume agent ที่นำเข้าข้อมูลสตรีมมิ่งจากแหล่งข้อมูลต่างๆไปยัง HDFS จากแผนภาพคุณสามารถเข้าใจได้อย่างง่ายดายว่าเว็บเซิร์ฟเวอร์ระบุแหล่งข้อมูล Twitter เป็นหนึ่งในแหล่งข้อมูลที่มีชื่อเสียงสำหรับการสตรีมข้อมูล
Flume Agent มีส่วนประกอบ 3 ส่วน ได้แก่ แหล่งที่มาอ่างล้างจานและช่องสัญญาณ
- ที่มา : รับข้อมูลจากการปรับปรุงที่เข้ามาและจัดเก็บข้อมูลในช่อง
- ช่อง : โดยทั่วไปความเร็วในการอ่านจะเร็วกว่าความเร็วในการเขียน ดังนั้นเราจำเป็นต้องมีบัฟเฟอร์เพื่อให้ตรงกับความแตกต่างของความเร็วในการอ่านและเขียน โดยทั่วไปบัฟเฟอร์จะทำหน้าที่เป็นหน่วยเก็บข้อมูลตัวกลางที่เก็บข้อมูลที่กำลังถ่ายโอนชั่วคราวดังนั้นจึงป้องกันข้อมูลสูญหาย ในทำนองเดียวกันช่องสัญญาณจะทำหน้าที่เป็นที่จัดเก็บข้อมูลในตัวเครื่องหรือที่เก็บข้อมูลชั่วคราวระหว่างแหล่งที่มาของข้อมูลและข้อมูลถาวรใน HDFS
- จม : จากนั้นส่วนประกอบสุดท้ายของเราคือ Sink รวบรวมข้อมูลจากช่องและคอมมิตหรือเขียนข้อมูลใน HDFS อย่างถาวร
ตอนนี้เรารู้แล้วว่า Apache Flume ทำงานอย่างไรให้เรามาดูวิธีปฏิบัติที่เราจะจมข้อมูล Twitter และเก็บไว้ใน HDFS
Apache Flume Tutorial: การสตรีมข้อมูล Twitter
ในทางปฏิบัตินี้เราจะสตรีมข้อมูลจาก Twitter โดยใช้ Flume จากนั้นจัดเก็บข้อมูลใน HDFS ดังที่แสดงในภาพด้านล่าง
ขั้นตอนแรกคือการสร้างแอปพลิเคชัน Twitter สำหรับสิ่งนี้คุณต้องไปที่ url นี้ก่อน: https://apps.twitter.com/ และลงชื่อเข้าใช้บัญชี Twitter ของคุณ ไปที่แท็บสร้างแอพพลิเคชั่นดังภาพด้านล่าง
จากนั้นสร้างแอปพลิเคชันดังที่แสดงในภาพด้านล่าง
หลังจากสร้างแอปพลิเคชันนี้แล้วคุณจะพบคีย์และโทเค็นการเข้าถึง คัดลอกคีย์และโทเค็นการเข้าถึง เราจะส่งโทเค็นเหล่านี้ในไฟล์คอนฟิกูเรชัน Flume ของเราเพื่อเชื่อมต่อกับแอพพลิเคชั่นนี้
ตอนนี้สร้างไฟล์ flume.conf ในไดเร็กทอรีรากของ flume ดังที่แสดงในภาพด้านล่าง ดังที่เราได้กล่าวไปแล้วใน Flume’s Architecture เราจะกำหนดค่า Source, Sink และ Channel ของเรา แหล่งที่มาของเราคือ Twitter จากที่ที่เราสตรีมข้อมูลและ Sink ของเราคือ HDFS ซึ่งเรากำลังเขียนข้อมูล
ในการกำหนดค่าแหล่งที่มาเรากำลังส่งประเภทแหล่งที่มาของ Twitter เป็น org.apache.flume.source.twitter.TwitterSource. จากนั้นเราจะส่งโทเค็นทั้งสี่ที่ได้รับจาก Twitter ในที่สุดในการกำหนดค่าแหล่งที่มาเรากำลังส่งคำหลักที่เราจะดึงทวีต
ในการกำหนดค่า Sink เราจะกำหนดค่าคุณสมบัติ HDFS เราจะกำหนดเส้นทาง HDFS รูปแบบการเขียนประเภทไฟล์ขนาดแบทช์และอื่น ๆ ในที่สุดเราจะตั้งช่องหน่วยความจำตามที่แสดงในภาพด้านล่าง
ตอนนี้เราพร้อมสำหรับการดำเนินการแล้ว ให้เราดำเนินการตามคำสั่งนี้:
ตัวแทน $ FLUME_HOME / bin / flume-ng --conf ./conf/ -f $ FLUME_HOME / flume.conf
หลังจากดำเนินการคำสั่งนี้ไประยะหนึ่งแล้วคุณสามารถออกจากเทอร์มินัลโดยใช้ CTRL + C จากนั้นคุณสามารถดำเนินการต่อในไดเร็กทอรี Hadoop ของคุณและตรวจสอบเส้นทางที่กล่าวถึงว่าไฟล์ถูกสร้างขึ้นหรือไม่
วิธีการติดตั้ง php windows 10
ดาวน์โหลดไฟล์และเปิด คุณจะได้รับบางสิ่งตามที่แสดงในภาพด้านล่าง
ฉันหวังว่าบล็อกนี้จะให้ข้อมูลและเพิ่มมูลค่าให้กับคุณ หากคุณสนใจที่จะเรียนรู้เพิ่มเติมคุณสามารถผ่านสิ่งนี้ได้ ซึ่งจะบอกคุณเกี่ยวกับ Big Data และวิธีที่ Hadoop แก้ปัญหาความท้าทายที่เกี่ยวข้องกับ Big Data
ตอนนี้คุณเข้าใจ Apache Flume แล้วลองดูไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก หลักสูตรการฝึกอบรม Edureka Big Data Hadoop Certification ช่วยให้ผู้เรียนมีความเชี่ยวชาญใน HDFS, Yarn, MapReduce, Pig, Hive, HBase, Oozie, Flume และ Sqoop โดยใช้กรณีการใช้งานแบบเรียลไทม์ในโดเมนการค้าปลีกโซเชียลมีเดียการบินการท่องเที่ยวการเงิน
มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นแล้วเราจะติดต่อกลับไป