【问题标题】:Delete bigquery table from pyspark从 pyspark 中删除 bigquery 表
【发布时间】:2019-06-29 09:15:21
【问题描述】:
【问题讨论】:
标签:
apache-spark
google-bigquery
【解决方案1】:
检查代码后,您应该尝试使用传递给BigQueryDataFrame.scala#L35 文件的WriteDisposition 参数。根据其他库(Python、Apache Beam),如果您使用WriteTruncate option,则操作应覆盖表的内容:“如果表已存在,BigQuery 将覆盖表数据。”
所以这样的代码应该可以工作(取自 Github 的 https://github.com/samelamin/spark-bigquery#saving-dataframe-using-pyspark):
# Load into a table or table partition
bqDF = bigquery.BigQueryDataFrame(df._jdf)
bqDF.saveAsBigQueryTable(
"{0}:{1}.{2}".format(BQ_PROJECT_ID, DATASET_ID, TABLE_NAME),
False, # Day paritioned when created
0, # Partition expired when created
bigquery.__getattr__("package$WriteDisposition$").__getattr__("MODULE$").WRITE_TRUNCATE(),
bigquery.__getattr__("package$CreateDisposition$").__getattr__("MODULE$").CREATE_IF_NEEDED(),
)
让我们知道它是否有帮助。