使用USING和PARTITIONED BY子句的spark hive create table的有效语法是什么?

时间:2019-08-28 15:09:08

标签: apache-spark hadoop hive apache-spark-sql

我正在尝试将以下命令传递给SparkSesssion.sql(...),以orc格式创建配置单元表:

CREATE TABLE `db`.`table`(
_id                     string,
...
)
PARTITIONED BY (load_date string)
ROW FORMAT SERDE
  'org.apache.hadoop.hive.ql.io.orc.OrcSerde'
STORED AS INPUTFORMAT
  'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat'
OUTPUTFORMAT
  'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat'
USING ORC

并获得像mismatched input 'USING' expecting <EOF>这样的异常 更改以上条款的位置无济于事。

Official documentation省略了这一部分,或者至少我找不到它。

正确的方法是什么?

1 个答案:

答案 0 :(得分:1)

配置单元DDL语句中没有USING标签:

您需要使用存储为ORC或仅使用输入和输出格式

CREATE TABLE `db`.`table`(
_id                     string,
...
)
PARTITIONED BY (load_date string)
STORED AS ORC