Apache Hive (Hadoop) Reader

Licensing options for this format begin with FME Professional Edition.

The Apache Hive (Hadoop) reader module provides FME access to databases and file systems within Hadoop via Hive.


FME supports HiveServer2, which was introduced in Hive 0.11.0. FME is not compatible with HiveServer1, which has been removed from Hive releases since Hive 1.0.0.

To start using Hive Reader, you will first need to obtain a Hive JDBC client driver.

Finding the JDBC Driver in Your Hive Server Installation

The Hive installation within your Hadoop cluster would typically include a compatible Hive JDBC client driver (a .jar file).

Note: For best results, use the Hive JDBC driver that matches your Hive installation. Apache Hive JDBC client drivers are not backwards compatible: newer client versions cannot connect to older Hive servers. Standalone Hive JDBC Drivers were introduced on Hive 0.14.0. We do not recommend using versions older than 0.14.0.

Here are some typical locations:

Hortonworks distribution of Hadoop

  • /usr/hdp/current/hive-client/lib/hive-jdbc-<version>-standalone.jar


Cloudera distribution of Hadoop

  • /usr/lib/hive/lib/hive-jdbc-<version>-standalone.jar

You can also use the basic Apache Hive JDBC Driver.

The .jar filename should resemble this string: hive-jdbc-<version>-standalone.jar.

Installing the JDBC Driver

To view instructions for installing the JDBC driver, please see Getting Started with JDBC.

Usage Notes

The performance of this format is dependent on the amount of memory allocated to the Java Virtual Machine (JVM). The following environment variables allow you to specify memory available to Java Plugins:

  • FME_JVM_MIN_HEAP_SIZE: Initial heap size for initializing the JVM.
  • FME32_JVM_MIN_HEAP_SIZE: Same as FME_JVM_MIN_HEAP_SIZE, but applies to 32-bit FME Desktop on Windows, and takes precedence over FME_JVM_MIN_HEAP_SIZE.

  • FME_JVM_MAX_HEAP_SIZE: Maximum heap size for initializing the JVM.
  • FME32_JVM_MAX_HEAP_SIZE: Same as FME_JVM_MAX_HEAP_SIZE, but applies to 32-bit FME Desktop on Windows, and takes precedence over FME_JVM_MAX_HEAP_SIZE.

These variables must be set for FME to honor them, and must be multiples of 1024K (for example, 4M and 64M, or 4096K and 32768K).

Note: To pass additional parameters used by FME to the Java Virtual Machine, use the JAVA_TOOL_OPTIONS environment variable.