Hướng dẫn Apache Flume: Truyền dữ liệu Twitter



Blog hướng dẫn Apache Flume này giải thích các nguyên tắc cơ bản của Apache Flume và các tính năng của nó. Nó cũng sẽ giới thiệu tính năng phát trực tuyến trên Twitter bằng Apache Flume.

Trong blog hướng dẫn Apache Flume này, chúng ta sẽ hiểu Flume giúp truyền dữ liệu từ nhiều nguồn khác nhau như thế nào. Nhưng trước đó chúng ta hãy hiểu tầm quan trọng của việc nhập dữ liệu. Nhập dữ liệu là bước đầu tiên và quan trọng để xử lý và phân tích dữ liệu, sau đó lấy ra các giá trị kinh doanh từ đó. Có nhiều nguồn dữ liệu được thu thập trong một tổ chức.

Hãy nói về một lý do quan trọng khác khiến Flume trở nên phổ biến như vậy. Tôi hy vọng bạn có thể quen thuộc với , đang được sử dụng rất nhiều trong ngành công nghiệp vì nó có thể lưu trữ tất cả các loại dữ liệu. Flume có thể dễ dàng tích hợp với Hadoop và kết xuất dữ liệu không có cấu trúc cũng như bán cấu trúc trên HDFS, khen ngợi sức mạnh của Hadoop. Đây là lý do tại sao Apache Flume là một phần quan trọng của Hệ sinh thái Hadoop.





Trong blog hướng dẫn Apache Flume này, chúng tôi sẽ đề cập đến:



Chúng ta sẽ bắt đầu hướng dẫn Flume này bằng cách thảo luận về Apache Flume là gì. Sau đó, tiếp tục, chúng ta sẽ hiểu những lợi thế của việc sử dụng Flume.

Hướng dẫn sử dụng Apache Flume: Giới thiệu về Apache Flume

Logo Apache Flume - Hướng dẫn Apache Flume - EdurekaApache Flume là một công cụ để nhập dữ liệu trong HDFS. Nó thu thập, tổng hợp và vận chuyển một lượng lớn dữ liệu phát trực tuyến như tệp nhật ký, sự kiện từ nhiều nguồn khác nhau như lưu lượng mạng, mạng xã hội, tin nhắn email, v.v. sang HDFS.Flume là một phân phối và đáng tin cậy cao.

Ý tưởng chính đằng sau thiết kế của Flume là thu thập dữ liệu truyền trực tuyến từ các máy chủ web khác nhau sang HDFS. Nó có kiến ​​trúc đơn giản và linh hoạt dựa trên luồng dữ liệu trực tuyến. Nó có khả năng chịu lỗi và cung cấp cơ chế tin cậy để chịu lỗi và khôi phục lỗi.



Sau khi hiểu Flume là gì, bây giờ chúng ta hãy đi trước trong blog Hướng dẫn về Flume này và hiểu những lợi ích của Apache Flume. Sau đó, tiếp tục, chúng ta sẽ xem xét kiến ​​trúc của Flume và cố gắng hiểu cách hoạt động cơ bản của nó.

sự khác biệt giữa giao diện và lớp trong java

Hướng dẫn sử dụng Apache Flume: Ưu điểm của Apache Flume

Có một số ưu điểm của Apache Flume làm cho nó trở thành một lựa chọn tốt hơn những người khác. Những ưu điểm là:

  • Flume có thể mở rộng, đáng tin cậy, chịu được lỗi và có thể tùy chỉnh cho các nguồn và bồn rửa khác nhau.
  • Apache Flume có thể lưu trữ dữ liệu trong các cửa hàng tập trung (tức là dữ liệu được cung cấp từ một cửa hàng duy nhất) như HBase & HDFS.
  • Flume có thể mở rộng theo chiều ngang.
  • Nếu tốc độ đọc vượt quá tốc độ ghi, Flume cung cấp một luồng dữ liệu ổn định giữa các hoạt động đọc và ghi.
  • Flume cung cấp thông điệp đáng tin cậy. Các giao dịch trong Flume dựa trên kênh trong đó hai giao dịch (một người gửi và một người nhận) được duy trì cho mỗi tin nhắn.
  • Sử dụng Flume, chúng tôi có thể nhập dữ liệu từ nhiều máy chủ vào Hadoop.
  • Nó cung cấp cho chúng tôi một giải pháp đáng tin cậy và phân phối, đồng thời giúp chúng tôi thu thập, tổng hợp và di chuyển một lượng lớn các tập dữ liệu như Facebook, Twitter và các trang web thương mại điện tử.
  • Nó giúp chúng tôi nhập dữ liệu phát trực tuyến từ nhiều nguồn khác nhau như lưu lượng mạng, phương tiện truyền thông xã hội, tin nhắn email, tệp nhật ký, v.v. trong HDFS.
  • Nó hỗ trợ một tập hợp lớn các loại nguồn và đích.

Kiến trúc là một kiến ​​trúc đang trao quyền cho Apache Flume với những lợi ích này. Bây giờ, như chúng ta đã biết những ưu điểm của Apache Flume, hãy tiếp tục và hiểu kiến ​​trúc Apache Flume.

Apache Flume Tutorial: Flume Architecture

Bây giờ, chúng ta hãy hiểu kiến ​​trúc của Flume từ sơ đồ dưới đây:

Có một tác nhân Flume sẽ nhập dữ liệu truyền trực tuyến từ các nguồn dữ liệu khác nhau sang HDFS. Từ sơ đồ, bạn có thể dễ dàng hiểu rằng máy chủ web chỉ ra nguồn dữ liệu. Twitter là một trong những nguồn nổi tiếng về truyền dữ liệu trực tuyến.

Tác nhân tạo khói có 3 thành phần: nguồn, bồn rửa và kênh dẫn.

    1. Nguồn : Nó chấp nhận dữ liệu từ luồng đến và lưu trữ dữ liệu trong kênh.
    2. Kênh : Nhìn chung, tốc độ đọc nhanh hơn tốc độ ghi. Vì vậy, chúng ta cần một số bộ đệm để phù hợp với sự khác biệt về tốc độ đọc và ghi. Về cơ bản, bộ đệm hoạt động như một bộ lưu trữ trung gian lưu trữ dữ liệu được chuyển tạm thời và do đó ngăn ngừa mất dữ liệu. Tương tự, kênh hoạt động như một bộ lưu trữ cục bộ hoặc một bộ lưu trữ tạm thời giữa nguồn dữ liệu và dữ liệu liên tục trong HDFS.
    3. Bồn rửa : Sau đó, thành phần cuối cùng của chúng tôi, tức là Sink, thu thập dữ liệu từ kênh và cam kết hoặc ghi dữ liệu vào HDFS vĩnh viễn.

Bây giờ chúng ta đã biết cách Apache Flume hoạt động, chúng ta hãy xem xét một cách thực tế nơi chúng ta sẽ lưu dữ liệu Twitter và lưu trữ nó trong HDFS.

Hướng dẫn Apache Flume: Truyền dữ liệu Twitter

Trong thực tế này, chúng tôi sẽ truyền dữ liệu từ Twitterusing Flume và sau đó lưu trữ dữ liệu trong HDFS như thể hiện trong hình dưới đây.

Bước đầu tiên là tạo một ứng dụng Twitter. Đối với điều này, trước tiên bạn phải truy cập url này: https://apps.twitter.com/ và đăng nhập vào tài khoản Twitter của bạn. Vào tab tạo ứng dụng như trong hình dưới đây.

Sau đó, tạo một ứng dụng như trong hình dưới đây.

Sau khi tạo ứng dụng này, bạn sẽ tìm thấy mã thông báo Key & Access. Sao chép khóa và mã thông báo truy cập. Chúng tôi sẽ chuyển các mã thông báo này trong tệp cấu hình Flume của chúng tôi để kết nối với ứng dụng này.

Bây giờ, hãy tạo một tệp flume.conf trong thư mục gốc của flume như thể hiện trong hình dưới đây. Như chúng ta đã thảo luận, trong Flume’s Architecture, chúng ta sẽ định cấu hình Nguồn, Sink và Kênh của mình. Nguồn của chúng tôi là Twitter, từ đó chúng tôi đang phát trực tuyến dữ liệu và Sink của chúng tôi là HDFS, nơi chúng tôi đang ghi dữ liệu.

Trong cấu hình nguồn, chúng tôi đang chuyển loại nguồn Twitter là org.apache.flume.source.twitter.TwitterSource. Sau đó, chúng tôi đang chuyển tất cả bốn mã thông báo mà chúng tôi nhận được từ Twitter. Cuối cùng trong cấu hình nguồn, chúng tôi đang chuyển các từ khóa mà chúng tôi sẽ tìm nạp các tweet.

Trong cấu hình Sink, chúng ta sẽ cấu hình các thuộc tính HDFS. Chúng tôi sẽ thiết lập đường dẫn HDFS, định dạng ghi, loại tệp, kích thước hàng loạt, v.v. Cuối cùng, chúng tôi sẽ thiết lập kênh bộ nhớ như thể hiện trong hình dưới đây.

Bây giờ tất cả chúng ta đã sẵn sàng để thực hiện. Hãy để chúng tôi tiếp tục và thực hiện lệnh này:

$ FLUME_HOME / bin / flume-ng agent --conf ./conf/ -f $ FLUME_HOME / flume.conf

Sau khi thực hiện lệnh này một lúc, và sau đó bạn có thể thoát khỏi thiết bị đầu cuối bằng cách sử dụng CTRL + C. Sau đó, bạn có thể tiếp tục trong thư mục Hadoop của mình và kiểm tra đường dẫn được đề cập, xem tệp có được tạo hay không.

chuỗi con trong máy chủ sql với ví dụ

Tải xuống tệp và mở nó. Bạn sẽ nhận được một cái gì đó như hiển thị trong hình ảnh dưới đây.

Tôi hy vọng blog này là thông tin và giá trị gia tăng cho bạn. Nếu bạn quan tâm để tìm hiểu thêm, bạn có thể xem qua cho bạn biết về Dữ liệu lớn và cách Hadoop đang giải quyết các thách thức liên quan đến Dữ liệu lớn.

Bây giờ bạn đã hiểu Apache Flume, hãy xem của Edureka, một công ty học trực tuyến đáng tin cậy với mạng lưới hơn 250.000 người học hài lòng trải dài trên toàn cầu. Khóa đào tạo Chứng chỉ Edureka Big Data Hadoop giúp người học trở thành chuyên gia trong lĩnh vực HDFS, Yarn, MapReduce, Pig, Hive, HBase, Oozie, Flume và Sqoop bằng các trường hợp sử dụng thời gian thực trên miền Bán lẻ, Truyền thông xã hội, Hàng không, Du lịch, Tài chính.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần bình luận và chúng tôi sẽ liên hệ lại với bạn.