Как записать фрейм данных в BigQuery и перезаписать раздел вместо таблицы?Python

Программы на Python
Ответить
Anonymous
 Как записать фрейм данных в BigQuery и перезаписать раздел вместо таблицы?

Сообщение Anonymous »

Мне нужно записать фрейм данных Polars в таблицу BigQuery. Таблица разделена по дате.
Когда мне нужно запустить сценарий обратного заполнения, я перебираю диапазон дат, получаю данные из какого-то источника (в данном случае API), конвертирую их в фрейм данных, немного манипулирую и записываю их в таблицу BQ.
Но вместо перезаписи раздела для этой даты он перезаписывает всю таблицу?
Как я могу перезаписать только раздел?
/>Мой код на данный момент:
import polars as pl
from google.cloud import bigquery

# create period_range from internal util_package

for date in period_range:
data = "get some API data here per date"

df = pl.read_csv(data).select(pl.col(pl.INT64))

client = bigquery.Client()
with io.BytesIO() as stream:
df.write_parquet(stream)
stream.seek(0)
job = client.load_table_from_file(
file_obj=stream,
destination="analytics.ads.vendor_name",
project="mycompany_ads",
location="EU",
job_config=bigquery.LoadJobConfig(
source_format=bigquery.SourceFormat.PARQUET,
time_partitioning=bigquery.TimePartitioning(
type_=bigquery.TimePartitioningType.DAY,
field="date", # name of column to use for partitioning
require_partition_filter=True,
),
clustering_fields=["domain", "type", "placement"],
autodetect=True,
schema=None,
write_disposition=bigquery.WriteDisposition.WRITE_TRUNCATE,
),
)
job.result() # Waits for the job to complete
print("ETL finished")


Подробнее здесь: https://stackoverflow.com/questions/786 ... f-the-tabl
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»