我正在尝试加载一个.csv文件到BQ使用控制台。它的大小是45mb。我发现使用"upload“我只能加载10mb。我没有访问驱动器的权限,也没有权限从本地计算机上的命令行运行bq load,因为权限被拒绝。
是否有解决此问题的方法?这将是一个伟大的help.Thanks
发布于 2020-12-23 03:04:20
您可以将文件上传到Google Cloud Storage存储桶,然后复制"//gs:“存储URL。然后,您可以在控制台中创建表,选择源"Google Cloud Storage“并粘贴您的URL。
发布于 2020-12-23 06:51:25
我可以按照此tutorial上传超过10Mb限制的文件
为了执行python脚本,您只需要在您的virtualenv中安装bigquery库。
pip install google-cloud-bigquery
如果您还没有创建数据集,您只需要从控制台云运行命令来创建一个新的数据集。
$ bq mk pythoncsv
#Dataset 'healthy-pager-276023:pythoncsv' successfully created.
在成功创建数据集之后,只需启动python脚本来上传csv。
我的最终解决方案是这个python脚本:
from google.cloud import bigquery
# Construct a BigQuery client object.
client = bigquery.Client()
# TODO(developer): Set table_id to the ID of the table to create.
# JUST FOLLOW THIS PATTERN: <projectid>.<datasetname>.<tablename>
table_id = "healthy-pager-276023.pythoncsv.table_name"
job_config = bigquery.LoadJobConfig(
source_format=bigquery.SourceFormat.CSV, skip_leading_rows=1, autodetect=True,
)
path_to_file_name = "massdata.csv" #<-- PATH TO CSV TO IMPORT
with open(path_to_file_name, "rb") as source_file:
job = client.load_table_from_file(source_file, table_id, job_config=job_config)
job.result() # Waits for the job to complete.
table = client.get_table(table_id) # Make an API request.
print("Loaded {} rows and {} columns to {}".format(table.num_rows, len(table.schema), table_id))
下面是我来自big query的gcloud控制台的配置:
https://stackoverflow.com/questions/65418003
复制