Apache Hadoop mainly consists of two
major components:
- The Hadoop Distributed File System (HDFS)
- The MapReduce software framework
HDFS is responsible for storing the data in a
distributed manner across multiple Hadoop cluster nodes. The MapReduce
framework provides rich computational APIs for developers to code, which
eventually run as map and reduce tasks on the Hadoop cluster.
The
ecosystem of Apache Hadoop
Understanding Apache Hadoop
ecosystem enables us to effectively apply the concepts of the MapReduce
paradigm at different requirements. It also provides end-to-end solutions to
various problems that are faced by us every day.
Apache Hadoop ecosystem is vast in nature. It
has grown drastically over the time due to different organizations contributing
to this open source initiative. Due to the huge ecosystem, it meets the needs
of different organizations for high performance analytics.
Apache HBase
HDFS is append-only file system; it does not allow
data modification. Apache HBase is a distributed,
random-access, and column-oriented database. HBase directly runs on top of
HDFS, and it allows application developers to read/write the HDFS
data directly. HBase does not support SQL; hence,
it is also called as NOSQL database. However, it provides command-line-based
interface, as well as a rich set of APIs to update the
data. The
data
in HBase gets stored as key-value pairs in HDFS.
Apache Pig
Apache Pig provides another abstraction layer on top of MapReduce. It
provides something called Pig Latin, which is a programming language that
creates MapReduce programs using Pig. Pig Latin is a high-level language for
developers to write high-level software for analyzing
data. Pig code generates parallel execution tasks,
therefore effectively uses the distributed Hadoop cluster. Pig was initially
developed at Yahoo! Research to enable developers create ad-hoc MapReduce jobs
for Hadoop. Since then, many
big
organizations such as eBay, LinkedIn, and Twitter have started using Apache
Pig.
Apache Hive
Apache Hive provides
data warehouse
capabilities using
Big Data. Hive runs on top of Apache Hadoop, and uses
HDFS for storing its
data. The Apache Hadoop
framework is difficult to understand, and it requires a different approach from
traditional programming to write MapReduce-based programs. With Hive,
developers do not write MapReduce at all. Hive provides a SQL like query
language called HiveQL to application developers, enabling them to quickly
write ad-hoc queries similar to RDBMS SQL queries.
Apache Sqoop
Apache Sqoop is a tool designed to do load large
datasets in Hadoop efficiently. Apache Sqoop allows application developers to
import/export easily from specific data
sources such as relational databases, enterprise data
warehouses, and custom applications. Apache Sqoop internally uses a map task to
perform data import/export effectively on
Hadoop cluster. Each mapper loads/unloads slice of data
across HDFS and data source. Apache Sqoop
establishes connectivity between non-Hadoop data
sources and HDFS.