【发布时间】:2017-07-03 01:38:12
【问题描述】:
你好,这是一个两部分的问题
1) 目前我正在尝试通过 python 脚本将文件从谷歌云存储上传到 bigquery。我正在尝试按照谷歌帮助网站给出的步骤进行操作。
https://cloud.google.com/bigquery/docs/loading-data-cloud-storage#bigquery-import-gcs-file-python
def load_data_from_gcs(dataset_name, table_name, source):
bigquery_client = bigquery.Client()
dataset = bigquery_client.dataset(dataset_name)
table = dataset.table(table_name)
job_name = str(uuid.uuid4())
job = bigquery_client.load_table_from_storage(
job_name, table, source)
job.begin()
wait_for_job(job)
print('Loaded {} rows into {}:{}.'.format(
job.output_rows, dataset_name, table_name))
我不确定要为“load_data_from_gcs”的第一行添加什么,因为在谷歌云中没有表格,它是我要上传的 JSON 文件。 “表”部分是我要创建的表的名称还是在谈论存储桶,因为没有部分可以指定我要从哪个存储桶中提取。
这是我目前的代码。
import json
import argparse
import time
import uuid
from google.cloud import bigquery
# from google.cloud import storage
def load_data_from_gcs('dataworks-356fa', table_name, 'pullnupload.json'):
bigquery_client = bigquery.Client('dataworks-356fa')
dataset = bigquery_client.dataset('FirebaseArchive')
table = dataset.table(table_name)
job_name = str(uuid.uuid4())
job = bigquery_client.load_table_from_storage(
job_name, table, source)
job.begin()
wait_for_job(job)
print('Loaded {} rows into {}:{}.'.format(
job.output_rows, dataset_name, table_name))
第 2 部分) 我希望这个脚本每周运行一次,并且能够删除旧表并创建一个新表,或者只过滤非重复数据。哪个更容易。
感谢您的帮助。
【问题讨论】:
标签: json google-bigquery google-cloud-storage uploading