gpt4 book ai didi

java - SQL错误:java.io.IOException:java.lang.IllegalArgumentException:bucketId超出范围:-1

转载 作者:行者123 更新时间:2023-12-02 20:14:45 26 4
gpt4 key购买 nike

我正在将spark表导入到配置单元中:

df.createOrReplaceTempView(table_name);
df = spark.sql("SELECT * FROM "+ table_name);

df.write().format("orc").mode("overwrite").saveAsTable(db_name+"."+table_name);
表格创建成功,但是当我从表格上的 hive 执行选择查询时,出现以下错误,结果列为空
Error: java.io.IOException: java.lang.IllegalArgumentException: bucketId out of range: -1 (state=,code=0)
我从这里阅读 Table loaded through Spark not accessible in Hive,并尝试使用hive-warehouse-connector
按照此链接 https://docs.cloudera.com/runtime/7.2.2/integrating-hive-and-bi/topics/hive-etl-example.html,但从 hive 打开表时仍然出现相同的错误。
我已经尝试了很多,但是我不知道为什么会出现此错误。谁能解释我的问题是什么,或者是否有办法避免这种导致我出错的麻烦?
我正在使用Spark 2.3.1和Hive 3(第二次尝试使用hive-warehouse-connector_2.11-1.0.0.7.1.4.0-203)
任何帮助,感激不尽!
更新
使用 hive 仓库连接器(hwc),我可以编写,但前提是已经创建了表。
但是在阅读文档时,他们说它将自动创建表。就我而言,这没有发生。我已经尝试了所有saveMode(“overwrite”,“append” .. ecc)
用法:
HiveWarehouseSession hive = HiveWarehouseSession
.session(spark)
.userPassword(username, password)
.build();
hive.setDatabase(db_name);

df.write()
.format(HiveWarehouseSession.HIVE_WAREHOUSE_CONNECTOR)
.option("table", table_name)
.mode("overwrite")
.save();

最佳答案

也许在创建表时可以尝试使用STORED AS textfile

关于java - SQL错误:java.io.IOException:java.lang.IllegalArgumentException:bucketId超出范围:-1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64670033/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com