私が使用しようとしていますのBigQueryのpython APIをJSONファイルからレコードをロードします。ただし、ファイルに複数のレコードがある場合は失敗します。
これが私のjson
データファイルがどのように見えるかです
[{"queryID": "newId", "newCol": "newCol"},
{"queryID": "newId", "newCol": "newCol"}]
そしてこれは関連するコードです
insert_request = bigquery.jobs().insert(
projectId=project_id,
body={
'configuration': {
'load': {
'schema': {
'fields': simplejson.load(open(schema_path, 'r'))
},
'destinationTable': {
'projectId': project_id,
'datasetId': dataset_id,
'tableId': table_id
},
'sourceFormat': 'NEWLINE_DELIMITED_JSON',
}
}
},
media_body=MediaFileUpload(
'./test_data.json',
mimetype='application/octet-stream'))
job = insert_request.execute()
これは、JSON parsing error in row starting at position 0 at file: file-00000000. Start of array encountered without start of object.
2行として認識できないためだと思うエラーで失敗します。
ただし、これをtest_data.json
ファイルに1つのレコードだけにすると、正常にロードされます。
{"queryID": "newId", "newCol": "newCol"}
挿入ドキュメントを見てきましたが、挿入用に複数の行を設定できるオプションが見つかりませんでした。
複数のレコードをロードする方法を知っている人はいますか?これでどんなリードもありがたいです。私は本当にばかげた何かが欠けていると感じています。ありがとう。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加