Apache Hive helps with querying and managing large datasets real fast. It is an ETL tool for Hadoop ecosystem. In this tutorial, you will learn important topics of Hive like HQL queries, data extractions, partitions, buckets and so on.
What should I know?
Basic knowledge of SQL, Hadoop and other databases will be of an additional help.
Here is what you learn in this course
|Tutorial||What is Hive? Architecture & Modes|
|Tutorial||HIVE Installation & Configuration with MYSQL|
|Tutorial||Hive Data Types & Create, Drop Database|
|Tutorial||Hive Create, Alter & Drop Table|
|Tutorial||Hive Partitions & Buckets witth Example|
|Tutorial||Hive Indexes and View with Example|
|Tutorial||Hive Queries: Order By, Group By, Distribute By, Cluster By Examples|
|Tutorial||Hive Join & SubQuery Tutorial with Examples|
|Tutorial||HiveQL(Hive Query Language) Tutorial: Built-in Operators|
|Tutorial||Hive Function: Built-in & UDF (User Defined Functions)|
|Tutorial||Hive ETL: Loading JSON, XML, Text Data Examples|
Introduction to Hive
Hive is developed on top of Hadoop. It is a data warehouse framework for querying and analysis of data that is stored in HDFS. Hive is an open source-software that lets programmers analyze large data sets on Hadoop.
The size of data sets being collected and analyzed in the industry for business intelligence is growing and in a way, it is making traditional data warehousing solutions more expensive. Hadoop with MapReduce framework, is being used as an alternative solution for analyzing data sets with huge size. Though, Hadoop has proved useful for working on huge data sets, its MapReduce framework is very low level and it requires programmers to write custom programs which are hard to maintain and reuse. Hive comes here for rescue of programmers.
Hive evolved as a data warehousing solution built on top of Hadoop Map-Reduce framework.
Hive provides SQL-like declarative language, called HiveQL, which is used for expressing queries. Using Hive-QL users associated with SQL are able to perform data analysis very easily.
Hive engine compiles these queries into Map-Reduce jobs to be executed on Hadoop. In addition, custom Map-Reduce scripts can also be plugged into queries. Hive operates on data stored in tables which consists of primitive data types and collection data types like arrays and maps.
Hive comes with a command-line shell interface which can be used to create tables and execute queries.
Hive query language is similar to SQL wherein it supports subqueries. With Hive query language, it is possible to take a MapReduce joins across Hive tables. It has a support for simple SQL like functions- CONCAT, SUBSTR, ROUND etc., and aggregation functions- SUM, COUNT, MAX etc. It also supports GROUP BY and SORT BY clauses. It is also possible to write user defined functions in Hive query language.
Hive Vs Map Reduce
Prior to choosing one of these two options, we must look at some of their features.
While choosing between Hive and Map reduce following factors are taken in consideration;
- Type of Data
- Amount of Data
- Complexity of Code
Hive Vs Map Reduce
It Supports SQL like query language for interaction and for Data modeling
Level of abstraction
Higher level of Abstraction on top of HDFS
Lower level of abstraction
Efficiency in Code
Comparatively lesser than Map reduce
Provides High efficiency
Extent of code
Less number of lines code required for execution
More number of lines of codes to be defined
Type of Development work required
Less Development work required
More development work needed