Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在windows 10下安排python脚本将数据加载到BigQuery_Python_Windows_Oauth_Google Bigquery - Fatal编程技术网

在windows 10下安排python脚本将数据加载到BigQuery

在windows 10下安排python脚本将数据加载到BigQuery,python,windows,oauth,google-bigquery,Python,Windows,Oauth,Google Bigquery,是否有一种方法可以安排python脚本将数据加载到Bigquery,而不必为每次运行复制从google帐户链接生成的身份验证代码 我目前正在使用windows任务计划程序来实现这一点 是的,有。你必须使用。创建一个后,将其作为JSON文件下载到本地,并在Python脚本中使用,如: from google.cloud import bigquery as bq client = bq.Client.from_service_account_json('path/to/credentials.j

是否有一种方法可以安排python脚本将数据加载到Bigquery,而不必为每次运行复制从google帐户链接生成的身份验证代码


我目前正在使用windows任务计划程序来实现这一点

是的,有。你必须使用。创建一个后,将其作为JSON文件下载到本地,并在Python脚本中使用,如:

from google.cloud import bigquery as bq
client =  bq.Client.from_service_account_json('path/to/credentials.json')

这将使您所需的与BigQuery的所有连接以及身份验证都已为您自动处理。

您可以通过以下链接创建凭据:cloud.google.com/storage/docs/authentication#service_accounts

在python脚本中,您可以使用
private_key
参数将json文件路径直接传递给用于从BQ读/写的函数

pandas\u gbq.read\u gbq(查询,项目id=myprojectid,…,私钥='jsonfilepath',方言='legacy')

pandas.to_gbq(数据帧、目的地表、项目id、chunksize=10000,…,private\u key='jsonfilepath')


然后,您将任务安排为运行python脚本,就像您通常使用windows任务调度器所做的那样。

看起来您的消息是在postingI通过此链接创建凭据之前被剪切的。我可以使用cmd将数据加载到BigQuery,但是当使用任务调度器和相同的命令时,我的代码永远不会结束。我正在为4个计算机节点构建一个机器学习分类器。我不太明白。您是否可以使用服务帐户连接到gcp?是的,我可以连接,而无需输入oauth代码,并且如果我从命令提示符(cmd终端)运行脚本,我可以从GBQ读取和写入日期。但是,当我用“任务调度器”调度同一个任务时,代码永远不会结束,它会在“任务调度器”上显示“正在运行”。在cmd上仅持续20分钟。