Apache Flume - Data Transfer in Hadoop - Tutorialspoint
Apache Flume - Data Transfer in Hadoop - Tutorialspoint
Apache Flume - Data Transfer in Hadoop - Tutorialspoint
Developer's Best Practices Hadoop File System Shell provides commands to insert data into Hadoop and read from it. You can
insert data into Hadoop using the put command as shown below.
Questions and Answers
Effective Resume Writing $ Hadoop fs –put /path of the required file /path in HDFS where to save the file
HR Interview Questions
Computer Glossary
Problem with put Command
Who is Who
We can use the put command of Hadoop to transfer data from these sources to HDFS. But, it
suffers from the following drawbacks −
Using put command, we can transfer only one file at a time while the data generators
generate data at a much higher rate. Since the analysis made on older data is less
accurate, we need to have a solution to transfer data in real time.
If we use put command, the data is needed to be packaged and should be ready for the
upload. Since the webservers generate data continuously, it is a very difficult task.
What we need here is a solutions that can overcome the drawbacks of put command and transfer
the "streaming data" from data generators to centralized stores (especially HDFS) with less delay.
Note − In POSIX file system, whenever we are accessing a file (say performing write operation),
other programs can still read this file (at least the saved portion of the file). This is because the file
exists on the disc before it is closed.
Available Solutions
To send streaming data (log files, events etc..,) from various sources to HDFS, we have the following
tools available at our disposal −
Facebook’s Scribe
Scribe is an immensely popular tool that is used to aggregate and stream log data. It is designed to
scale to a very large number of nodes and be robust to network and node failures.
Apache Kafka
Kafka has been developed by Apache Software Foundation. It is an open-source message broker.
Using Kafka, we can handle feeds with high-throughput and low-latency.
Apache Flume
Apache Flume is a tool/service/data ingestion mechanism for collecting aggregating and transporting
large amounts of streaming data such as log data, events (etc...) from various webserves to a
centralized data store.
It is a highly reliable, distributed, and configurable tool that is principally designed to transfer streaming
data from various sources to HDFS.
In this tutorial, we will discuss in detail how to use Flume with some examples.
Advertisements
About us Terms of use Cookies Policy FAQ's Helping Contact