我在HDFS中有一些使用Sqoop导入的数据。数据作为ORC导入,压缩是Snappy。
我正在尝试使用以下DDL语句在此数据之上创建一个表。但是,我收到以下错误。
FAILED:SemanticException [错误10043]:列列表或a 应指定自定义序列化程序
但是,我通过定义ROW FORMAT SERDE and STORED AS INPUTFORMAT and OUTPUTFORMAT
DDL声明:
CREATE EXTERNAL TABLE test_db.my_table_orc
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'
LOCATION '/hdfs/app/DL/ORC_DATA_LOCATION'
tblproperties ("orc.compress"="SNAPPY");
答案 0 :(得分:1)
stored as orc
就够了。 答案 1 :(得分:1)
Hive当前不支持在未指定DDL中的列列表的情况下创建ORC表。 ORC文件确实包含有关列的元数据,因此如果您不确定给定的ORC文件的列,则可以运行ORC File Dump Utility来获取它。