После проверки кода вам следует попробовать параметр WriteDisposition
, который передается в файл BigQueryDataFrame.scala # L35 .Согласно другим библиотекам ( Python , Apache Beam ), если вы используете WriteTruncate опция , действие должно перезаписать содержимое таблицы: «Если таблица уже существует, BigQuery перезаписывает данные таблицы.»
Так что код, подобный этому, должен работать (взято из 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(),
)
* 1017 Github * Дайте нам знать, помогло ли это.