我尝试使用复杂的数据结构创建具有> 1000个字段(列)的配置单元表。但我最终得到了以下错误。
执行错误,从org.apache.hadoop.hive.ql.exec.DDLTask返回代码1。 MetaException(消息:javax.jdo.JDODataStoreException:添加请求失败:INSERT INTO“COLUMNS_V2”(“CD_ID”,“COMMENT”,“COLUMN_NAME”,“TYPE_NAME”,“INTEGER_IDX”)VALUES(?,?,?,?, ?) NestedThrowables: java.sql.BatchUpdateException:批处理项0插入“COLUMNS_V2”(“
但是当我将场数减少到500时它就成功了。
答案 0 :(得分:0)
您必须更改允许的最大字符数值。这可以通过更改表" SERDEPROPERTIES"的值来完成。和列" PARAM_VALUE"。
该表存在于MySQL中,用作Metastore。
增加列类型的值,问题将得到解决。您可以将它增加到varchar(15000)或任何更适合您的值。
答案 1 :(得分:0)
适用于基于avro的表的hack是创建具有减少的模式(少量列)的表。创建表后,使用完整模式替换简化的模式文件。