hive 在spark thrift服务器中,复杂数据类型列(嵌套结构)上的Alter table命令无效

7fhtutme  于 10个月前  发布在  Hive
关注(0)|答案(1)|浏览(105)

我尝试使用连接到sparkt thrift服务器的直线运行alter table命令,该服务器配置为使用远程hive metastore。我得到了以下错误。
使用以下命令创建表格:

CREATE TABLE `test_schema`.`nested_test_pq` (`key1` ARRAY<STRUCT<`a`: STRING, `b`: STRING, `c`: STRING>>) USING parquet

字符串
更改表命令我正在尝试

alter table test_schema.nested_test_pq change key1  key1 type array<struct<a:string,b:string,c:string,d:string>>;


我得到的错误是
第一个月
我已经尝试了配置hive.metastore.disallow.invalid.col.type.changestrue,但没有运气。
Spark版本- 3.2.1
配置单元元存储版本- 3.0.0
Hadoop版本- 3.2.0

lf5gs5x2

lf5gs5x21#

您可以尝试add单个嵌套列,而不是change整个结构。
spark.sql(f"ALTER TABLE {db}.{table} ADD COLUMNS (key1.d string AFTER key1.c)")

相关问题