在BigQuery数据库中的覆盖模式下,PYSpark写入失败

jvlzgdj9  于 2022-10-07  发布在  Spark
关注(0)|答案(4)|浏览(148)

由:java.lang.IlLegalArgumentException:com.google.cloud.bigquery.connector.common.BigQueryConnectorException$InvalidSchemaException:目标表的架构与 Dataframe 的架构不兼容

df.write 
.format('bigquery') 
.option('table', (project + '.db.tbl')) 
.mode("overwrite") 
.save()
jchrr9hc

jchrr9hc1#

由于某些原因,架构验证检查在2022年6月1日变得更加严格。我怀疑数据处理程序映像有更新。我们使用的是2.0.29-debian10。

r55awzrz

r55awzrz2#

这是由于最新版本的BQSpark连接器(0.25.0):https://github.com/GoogleCloudDataproc/spark-bigquery-connector/releases

将您的版本修复为以前的版本(0.24.2),您将不会出现此问题。

ki1q1bka

ki1q1bka3#

自从2022年7月1日以来我也有过同样的情况,似乎你不应该使用Google documentation中推荐的最新版本:
对于非生产使用,您也可以指向最新的JAR,如下所示:DataProc镜像版本1.5及以上:--jars=gs://spark-lib/bigquery/spark->bigquery-latest_2.12.jar

我使用的是最新版本,当我将Spark-BiQuery版本更改为:gs://spark-lib/bigquery/spark-bigquery-with-dependencies_2.12-0.23.2.jar->时,它工作得很好。

编辑:有关升级(模式相等)的更多信息,请参见here

fkaflof6

fkaflof64#

我也有同样的问题,当我升级到更新的版本时,这个问题就消失了。

失败的版本:gs://spark-lib/bigquery/spark-bigquery-with-dependencies_2.12-0.25.0.jar

工作版本:gs://spark-lib/bigquery/spark-bigquery-with-dependencies_2.12-0.27.0.jar

相关问题