ORC 指定序列化器不工作
ORC specifying serializer is not working
我在 HDFS 中有一些数据是使用 Sqoop 导入的。数据导入为 ORC,压缩为 Snappy。
我正在尝试使用以下 DDL 语句在此数据之上创建一个 table。但是,我收到以下错误。
FAILED: SemanticException [Error 10043]: Either list of columns or a
custom serializer should be specified
但是,我通过定义 ROW FORMAT SERDE and STORED AS INPUTFORMAT and OUTPUTFORMAT
来定义 "custom serializer"
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");
- 定义 table 的列。
- 不需要input/output格式。
stored as orc
就够了。
Hive 当前不支持在不在 DDL 中指定列列表的情况下创建 ORC table。 ORC 文件确实包含有关列的元数据,因此如果您不确定给定的 ORC 文件的列,则可以 运行 ORC File Dump Utility 来获取它。
我在 HDFS 中有一些数据是使用 Sqoop 导入的。数据导入为 ORC,压缩为 Snappy。
我正在尝试使用以下 DDL 语句在此数据之上创建一个 table。但是,我收到以下错误。
FAILED: SemanticException [Error 10043]: Either list of columns or a custom serializer should be specified
但是,我通过定义 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");
- 定义 table 的列。
- 不需要input/output格式。
stored as orc
就够了。
Hive 当前不支持在不在 DDL 中指定列列表的情况下创建 ORC table。 ORC 文件确实包含有关列的元数据,因此如果您不确定给定的 ORC 文件的列,则可以 运行 ORC File Dump Utility 来获取它。