我正在从 BigQuery 加载一个数据集,经过一些转换后,我想将转换后的数据帧保存回 BigQuery。有没有办法做到这一点?
这就是我加载数据的方式:
df = spark.read
.format('bigquery')
.option('table', 'publicdata.samples.shakespeare')
.load()
一些转换:
df_new = df.select("word")
这就是我尝试将数据作为新表保存到我的项目区域的方式:
df_new
.write
.mode('overwrite')
.format('bigquery')
.save('my_project.some_schema.df_new_table')
这可能吗?有没有办法直接保存到BQ?
ps:我知道这有效,但这不是我想要的:
df_new
.write
.mode('overwrite')
.format('csv')
.save('gs://my_bucket/df_new.csv')
谢谢!
下面是带有 Spark 的 BigQuery 连接器的文档
建议这样做:
# Saving the data to BigQuery
word_count.write.format('bigquery')
.option('table', 'wordcount_dataset.wordcount_output')
.save()
您将表设置在选项((而不是"save(("中
以下语法将创建/覆盖表
df.write.format('bigquery'(.option('table', ( 'project.db.tablename'((.mode("overwrite"(.save((
有关更多信息,您可以参考以下链接 https://dbmstutorials.com/pyspark/spark-dataframe-write-modes.html