The Apache Hive team is pleased to announce the release of Apache Hive 0.7.0.

Apache Hive is a data warehouse system for Hadoop that facilitates easy data summarization, ad-hoc querying, and analysis of large datasets stored in Hadoop compatible file systems

Apache Hive 0.7.0 is available in both binary and source distributions.

   * http://hive.apache.org/releases.html#Download


Release Notes - Hive - Version 0.7.0

** New Feature
    * [HIVE-78] - Authorization infrastructure for Hive
    * [HIVE-417] - Implement Indexing in Hive
    * [HIVE-471] - Add reflect() UDF for reflective invocation of Java methods
    * [HIVE-537] - Hive TypeInfo/ObjectInspector to support union (besides struct, array, and map)
    * [HIVE-842] - Authentication Infrastructure for Hive
    * [HIVE-1096] - Hive Variables
    * [HIVE-1293] - Concurrency Model for Hive
    * [HIVE-1304] - add row_sequence UDF
    * [HIVE-1405] - hive command line option -i to run an init file before other SQL commands
    * [HIVE-1408] - add option to let hive automatically run in local mode based on tunable heuristics
    * [HIVE-1413] - bring a table/partition offline
    * [HIVE-1438] - sentences() UDF for natural language tokenization
    * [HIVE-1481] - ngrams() UDAF for estimating top-k n-gram frequencies
    * [HIVE-1514] - Be able to modify a partition's fileformat and file location information.
    * [HIVE-1518] - context_ngrams() UDAF for estimating top-k contextual n-grams
    * [HIVE-1528] - Add json_tuple() UDTF function
    * [HIVE-1529] - Add ANSI SQL covariance aggregate functions: covar_pop and covar_samp.
    * [HIVE-1549] - Add ANSI SQL correlation aggregate function CORR(X,Y).
    * [HIVE-1609] - Support partition filtering in metastore
    * [HIVE-1624] - Patch to allows scripts in S3 location
    * [HIVE-1636] - Implement "SHOW TABLES {FROM | IN} db_name"
    * [HIVE-1659] - parse_url_tuple: a UDTF version of parse_url
    * [HIVE-1661] - Default values for parameters
    * [HIVE-1779] - Implement GenericUDF str_to_map
    * [HIVE-1790] - Patch to support HAVING clause in Hive
    * [HIVE-1792] - track the joins which are being converted to map-join automatically
    * [HIVE-1818] - Call frequency and duration metrics for HiveMetaStore via jmx
    * [HIVE-1819] - maintain lastAccessTime in the metastore
    * [HIVE-1820] - Make Hive database data center aware
    * [HIVE-1827] - Add a new local mode flag in Task.
    * [HIVE-1835] - Better auto-complete for Hive
    * [HIVE-1840] - Support ALTER DATABASE to change database properties
    * [HIVE-1856] - Implement DROP TABLE/VIEW ... IF EXISTS
    * [HIVE-1858] - Implement DROP {PARTITION, INDEX, TEMPORARY FUNCTION} IF EXISTS
    * [HIVE-1881] - Make the MetaStore filesystem interface pluggable via the hive.metastore.fs.handler.class configuration property
    * [HIVE-1889] - add an option (hive.index.compact.file.ignore.hdfs) to ignore HDFS location stored in index files.
    * [HIVE-1971] - Verbose/echo mode for the Hive CLI

** Improvement
    * [HIVE-138] - Provide option to export a HEADER
    * [HIVE-474] - Support for distinct selection on two or more columns
    * [HIVE-558] - describe extended table/partition output is cryptic
    * [HIVE-1126] - Missing some Jdbc functionality like getTables getColumns and HiveResultSet.get* methods based on column name.
    * [HIVE-1211] - Tapping logs from child processes
    * [HIVE-1226] - support filter pushdown against non-native tables
    * [HIVE-1229] - replace dependencies on HBase deprecated API
    * [HIVE-1235] - use Ivy for fetching HBase dependencies
    * [HIVE-1264] - Make Hive work with Hadoop security
    * [HIVE-1378] - Return value for map, array, and struct needs to return a string
    * [HIVE-1394] - do not update transient_lastDdlTime if the partition is modified by a housekeeping operation
    * [HIVE-1414] - automatically invoke .hiverc init script
    * [HIVE-1415] - add CLI command for executing a SQL script
    * [HIVE-1430] - serializing/deserializing the query plan is useless and expensive
    * [HIVE-1441] - Extend ivy offline mode to cover metastore downloads
    * [HIVE-1443] - Add support to turn off bucketing with ALTER TABLE
    * [HIVE-1447] - Speed up reflection method calls in GenericUDFBridge and GenericUDAFBridge
    * [HIVE-1456] - potentail NullPointerException
    * [HIVE-1463] - hive output file names are unnecessarily large
    * [HIVE-1469] - replace isArray() calls and remove LOG.isInfoEnabled() in Operator.forward()
    * [HIVE-1495] - supply correct information to hooks and lineage for index rebuild
    * [HIVE-1497] - support COMMENT clause on CREATE INDEX, and add new command for SHOW INDEXES
    * [HIVE-1498] - support IDXPROPERTIES on CREATE INDEX
    * [HIVE-1512] - Need to get hive_hbase-handler to work with hbase versions 0.20.4 0.20.5 and cloudera CDH3 version
    * [HIVE-1513] - hive starter scripts should load admin/user supplied script for configurability
    * [HIVE-1517] - ability to select across a database
    * [HIVE-1533] - Use ZooKeeper from maven
    * [HIVE-1536] - Add support for JDBC PreparedStatements
    * [HIVE-1546] - Ability to plug custom Semantic Analyzers for Hive Grammar
    * [HIVE-1581] - CompactIndexInputFormat should create split only for files in the index output file.
    * [HIVE-1605] - regression and improvements in handling NULLs in joins
    * [HIVE-1611] - Add alternative search-provider to Hive site
    * [HIVE-1616] - Add ProtocolBuffersStructObjectInspector
    * [HIVE-1617] - ScriptOperator's AutoProgressor can lead to an infinite loop
    * [HIVE-1622] - Use CombineHiveInputFormat for the merge job if hive.merge.mapredfiles=true
    * [HIVE-1638] - convert commonly used udfs to generic udfs
    * [HIVE-1641] - add map joined table to distributed cache
    * [HIVE-1642] - Convert join queries to map-join based on size of table/row
    * [HIVE-1645] - ability to specify parent directory for zookeeper lock manager
    * [HIVE-1655] - Adding consistency check at jobClose() when committing dynamic partitions
    * [HIVE-1660] - Change get_partitions_ps to pass partition filter to database
    * [HIVE-1692] - FetchOperator.getInputFormatFromCache hides causal exception
    * [HIVE-1701] - drop support for pre-0.20 Hadoop versions
    * [HIVE-1704] - remove Hadoop 0.17 specific test reference logs
    * [HIVE-1738] - Optimize Key Comparison in GroupByOperator
    * [HIVE-1743] - Group-by to determine equals of Keys in reverse order
    * [HIVE-1746] - Support for using ALTER to set IDXPROPERTIES
    * [HIVE-1749] - ExecMapper and ExecReducer: reduce function calls to l4j.isInfoEnabled()
    * [HIVE-1750] - Remove Partition Filtering Conditions when Possible
    * [HIVE-1751] - Optimize ColumnarStructObjectInspector.getStructFieldData()
    * [HIVE-1754] - Remove JDBM component from Map Join
    * [HIVE-1757] - test cleanup for Hive-1641
    * [HIVE-1758] - optimize group by hash map memory
    * [HIVE-1761] - Support show locks for a particular table
    * [HIVE-1765] - Add queryid while locking
    * [HIVE-1768] - Update transident_lastDdlTime only if not specified
    * [HIVE-1782] - add more debug information for hive locking
    * [HIVE-1783] - CommonJoinOperator optimize the case of 1:1 join
    * [HIVE-1785] - change Pre/Post Query Hooks to take in 1 parameter: HookContext
    * [HIVE-1786] - Improve documentation for str_to_map() UDF
    * [HIVE-1787] - optimize the code path when there are no outer joins
    * [HIVE-1796] - dumps time at which lock was taken along with the queryid in show locks <T> extended
    * [HIVE-1797] - Compressed the hashtable dump file before put into distributed cache
    * [HIVE-1798] - Clear empty files in Hive
    * [HIVE-1801] - HiveInputFormat or CombineHiveInputFormat always sync blocks of RCFile twice
    * [HIVE-1811] - Show the time the local task takes
    * [HIVE-1824] - create a new ZooKeeper instance when retrying lock, and more info for debug
    * [HIVE-1831] - Add a option to run task to check map-join possibility in non-local mode
    * [HIVE-1834] - more debugging for locking
    * [HIVE-1843] - add an option in dynamic partition inserts to throw an error if 0 partitions are created
    * [HIVE-1852] - Reduce unnecessary DFSClient.rename() calls
    * [HIVE-1855] - Include Process ID in the log4j log file name
    * [HIVE-1865] - redo zookeeper hive lock manager
    * [HIVE-1899] - add a factory method for creating a synchronized wrapper for IMetaStoreClient
    * [HIVE-1900] - a mapper should be able to span multiple partitions
    * [HIVE-1907] - Store jobid in ExecDriver
    * [HIVE-1910] - Provide config parameters to control cache object pinning
    * [HIVE-1923] - Allow any type of stats publisher and aggregator in addition to HBase and JDBC
    * [HIVE-1929] - Find a way to disable owner grants
    * [HIVE-1931] - Improve the implementation of the METASTORE_CACHE_PINOBJTYPES config
    * [HIVE-1948] - Have audit logging in the Metastore
    * [HIVE-1956] - "Provide DFS initialization script for Hive
    * [HIVE-1961] - Make Stats gathering more flexible with timeout and atomicity
    * [HIVE-1962] - make a libthrift.jar and libfb303.jar in dist package for backward compatibility
    * [HIVE-1970] - Modify build to run all tests regardless of subproject failures
    * [HIVE-1978] - Hive SymlinkTextInputFormat does not estimate input size correctly

** Bug
    * [HIVE-307] - "LOAD DATA LOCAL INPATH" fails when the table already contains a file of the same name
    * [HIVE-741] - NULL is not handled correctly in join
    * [HIVE-1203] - HiveInputFormat.getInputFormatFromCache "swallows" cause exception when throwing IOExcpetion
    * [HIVE-1305] - add progress in join and groupby
    * [HIVE-1376] - Simple UDAFs with more than 1 parameter crash on empty row query
    * [HIVE-1385] - UDF field() doesn't work
    * [HIVE-1416] - Dynamic partition inserts left empty files uncleaned in hadoop 0.17 local mode
    * [HIVE-1422] - skip counter update when RunningJob.getCounters() returns null
    * [HIVE-1440] - FetchOperator(mapjoin) does not work with RCFile
    * [HIVE-1448] - bug in 'set fileformat'
    * [HIVE-1453] - Make Eclipse launch templates auto-adjust to Hive version number changes
    * [HIVE-1462] - Reporting progress in FileSinkOperator works in multiple directory case
    * [HIVE-1465] - hive-site.xml ${user.name} not replaced for local-file derby metastore connection URL
    * [HIVE-1470] - percentile_approx() fails with more than 1 reducer
    * [HIVE-1471] - CTAS should unescape the column name in the select-clause.
    * [HIVE-1473] - plan file should have a high replication factor
    * [HIVE-1475] - .gitignore files being placed in test warehouse directories causing build failure
    * [HIVE-1489] - TestCliDriver -Doverwrite=true does not put the file in the correct directory
    * [HIVE-1491] - fix or disable loadpart_err.q
    * [HIVE-1494] - Index followup: remove sort by clause and fix a bug in collect_set udaf
    * [HIVE-1501] - when generating reentrant INSERT for index rebuild, quote identifiers using backticks
    * [HIVE-1508] - Add cleanup method to HiveHistory class
    * [HIVE-1509] - Monitor the working set of the number of files
    * [HIVE-1510] - HiveCombineInputFormat should not use prefix matching to find the partitionDesc for a given path
    * [HIVE-1520] - hive.mapred.local.mem should only be used in case of local mode job submissions
    * [HIVE-1523] - ql tests no longer work in miniMR mode
    * [HIVE-1532] - Replace globStatus with listStatus inside Hive.java's replaceFiles.
    * [HIVE-1534] - Join filters do not work correctly with outer joins
    * [HIVE-1535] - alter partition should throw exception if the specified partition does not exist.
    * [HIVE-1547] - Unarchiving operation throws NPE
    * [HIVE-1548] - populate inputs and outputs for all statements
    * [HIVE-1556] - Fix TestContribCliDriver test
    * [HIVE-1561] - smb_mapjoin_8.q returns different results in miniMr mode
    * [HIVE-1563] - HBase tests broken
    * [HIVE-1564] - bucketizedhiveinputformat.q fails in minimr mode
    * [HIVE-1570] - referencing an added file by it's name in a transform script does not work in hive local mode
    * [HIVE-1578] - Add conf. property hive.exec.show.job.failure.debug.info to enable/disable displaying link to the task with most failures
    * [HIVE-1580] - cleanup ExecDriver.progress
    * [HIVE-1583] - Hive should not override Hadoop specific system properties
    * [HIVE-1584] - wrong log files in contrib client positive
    * [HIVE-1589] - Add HBase/ZK JARs to Eclipse classpath
    * [HIVE-1593] - udtf_explode.q is an empty file
    * [HIVE-1598] - use SequenceFile rather than TextFile format for hive query results
    * [HIVE-1600] - need to sort hook input/output lists for test result determinism
    * [HIVE-1601] - Hadoop 0.17 ant test broken by HIVE-1523
    * [HIVE-1606] - For a null value in a string column, JDBC driver returns the string "NULL"
    * [HIVE-1607] - Reinstate and deprecate IMetaStoreClient methods removed in HIVE-675
    * [HIVE-1614] - UDTF json_tuple should return null row when input is not a valid JSON string
    * [HIVE-1628] - Fix Base64TextInputFormat to be compatible with commons codec 1.4
    * [HIVE-1629] - Patch to fix hashCode method in DoubleWritable class
    * [HIVE-1630] - bug in NO_DROP
    * [HIVE-1633] - CombineHiveInputFormat fails with "cannot find dir for emptyFile"
    * [HIVE-1639] - ExecDriver.addInputPaths() error if partition name contains a comma
    * [HIVE-1647] - Incorrect initialization of thread local variable inside IOContext ( implementation is not threadsafe )
    * [HIVE-1650] - TestContribNegativeCliDriver fails
    * [HIVE-1656] - All TestJdbcDriver test cases fail in Eclipse unless a property is added in run config
    * [HIVE-1657] - join results are displayed wrongly for some complex joins using select *
    * [HIVE-1658] - Fix describe     * [extended] column formatting
    * [HIVE-1663] - ql/src/java/org/apache/hadoop/hive/ql/parse/SamplePruner.java is empty
    * [HIVE-1664] - Eclipse build broken
    * [HIVE-1670] - MapJoin throws EOFExeption when the mapjoined table has 0 column selected
    * [HIVE-1671] - multithreading on Context.pathToCS
    * [HIVE-1673] - Create table bug causes the row format property lost when serde is specified.
    * [HIVE-1674] - count(*) returns wrong result when a mapper returns empty results
    * [HIVE-1678] - NPE in MapJoin
    * [HIVE-1688] - In the MapJoinOperator, the code uses tag as alias, which is not always true
    * [HIVE-1691] - ANALYZE TABLE command should check columns in partition spec
    * [HIVE-1699] - incorrect partition pruning ANALYZE TABLE
    * [HIVE-1707] - bug when different partitions are present in different dfs
    * [HIVE-1711] - CREATE TABLE LIKE should not set stats in the new table
    * [HIVE-1712] - Migrating metadata from derby to mysql thrown NullPointerException
    * [HIVE-1713] - duplicated MapRedTask in Multi-table inserts mixed with FileSinkOperator and ReduceSinkOperator
    * [HIVE-1716] - make TestHBaseCliDriver use dynamic ports to avoid conflicts with already-running services
    * [HIVE-1717] - ant clean should delete stats database
    * [HIVE-1720] - hbase_stats.q is failing
    * [HIVE-1737] - Two Bugs for Estimating Row Sizes in GroupByOperator
    * [HIVE-1742] - Fix Eclipse templates (and use Ivy metadata to generate Eclipse library dependencies)
    * [HIVE-1748] - Statistics broken for tables with size in excess of Integer.MAX_VALUE
    * [HIVE-1753] - HIVE 1633 hit for Stage2 jobs with CombineHiveInputFormat
    * [HIVE-1756] - failures in fatal.q in TestNegativeCliDriver
    * [HIVE-1759] - Many important broken links on Hive web page
    * [HIVE-1760] - Mismatched open/commit transaction calls in case of connection retry
    * [HIVE-1767] - Merge files does not work with dynamic partition
    * [HIVE-1769] - pcr.q output is non-deterministic
    * [HIVE-1771] - ROUND(infinity) chokes
    * [HIVE-1775] - Assertation on inputObjInspectors.length in Groupy operator
    * [HIVE-1776] - parallel execution and auto-local mode combine to place plan file in wrong file system
    * [HIVE-1777] - Outdated comments for GenericUDTF.close()
    * [HIVE-1780] - Typo in hive-default.xml
    * [HIVE-1781] - outputs not populated for dynamic partitions at compile time
    * [HIVE-1794] - GenericUDFOr and GenericUDFAnd cannot receive boolean typed object
    * [HIVE-1795] - outputs not correctly populated for alter table
    * [HIVE-1804] - Mapjoin will fail if there are no files associating with the join tables
    * [HIVE-1806] - The merge criteria on dynamic partitons should be per partiton
    * [HIVE-1807] - No Element found exception in BucketMapJoinOptimizer
    * [HIVE-1808] - bug in auto_join25.q
    * [HIVE-1809] - Hive comparison operators are broken for NaN values
    * [HIVE-1812] - spurious rmr failure messages when inserting with dynamic partitioning
    * [HIVE-1828] - show locks should not use getTable()/getPartition
    * [HIVE-1829] - Fix intermittent failures in TestRemoteMetaStore
    * [HIVE-1830] - mappers in group followed by joins may die OOM
    * [HIVE-1844] - Hanging hive client caused by TaskRunner's OutOfMemoryError
    * [HIVE-1845] - Some attributes in the Eclipse template file is deprecated
    * [HIVE-1846] - change hive assumption that local mode mappers/reducers always run in same jvm
    * [HIVE-1848] - bug in MAPJOIN
    * [HIVE-1849] - add more logging to partition pruning
    * [HIVE-1853] - downgrade JDO version
    * [HIVE-1854] - Temporarily disable metastore tests for listPartitionsByFilter()
    * [HIVE-1857] - mixed case tablename on lefthand side of LATERAL VIEW results in query failing with confusing error message
    * [HIVE-1860] - Hive's smallint datatype is not supported by the Hive JDBC driver
    * [HIVE-1861] - Hive's float datatype is not supported by the Hive JDBC driver
    * [HIVE-1862] - Revive partition filtering in the Hive MetaStore
    * [HIVE-1863] - Boolean columns in Hive tables containing NULL are treated as FALSE by the Hive JDBC driver.
    * [HIVE-1864] - test load_overwrite.q fails
    * [HIVE-1867] - Add mechanism for disabling tests with intermittent failures
    * [HIVE-1870] - TestRemoteHiveMetaStore.java accidentally deleted during commit of HIVE-1845
    * [HIVE-1871] - bug introduced by HIVE-1806
    * [HIVE-1873] - Fix 'tar' build target broken in HIVE-1526
    * [HIVE-1874] - fix HBase filter pushdown broken by HIVE-1638
    * [HIVE-1878] - Set the version of Hive trunk to '0.7.0-SNAPSHOT' to avoid confusing it with a release
    * [HIVE-1896] - HBase and Contrib JAR names are missing version numbers
    * [HIVE-1897] - Alter command execution "when HDFS is down" results in holding stale data in MetaStore
    * [HIVE-1902] - create script for the metastore upgrade due to HIVE-78
    * [HIVE-1903] - Can't join HBase tables if one's name is the beginning of the other
    * [HIVE-1908] - FileHandler leak on partial iteration of the resultset.
    * [HIVE-1912] - Double escaping special chars when removing old partitions in rmr
    * [HIVE-1913] - use partition level serde properties
    * [HIVE-1914] - failures in testhbaseclidriver
    * [HIVE-1915] - authorization on database level is broken.
    * [HIVE-1917] - CTAS (create-table-as-select) throws exception when showing results
    * [HIVE-1927] - Fix TestHadoop20SAuthBridge failure on Hudson
    * [HIVE-1928] - GRANT/REVOKE should handle privileges as tokens, not identifiers
    * [HIVE-1934] - alter table rename messes the location
    * [HIVE-1936] - hive.semantic.analyzer.hook cannot have multiple values
    * [HIVE-1939] - Fix test failure in TestContribCliDriver/url_hook.q
    * [HIVE-1944] - dynamic partition insert creating different directories for the same partition during merge
    * [HIVE-1951] - input16_cc.q is failing in testminimrclidriver
    * [HIVE-1952] - fix some outputs and make some tests deterministic
    * [HIVE-1964] - add fully deterministic ORDER BY in test union22.q and input40.q
    * [HIVE-1969] - TestMinimrCliDriver merge_dynamic_partition2 and 3 are failing on trunk
    * [HIVE-1979] - fix hbase_bulk.m by setting HiveInputFormat
    * [HIVE-1981] - TestHadoop20SAuthBridge failed on current trunk
    * [HIVE-1995] - Mismatched open/commit transaction calls when using get_partition()
    * [HIVE-1998] - Update README.txt and add missing ASF headers
    * [HIVE-2007] - Executing queries using Hive Server is not logging to the log file specified in hive-log4j.properties
    * [HIVE-2010] - Improve naming and README files for MetaStore upgrade scripts
    * [HIVE-2011] - upgrade-0.6.0.mysql.sql script attempts to increase size of PK COLUMNS.TYPE_NAME to 4000
    * [HIVE-2059] - Add datanucleus.identifierFactory property to HiveConf to avoid unintentional MetaStore Schema corruption
    * [HIVE-2064] - Make call to SecurityUtil.getServerPrincipal unambiguous

** Sub-task
    * [HIVE-1361] - table/partition level statistics
    * [HIVE-1696] - Add delegation token support to metastore
    * [HIVE-1810] - a followup patch for changing the description of hive.exec.pre/post.hooks in conf/hive-default.xml
    * [HIVE-1823] - upgrade the database thrift interface to allow parameters key-value pairs
    * [HIVE-1836] - Extend the CREATE DATABASE command with DBPROPERTIES
    * [HIVE-1842] - Add the local flag to all the map red tasks, if the query is running locally.

** Task
    * [HIVE-1526] - Hive should depend on a release version of Thrift
    * [HIVE-1817] - Remove Hive dependency on unreleased commons-cli 2.0 Snapshot
    * [HIVE-1876] - Update Metastore upgrade scripts to handle schema changes introduced in HIVE-1413
    * [HIVE-1882] - Remove CHANGES.txt
    * [HIVE-1904] - Create MetaStore schema upgrade scripts for changes made in HIVE-417
    * [HIVE-1905] - Provide MetaStore schema upgrade scripts for changes made in HIVE-1823

** Test
    * [HIVE-1464] - improve test query performance
    * [HIVE-1755] - JDBM diff in test caused by Hive-1641
    * [HIVE-1774] - merge_dynamic_part's result is not deterministic
    * [HIVE-1942] - change the value of hive.input.format to CombineHiveInputFormat for tests