You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Vitalii Diravka (JIRA)" <ji...@apache.org> on 2018/07/06 20:26:00 UTC
[jira] [Assigned] (DRILL-6575) Add store.hive.conf.properties
option to allow set Hive properties at session level
[ https://issues.apache.org/jira/browse/DRILL-6575?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vitalii Diravka reassigned DRILL-6575:
--------------------------------------
Assignee: Arina Ielchiieva (was: Vitalii Diravka)
> Add store.hive.conf.properties option to allow set Hive properties at session level
> -----------------------------------------------------------------------------------
>
> Key: DRILL-6575
> URL: https://issues.apache.org/jira/browse/DRILL-6575
> Project: Apache Drill
> Issue Type: Improvement
> Affects Versions: 1.13.0
> Reporter: Arina Ielchiieva
> Assignee: Arina Ielchiieva
> Priority: Major
> Labels: doc-impacting
> Fix For: 1.15.0
>
>
> *Use case*
> Hive external table ddl:
> {noformat}
> create external table my(key int, val string)
> row format delimited
> fields terminated by ','
> stored as textfile
> location '/data/my_tbl';
> {noformat}
> Path {{/data/my_tb}} contains sub directory and file in it: {{/data/my_tbl/sub_dir/data.txt}} with the following data:
> {noformat}
> 1, value_1
> 2, value_2
> {noformat}
> When querying such table from Hive, user gets the following exception:
> {noformat}
> Failed with exception java.io.IOException:java.io.IOException: Not a file: file:///data/my_tbl/sub_dir
> {noformat}
> To be able to query this table user needs to set two properties to true: {{hive.mapred.supports.subdirectories}} and {{mapred.input.dir.recursive}}.
> They can be set at system level in hive-site.xml or at session in Hive console:
> {noformat}
> set hive.mapred.supports.subdirectories=true;
> set mapred.input.dir.recursive=true;
> {noformat}
> Currently to be able to query such table from Drill, user can specify this properties in Hive plugin only:
> {noformat}
> {
> "type": "hive",
> "configProps": {
> "hive.metastore.uris": "thrift://localhost:9083",
> "hive.metastore.sasl.enabled": "false",
> "hbase.zookeeper.quorum": "localhost",
> "hbase.zookeeper.property.clientPort": "5181",
> "hive.mapred.supports.subdirectories": "true",
> "mapred.input.dir.recursive": "true"
> }
> "enabled": true
> }
> {noformat}
> *Jira scope*
> This Jira aims to add new session option to Drill {{store.hive.conf.properties}} which will allow user to specify hive properties at session level.
> User should write properties in string delimiter by new line symbol. Properties values should NOT be set in double-quotes or any other quotes otherwise they would be parsed incorrectly. Key and value should be separated by {{=}}. Each `alter session set` will override previously set properties at session level. If during query Drill couldn't unparse property string, warning will be logged. Properties will be parsed by loading into {{java.util.Properties}}. Default value is empty string ("").
> Example:
> {noformat}
> alter session set `store.hive.conf.properties` = 'hive.mapred.supports.subdirectories=true\nmapred.input.dir.recursive=true';
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)