使用Databricks Pyspark向Bigquery写入数据时出错

0 人关注

我每天使用Databricks Pyspark运行一项工作,向BigQuery写入数据。最近对Databricks的配置进行了更新 (https://docs.databricks.com/data/data-sources/google/bigquery.html) ,导致工作失败。我遵循文档中的所有步骤。读取数据再次工作,但写入时出现了以下错误。 java.lang.RuntimeException: java.lang.ClassNotFoundException: Class com.google.cloud.hadoop.fs.gcs.GoogleHadoopFS not found

我试着在代码中也添加了配置(如Spark中类似错误的建议),但这没有帮助。

spark._jsc.hadoopConfiguration().set('fs.gs.impl', 'com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystem')
spark._jsc.hadoopConfiguration().set('fs.gs.auth.service.account.enable', 'true')
spark._jsc.hadoopConfiguration().set('google.cloud.auth.service.account.json.keyfile', "<path-to-key.json>")

我的代码是。

upload_table_dataset = 'testing_dataset'
upload_table_name = 'testing_table'
upload_table = upload_table_dataset + '.' + upload_table_name
(import_df.write.format('bigquery') 
  .mode('overwrite') 
  .option('project', 'xxxxx-test-project')
  .option('parentProject', 'xxxxx-test-project')
  .option('temporaryGcsBucket', 'xxxxx-testing-bucket') 
  .option('table', upload_table) 
  .save()