【发布时间】:2018-05-27 10:28:59
【问题描述】:
我正在尝试合并多个小的 ORC 文件。遇到 ALTER TABLE CONCATENATE 命令,但仅适用于托管表。
当我尝试运行 Hive 时,它给了我以下错误:
失败:语义异常 org.apache.hadoop.hive.ql.parse.SemanticException:连接/合并 只能在托管表上执行
以下是表格参数:
Table Type: EXTERNAL_TABLE
Table Parameters:
COLUMN_STATS_ACCURATE true
EXTERNAL TRUE
numFiles 535
numRows 27051810
orc.compress SNAPPY
rawDataSize 20192634094
totalSize 304928695
transient_lastDdlTime 1512126635
# Storage Information
SerDe Library: org.apache.hadoop.hive.ql.io.orc.OrcSerde
InputFormat: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
OutputFormat: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
Compressed: No
Num Buckets: -1
Bucket Columns: []
Sort Columns: []
Storage Desc Params:
serialization.format 1
【问题讨论】:
-
需要合并成单独的表
-
作为reported by @leftjoin,我可以确认
ALTER TABLE .. PARTITION .. CONCATENATE为我的HiveEXTERNAL表工作(数据存储在S3)。我在emr-5.20.0上使用Hive 2.3.4[我通过Spark插入数据]