README
     Progress(R) DataDirect(R)
     Progress(R) DataDirect(R) for JDBC(TM) for Apache Hive(TM) Driver
     Release 6.0.1 
     April 16, 2019


***********************************************************************
Copyright (C) 2019 Progress and/or its 
subsidiaries or affiliates. All Rights Reserved.
***********************************************************************


CONTENTS

Requirements
Installation Directory
Changes since 6.0.1 GA
Changes for 6.0.1 GA
Changes for 6.0.0 GA
Notes, Known Problems, and Restrictions
Documentation
Installed Files


     Requirements

Java SE 6 or higher must be installed and the JVM must be defined on your system
path.


     Installation Directory

The default installation directory for the driver is:

* Windows:
  C:\Program Files\Progress\DataDirect\JDBC_60

* UNIX/Linux:
  /opt/Progress/DataDirect/JDBC_60
  Note: For UNIX/Linux, if you do not have access to "/opt", your user's home
  directory will take the place of this directory.
  

    Changes since 6.0.1 GA

Certifications
--------------
* Certified with Hive 3.1
  Driver version 6.0.1.000102 (F000174.U000090)

* Certified with Microsoft Azure HDInsight for Hive 3.6
  Driver version 6.0.1.000102 (F000174.U000090)
  
* Certified with Oracle JDK 11
  Driver version 6.0.1.000102 (F000174.U000090)

* Certified with OpenJDK 11
  Driver version 6.0.1.000102 (F000174.U000090)

* Certified with OpenJDK 8 on Windows and Linux
  Driver version 6.0.1.000102 (F000174.U000090)	
	
Enhancements
------------	
* The driver has been enhanced to support ACID operations for Inserts, Updates,
  and Deletes on servers that are configured to use them.

* The driver has been enhanced to support Kerberos authentication for
  Apache ZooKeeper.
  
* The driver has been enhanced to support Apache ZooKeeper, which can be 
  configured using the updated ServerName connection property and the new 
  ZooKeeperDiscovery and ZooKeeperNamespace connection properties. 
  
Refer to the user's guide for additional information about these changes. 


    Changes for 6.0.1 GA
	
Certifications
--------------
* Certified with Hortonworks 2.6
* Certified with MapR 5.2
  
Enhancements
------------	
* The driver has been enhanced to support the following complex data types:
  Array, Map, Struct, and Union.

* The driver has been enhanced to support the Statement.cancel API, which 
  allows you to cancel running queries.  
  
* The new InitializationString connection property allows you to specify one 
  or multiple SQL commands to be executed by the driver at connection. This 
  provides a method for specifying session settings at connection, such as 
  runtime server-side variables or timezones.   
  
* The driver has been enhanced to support the Binary data type, including
  the following two new connection properties:
  
  - MaxBinarySize allows you to specify the maximum length of fields of the
    Binary data type that the driver describes through result set descriptions
    and metadata methods.
	
  - BinaryDescribeType allows you to specify whether Binary columns are
    described as VARBINARY or LONGVARBINARY.

* The new MaxStringSize property allows you to specify the maximum length of 
  fields of the String data type that the driver describes through result set
  descriptions and metadata methods.	

Changed Behavior 
----------------
* The ServicePrincipalName property has been updated to provide a default 
  value. If no value is specified, the driver builds the default using hive 
  for the service name and the value of the ServerName property as the fully 
  qualified domain name. 
  
Refer to the user's guide for additional information about these changes.


     Release 6.0.0 Features

Certifications
--------------
* Certified with Hive 2.0.x, 2.1.x 

* The driver for Apache Hive has been certified with the following
  distributions:

  - Cloudera (CDH) 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 5.10, 5.11, 5.12

  - Hortonworks (HDP) 2.3, 2.4, 2.5

  - IBM BigInsights 4.1, 4.2, 4.3


Enhancements 
------------ 
* The driver has been enhanced to optimize the performance of fetches.

* The driver has been enhanced to support the Char, Date, Decimal, and Varchar
  data types.
  
* The driver has been enhanced to support HTTP mode, which allows you to access
  Apache Hive data stores using HTTP/HTTPS requests. HTTP mode can be 
  configured using the new TransportMode and HTTPPath connection properties. 
  
* The driver has been enhanced to support cookie based authentication for HTTP
  connections. Cookie based authentication can be configured using the new 
  EnableCookieAuthentication and CookieName connection properties.  
  
* The driver has been enhanced to support Apache Knox. 

* The driver has been enhanced to support Impersonation and Trusted 
  Impersonation using the new ImpersonateUser property.  
  
* The BatchMechanism connection property has been added to the driver. When
  BatchMechanism is set to multiRowInsert, the driver executes a single 
  insert for all the rows contained in a parameter array. MultiRowInsert is
  the default setting and provides substantial performance gains when 
  performing batch inserts.

* The new CatalogMode connection property allows you to determine whether the
  driver uses native catalog functions to retrieve information returned by 
  DatabaseMetaData functions. In the default setting, the driver employs a 
  balance of native functions and driver-discovered information for the optimal
  balance of performance and accuracy when retrieving catalog information.

* The new ArrayFetchSize connection property improves performance and reduces 
  out of memory errors. ArrayFetchSize can be used to increase throughput or,
  alternately, improve response time in Web-based applications. 

* The new ArrayInsertSize connection property provides a workaround for memory
  and server issues that can sometimes occur when inserting a large number of 
  rows that contain large values. 
  
* For Kerberos authentication environments, the following changes have been 
  implemented: 
  
  - The driver no longer sets the java.security.auth.login.config system 
    property to force the use of the installed JDBCDriverLogin.conf file as the
    JAAS login configuration file. By default, the driver now uses the default 
    JAAS login configuration file for Java, unless you specify a different 
    location and file using the java.security.auth.login.config system 
    property. 
	
  - The driver no longer sets the java.security.krb5.conf system property to 
    force the use of the krb5.conf file installed with the driver jar files in 
    the /lib directory of the product installation directory.

  Refer to "Configuring the Driver for Kerberos Authentication" in the user’s 
  guide for details.  

* The driver has been enhanced to support SSL, incorporating the addition of 
  nine new connection properties.

* The driver's Kerberos functionality has been enhanced to support SASL-QOP
  data integrity and confidentiality.
  
Changed Behavior 
----------------  
* The driver supports Hive versions 1.0 and higher. Support has been deprecated
  for earlier Hive versions.

* The driver supports the HiveServer2 protocol and higher, and as a result:
  - Support for the HiveServer1 protocol has been deprecated
  - The Wire Protocol Version connection option has been deprecated

* Support has been deprecated for the following distributions:
  - Amazon Elastic MapReduce (Amazon EMR) 2.1.4, 2.24-3.1.4, 3.2-3.7
  - Cloudera's Distribution Including Apache Hadoop (CDH) 4.0, 4.1, 4.2, 4.5,
    5.0, 5.1, 5.2, 5.3
  - Hortonworks (HDP), versions 1.3, 2.0, 2.1, 2.2
  - IBM BigInsights 3.0
  - MapR Distribution for Apache Hadoop 1.2, 2.0
  - Pivotal Enterprise HD 2.0.1, 2.1 

 
     Notes, Known Problems, and Restrictions

The following are notes, known problems, and restrictions with the 6.0.0
release of the driver. These restrictions are based on using 
Apache Hive 1.0; other versions of Apache Hive will have their own 
restrictions. You may find a more complete listing of Apache Hive known issues
and limitations for your version of Apache Hive in the Apache Hive user 
documentation here: https://cwiki.apache.org/confluence/display/Hive/Home

General Restrictions for Apache Hive
------------------------------------
The following restrictions apply to Apache Hive environments: 
* No support for row-level updates or deletes
* No difference exists between "NULL" and null values 
* No support for auto-commit transactions

OLTP Workloads
--------------
Note that Apache Hive is not designed for OLTP workloads and does not offer
real-time queries or row-level updates. Apache Hive is instead designed for
batch type jobs over large data sets with high latency.

HiveQL
------
Apache Hive uses HiveQL, which provides much of the functionality of SQL,
but has some limitation syntax differences. For more information, refer to
the Hive Language Manual at 
https://cwiki.apache.org/confluence/display/Hive/LanguageManual.
* A single quote within a string literal must be escaped using a \ instead
  of using a single quote.
* Join support is limited to equi-joins.

System.exit() method and Process Termination
--------------------------------------------
The System.exit() method ensures that all registered shutdown hooks are run.
Applications terminate faster when System.exit(0) is used. When applications omit
the System.exit() call, the termination process may linger for about 10 seconds
before exiting.

Executing DataDirect Shell Script
---------------------------------
For UNIX/Linux users: If you receive an error message when executing any
DataDirect for JDBC shell script, make sure that the file has EXECUTE permission.
To do this, use the chmod command. For example, to grant EXECUTE permission to
the testforjdbc.sh file, change to the directory containing testforjdbc.sh and
enter: 

chmod +x testforjdbc.sh

JDBC Methods
------------
The following notes on JDBC methods apply generally to Progress DataDirect for
JDBC drivers.

* When attempting to create an updatable, scroll-sensitive result set for a
  query that contains an expression as one of the columns, the driver cannot
  satisfy the scroll-sensitive request. The driver downgrades the type of the
  result returned to scroll-insensitive.

* The ResultSet methods getTimestamp(), getDate(), and getTime() return
  references to mutable objects. If the object reference returned from any of
  these methods is modified, re-fetching the column using the same method
  returns the modified value. The value is only modified in memory; the
  database value is not modified.


     Documentation	 	 

PROGRESS DATADIRECT FOR JDBC FOR APACHE HIVE DRIVER USER'S GUIDE
----------------------------------------------------------------
The USER'S GUIDE is available as an HTML help system and as a PDF.

* The HTML help system is installed in the HiveHelp subdirectory of your
  product installation directory.

* The HTML help system and the PDF are available on the Progress DataDirect Web
  site:
  https://www.progress.com/resources/documentation/datadirect-documentation


     Installed Files

When you extract the contents of the installation download package to your
installer directory, you will notice the following files that are required to
install the driver:

*  Windows:
   - PROGRESS_DATADIRECT_JDBC_INSTALL.exe
   - PROGRESS_DATADIRECT_JDBC_HIVE_6.0.0_INSTALL.iam.zip
   - PROGRESS_DATADIRECT_JDBC_COMMON_6.0.0_INSTALL.iam.zip
   - PROGRESS_DATADIRECT_JDBC_DOCUMENTATION_6.0.0_INSTALL.iam.zip

*  Non-Windows:
   - PROGRESS_DATADIRECT_JDBC_INSTALL.jar
   - PROGRESS_DATADIRECT_JDBC_HIVE_6.0.1_INSTALL.iam.zip
   - PROGRESS_DATADIRECT_JDBC_COMMON_6.0.0_INSTALL.iam.zip
   - PROGRESS_DATADIRECT_JDBC_DOCUMENTATION_6.0.0_INSTALL.iam.zip

When you install the driver, the installer creates the following directories and
files in the product installation directory in the default installation
directory or in an installation directory you specify, represented by
INSTALL_DIR.


INSTALL_DIR/:
-------------
LicenseTool.jar            Product license file manager

DDProcInfo.exe             Windows executable to start the Processor Information
                           Utility

DDProcInfo                 UNIX/Linux script to start the Processor Information
                           Utility


INSTALL_DIR/Examples/Bulk/:
---------------------------
Load From File/bulkLoadFileDemo.java
                           Java source example for bulk loading from a CSV file

Load From File/load.txt    Sample data for the example

Streaming/bulkLoadStreamingDemo.java
                           Java source example for bulk loading from a result
                           set

Threaded Streaming/bulkLoadThreadedStreamingDemo.java
                           Java source example for multi-threaded bulk loading
                           from a result set

Threaded Streaming/README.txt
                           Instructions on how to use the thread.properties file

Threaded Streaming/thread.properties
                           Properties file for the example


INSTALL_DIR/Examples/JNDI/:
---------------------------
JNDI_FILESYSTEM_Example.java
                           Example Java(TM) source file

JNDI_LDAP_Example.java     Example Java source file


INSTALL_DIR/Help/: 
------------------
HiveHelp/index.html    Driver HTML help system entry file

HiveHelp/*             Support files and folders for the driver help system


INSTALL_DIR/install/: 
---------------------
.psc_dd_inst_reg.xml       Support file for the installation logs

logs/*.*                   Log file generated upon installing or uninstalling


INSTALL_DIR/jre/:
-----------------
*.*                        Files associated with the driver. Installed only when
                           installing on Windows with the Windows executable
                           file.


INSTALL_DIR/lib/:
-----------------
hive.jar              Apache Hive Driver and DataSource classes

JDBCDriverLogin.conf       The JAAS login configuration file installed with the
                           driver


INSTALL_DIR/NOTICES/:
---------------------
JDBC for Apache Hive v6.0 notices.txt
                           Third party agreement information


INSTALL_DIR/pool manager/:
--------------------------
pool.jar                   All DataDirect Connection Pool Manager classes


INSTALL_DIR/READMES/:
---------------------
JDBC for Apache Hive v6.0 readme.txt
                           This file


INSTALL_DIR/testforjdbc/:
-------------------------
Config.txt                 Configuration file for DataDirect Test

ddlogging.properties       Logging properties file

testforjdbc.bat            Batch file to start DataDirect Test

testforjdbc.sh             Shell script to start DataDirect Test

lib/testforjdbc.jar        DataDirect Test classes


INSTALL_DIR/uninstall/:
-----------------------
.com.zerog.registry.xml    Support file for the uninstaller

.psc_dd_uninst_reg.xml     Support file for the uninstaller

InstallScript.iap_xml      Support file for the uninstaller

installvariables.properties
                           Support file for the Windows uninstaller

Uninstall_JDBC_60.exe      Windows uninstaller

Uninstall_JDBC_60.lax      Support file for the Windows uninstaller

uninstaller.jar            Java uninstaller

resource/*.*               Resource files for the Windows uninstaller



April 16, 2019
================
End of README