Hive Interpreter for Apache Zeppelin

Important Notice

Hive Interpreter will be deprecated and merged into JDBC Interpreter. You can use Hive Interpreter by using JDBC Interpreter with same functionality. See the example below of settings and dependencies.

Properties

Property Value
hive.driver org.apache.hive.jdbc.HiveDriver
hive.url jdbc:hive2://localhost:10000
hive.user hiveUser
hive.password hivePassword

Dependencies

Artifact Exclude
org.apache.hive:hive-jdbc:0.14.0
org.apache.hadoop:hadoop-common:2.6.0

Configuration

Property Default Description
default.driver org.apache.hive.jdbc.HiveDriver Class path of JDBC driver
default.url jdbc:hive2://localhost:10000 Url for connection
default.user ( Optional ) Username of the connection
default.password ( Optional ) Password of the connection
default.xxx ( Optional ) Other properties used by the driver
${prefix}.driver Driver class path of %hive(${prefix})
${prefix}.url Url of %hive(${prefix})
${prefix}.user ( Optional ) Username of the connection of %hive(${prefix})
${prefix}.password ( Optional ) Password of the connection of %hive(${prefix})
${prefix}.xxx ( Optional ) Other properties used by the driver of %hive(${prefix})

This interpreter provides multiple configuration with ${prefix}. User can set a multiple connection properties by this prefix. It can be used like %hive(${prefix}).

Overview

The Apache Hive ™ data warehouse software facilitates querying and managing large datasets residing in distributed storage. Hive provides a mechanism to project structure onto this data and query the data using a SQL-like language called HiveQL. At the same time this language also allows traditional map/reduce programmers to plug in their custom mappers and reducers when it is inconvenient or inefficient to express this logic in HiveQL.

How to use

Basically, you can use

%hive
select * from my_table;

or

%hive(etl)
-- 'etl' is a ${prefix}
select * from my_table;

You can also run multiple queries up to 10 by default. Changing these settings is not implemented yet.

Apply Zeppelin Dynamic Forms

You can leverage Zeppelin Dynamic Form inside your queries. You can use both the text input and select form parameterization features.

%hive
SELECT ${group_by}, count(*) as count
FROM retail_demo.order_lineitems_pxf
GROUP BY ${group_by=product_id,product_id|product_name|customer_id|store_id}
ORDER BY count ${order=DESC,DESC|ASC}
LIMIT ${limit=10};