Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 分区表上的配置单元添加列不起作用_Hadoop_Hive_Hiveql_Partition - Fatal编程技术网

Hadoop 分区表上的配置单元添加列不起作用

Hadoop 分区表上的配置单元添加列不起作用,hadoop,hive,hiveql,partition,Hadoop,Hive,Hiveql,Partition,我分享了在分区配置单元表上添加列的经验。 如您所见,尽管有级联功能,ALTER仍会阻止我的表格:( 在分区表上添加列 表说明 复制表格 检查:OK(我得到结果) 修改表格 检查:KO(我得到这个错误) 如果您使用的是Hive0.x或1.x,那么您可能是 向表中添加列时,矢量化停止 …这是特定于ORC格式的,即使从JIRA标签上看不明显 从Hive 2.0开始,有一个部分修复(即,添加已修复,但删除/重命名/更改仍处于瘫痪状态),这要归功于 ORC模式演化问题(矢量化、ACID和 非矢量化) 以及

我分享了在分区配置单元表上添加列的经验。 如您所见,尽管有级联功能,ALTER仍会阻止我的表格:(

在分区表上添加列 表说明 复制表格 检查:OK(我得到结果)

修改表格 检查:KO(我得到这个错误)


如果您使用的是Hive0.x或1.x,那么您可能是

向表中添加列时,矢量化停止

…这是特定于ORC格式的,即使从JIRA标签上看不明显

从Hive 2.0开始,有一个部分修复(即,
添加
已修复,但
删除
/
重命名
/
更改
仍处于瘫痪状态),这要归功于

ORC模式演化问题(矢量化、ACID和 非矢量化)

以及从Hive 2.1.1起针对
CHANGE

llap中ORC的模式演化被破坏 用于Int到String的转换


待续…

如果有人知道潜在的问题…:-)在2015年也有类似的问题——矢量化读取会在更改后崩溃。尝试禁用矢量化以确保。您已捕获:)禁用矢量化可使我的查询正常工作。。。谢谢
CREATE TABLE test (
a                       string,      
b                       string,
c                       string
)
PARTITIONED BY (
x                       string,
y                       string, 
z                       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'
TBLPROPERTIES (
'orc.compress'='SNAPPY'
);
CREATE TABLE test_tmp...

hadoop distcp hdfs://.../test/* dfs://.../test_tmp

MSCK REPAIR TABLE test_tmp;

SELECT * FROM test_tmp
LIMIT 100
ALTER TABLE test_tmp
ADD COLUMNS(
aa  timestamp,
bb  string,
cc  int,
dd  string
) CASCADE;

SELECT * FROM test_tmp
LIMIT 100

...
]], Vertex did not succeed due to OWN_TASK_FAILURE, failedTasks:1 killedTasks:19, Vertex vertex_1502459312997_187854_4_00 [Map 1] killed/failed due to:OWN_TASK_FAILURE]DAG did not succeed due to VERTEX_FAILURE. failedVertices:1 killedVertices:0
... 1 statement(s) executed, 0 rows affected, exec/fetch time: 21.655/0.000 sec  [0 successful, 1 errors]