如何将关系表中发生的流插入和更新自动化到Google bigquery表中?

时间:2018-01-08 08:37:27

标签: mysql database google-bigquery

我的关系数据库中有一个表,它不断更新并添加新行。

我想将这些更改流式传输到我在Bigquery数据集中维护的副本表。

我支持我可以使用以下代码进行流媒体插入

def stream_data(dataset_id, table_id, json_data):
bigquery_client = bigquery.Client()
dataset_ref = bigquery_client.dataset(dataset_id)
table_ref = dataset_ref.table(table_id)
data = json.loads(json_data)

# Get the table from the API so that the schema is available.
table = bigquery_client.get_table(table_ref)

rows = [data]
errors = bigquery_client.create_rows(table, rows)

if not errors:
    print('Loaded 1 row into {}:{}'.format(dataset_id, table_id))
else:
    print('Errors:')
    pprint(errors)

上面代码的问题在于,它假设我在关系表中添加/更新了行。 我可以做些什么来将关系表中的更改/添加流式传输到bigquery中的副本表?

0 个答案:

没有答案