很抱歉,我的新手问题。我是python和BigQuery的新手,我正在尝试使用API在Data Studio中做一个简单的尝试。
我下面有一个python脚本,该脚本试图从加载到Google BigQuery的公共API中获取JSON数据。我无法将JSON数据上传到BigQuery。
我认为我的问题之一是数据以逗号分隔而不是换行输入。是否可以编写代码将数据换行?
这是我到目前为止的代码:
import urllib
import json
import urllib.request
import requests
from google.cloud import bigquery
def createdataset():
bigquery_client = bigquery.Client()
dataset_id = 'mydataset'
dataset_ref = bigquery_client.dataset(dataset_id)
dataset = bigquery.Dataset(dataset_ref)
dataset = bigquery_client.create_dataset(dataset)
print('Dataset {} created.'.format(dataset.dataset_id))
def main():
fetch_traffic_data()
load_json("data.json")
def fetch_traffic_data():
URL = "https://data.cityofchicago.org/resource/8v9j-bter.json"
def send_to_big_query(data):
BIG_QUERY_URL = "https://www.googleapis.com/bigquery/v2/projects/bigquery-test-205619/datasets"
for d in data:
print(d)
response = requests.post(BIG_QUERY_URL, data=json.dumps(d))
print(response.text)
#post each dictionary (JSON data point) to big query
def load_json(source_file_name):
bigquery_client = bigquery.Client()
dataset = bigquery_client.dataset('mydataset')
table = dataset.table('mytable')
with open(source_file_name, 'rb') as source_file:
job_config = bigquery.LoadJobConfig()
job_config.source_format = 'NEWLINE_DELIMITED_JSON'
job = bigquery_client.load_table_from_file(
source_file, table, job_config=job_config)
if __name__ == "__main__":
main()
还可以使此代码半定期运行吗?
非常感谢您的帮助,对于新手问题,我再次表示歉意。