由:java.lang.IlLegalArgumentException:com.google.cloud.bigquery.connector.common.BigQueryConnectorException$InvalidSchemaException:目标表的架构与 Dataframe 的架构不兼容
df.write
.format('bigquery')
.option('table', (project + '.db.tbl'))
.mode("overwrite")
.save()
4条答案
按热度按时间jchrr9hc1#
由于某些原因,架构验证检查在2022年6月1日变得更加严格。我怀疑数据处理程序映像有更新。我们使用的是2.0.29-debian10。
r55awzrz2#
这是由于最新版本的BQSpark连接器(0.25.0):https://github.com/GoogleCloudDataproc/spark-bigquery-connector/releases
将您的版本修复为以前的版本(0.24.2),您将不会出现此问题。
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。
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