23.135. Release 0.78
ARRAY and MAP Types in Hive Connector
The Hive connector now returns arrays and maps instead of json encoded strings,
for columns whose underlying type is array or map. Please note that this is a backwards
incompatible change, and the JSON Functions and Operators will no longer work on these columns,
unless you cast()
them to the json
type.
Session Properties
The Presto session can now contain properties, which can be used by the Presto
engine or connectors to customize the query execution. There is a separate
namespace for the Presto engine and each catalog. A property for a catalog is
simplify prefixed with the catalog name followed by .
(dot). A connector
can retrieve the properties for the catalog using
ConnectorSession.getProperties()
.
Session properties can be set using the --session
command line argument to
the Presto CLI. For example:
presto-cli --session color=red --session size=large
For JDBC, the properties can be set by unwrapping the Connection
as follows:
connection.unwrap(PrestoConnection.class).setSessionProperty("name", "value");
Note
This feature is a work in progress and will change in a future release. Specifically, we are planning to require preregistration of properties so the user can list available session properties and so the engine can verify property values. Additionally, the Presto grammar will be extended to allow setting properties via a query.
Hive Changes
- Add
storage_format
session property to override format used for creating tables. - Add write support for
VARBINARY
,DATE
andTIMESTAMP
. - Add support for partition keys of type
TIMESTAMP
. - Add support for partition keys with null values (
__HIVE_DEFAULT_PARTITION__
). - Fix
hive.storage-format
option (see Release 0.76).
General Changes
- Fix expression optimizer, so that it runs in linear time instead of exponential time.
- Add
cardinality()
for maps. - Fix race condition in SqlTask creation which can cause queries to hang.
- Fix
node-scheduler.multiple-tasks-per-node-enabled
option. - Fix an exception when planning a query with a UNION under a JOIN.