Apache Flume Tutorial: การสตรีมข้อมูล Twitter



บล็อกบทช่วยสอน Apache Flume นี้อธิบายถึงพื้นฐานของ Apache Flume และคุณสมบัติต่างๆ นอกจากนี้ยังจะแสดงการสตรีม Twitter โดยใช้ Apache Flume

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

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





ในบล็อกการสอน Apache Flume นี้เราจะกล่าวถึง:



เราจะเริ่มบทช่วยสอน Flume โดยพูดคุยเกี่ยวกับ Apache Flume คืออะไร จากนั้นก้าวไปข้างหน้าเราจะเข้าใจข้อดีของการใช้ Flume

บทช่วยสอน Apache Flume: ข้อมูลเบื้องต้นเกี่ยวกับ Apache Flume

โลโก้ Apache Flume - Apache Flume Tutorial - EdurekaApache 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 ส่วน ได้แก่ แหล่งที่มาอ่างล้างจานและช่องสัญญาณ

    1. ที่มา : รับข้อมูลจากการปรับปรุงที่เข้ามาและจัดเก็บข้อมูลในช่อง
    2. ช่อง : โดยทั่วไปความเร็วในการอ่านจะเร็วกว่าความเร็วในการเขียน ดังนั้นเราจำเป็นต้องมีบัฟเฟอร์เพื่อให้ตรงกับความแตกต่างของความเร็วในการอ่านและเขียน โดยทั่วไปบัฟเฟอร์จะทำหน้าที่เป็นหน่วยเก็บข้อมูลตัวกลางที่เก็บข้อมูลที่กำลังถ่ายโอนชั่วคราวดังนั้นจึงป้องกันข้อมูลสูญหาย ในทำนองเดียวกันช่องสัญญาณจะทำหน้าที่เป็นที่จัดเก็บข้อมูลในตัวเครื่องหรือที่เก็บข้อมูลชั่วคราวระหว่างแหล่งที่มาของข้อมูลและข้อมูลถาวรใน HDFS
    3. จม : จากนั้นส่วนประกอบสุดท้ายของเราคือ 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 โดยใช้กรณีการใช้งานแบบเรียลไทม์ในโดเมนการค้าปลีกโซเชียลมีเดียการบินการท่องเที่ยวการเงิน

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