【发布时间】:2020-08-10 09:04:29
【问题描述】:
我想将 pyspark 数据框加载到 Google BigQuery 表中。
我通过运行来运行作业
spark-submit --jars batch/jars/gcs-connector-hadoop2-latest.jar,batch/jars/spark-bigquery-latest.jar main_batch.py
我想我已经设置了所有必需的配置:
sc = SparkSession\
.builder\
.config("temporaryGcsBucket", "test_project_bucket_pyspark") \
.config("fs.gs.impl", "com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystem")\
.config("fs.gs.auth.service.account.enable", "true") \
.config("google.cloud.auth.service.account.json.keyfile", "config/google/service_account_project.json") \
.master("local[1]")\
.appName("spark_etl")\
.getOrCreate()
我正在运行它以保存到 BigQuery:
df.write \
.format("bigquery") \
.option('table', 'dataset_project_test.tickets') \
.option("encoding", "UTF-8") \
.option("nullValue", "\u0000") \
.option("emptyValue", "\u0000") \
.mode("append") \
.save()
但我收到以下错误:
py4j.protocol.Py4JJavaError: An error occurred while calling o1176.save.
: java.io.IOException: No FileSystem for scheme: gs
我做错了什么?谢谢
【问题讨论】:
-
您是否尝试过将此条目添加到您的原始 spark 配置中
.config("fs.AbstractFileSystem.gs.impl", "com.google.cloud.hadoop.fs.gcs.GoogleHadoopFS")? -
嗨@mk_sta,感谢您的回答。通过添加这个配置我有同样的错误
标签: csv dataframe pyspark google-bigquery google-cloud-storage