IllegalArgumentException:BigQueryConnectorException$InvalidSchemaException:目标表的架构与数据帧的架构不兼容

问题描述 投票:0回答:1

我们无法将数据写入大查询中。面临以下问题。 大查询连接器 jar:spark-3.4-bigquery-0.33.0.jar

错误客户端:应用程序诊断消息:用户类抛出异常:java.lang.reflect.InitationTargetException 在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49) 在 org.springframework.boot.loader.Launcher.launch(Launcher.java:108) 在 org.springframework.boot.loader.Launcher.launch(Launcher.java:58) 在 org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.apache.spark.deploy.yarn.ApplicationMaster$$anon$2.run(ApplicationMaster.scala:760) 导致:com.google.cloud.spark.bigquery.repackaged.com.google.inject.ProvisionException:无法配置,请参阅以下错误:

  1. [Guice/ErrorInCustomProvider]:IllegalArgumentException:BigQueryConnectorException$InvalidSchemaException:目标表的架构与数据帧的架构不兼容 在 BigQueryDataSourceWriterModule.provideDirectDataSourceWriterContext(BigQueryDataSourceWriterModule.java:61) 找到 BigQueryDirectDataSourceWriterContext

代码片段: 我们使用下面的代码片段。 System.setProperty("GOOGLE_CLOUD_PROJECT", ""); SparkSession Spark = SparkSession.builder().appName("BigQuerySparkApp").getOrCreate(); 数据集 csvData = Spark.read().format("csv").option("inferSchema", "true").option("header", "true"). 加载(“csv”); 字符串项目ID = ""; 字符串数据集ID = ""; String tableID = "communication_master"; String tableFullName = 项目ID + ":" + 数据集ID + "." + 表ID; csvData.write().format(“bigquery”) .option("writeMethod", "直接") .option("表", 表全名) .option("架构", "") .option("凭据", "") .mode(SaveMode.Overwrite) .save();spark.stop();

apache-spark amazon-emr google-cloud-dataproc
1个回答
1
投票

我们都需要解决问题,但请记住,其中一些问题隐藏在其他问题之中。

此问题记录在 Spark Big Query Connector Github 上。这似乎是一个内部问题。我推断这是因为您没有提供任何导致它的代码。

© www.soinside.com 2019 - 2024. All rights reserved.