load_table_from_storageには、google.cloud.bigquery.table.Table
のオブジェクトがdestination
に入力されています。ここでスキーマを指定する必要があります。 「BQCは」あなたのBigQueryクライアントオブジェクトである場合の例として
は、これはテーブルオブジェクトを作成します。
ds = bqc.dataset('dataset_name')
table = ds.table('table_name')
さて、あなたはで動作するようにあなたのJSONファイルでこのデータを持っているとしましょう:
from google.cloud.bigquery.schema import SchemaField
f1 = SchemaField('user_id', 'STRING')
f2 = SchemaField('visitid', 'INTEGER')
f3 = SchemaField('hits', 'RECORD', mode='REPEATED', fields=[SchemaField('hitNumber', 'INTEGER'), SchemaField('type', 'STRING')])
table.schema = [f1, f2, f3]
table.create()
を:次に、そのスキーマがそうのように行われることになる定義
{"user_id": "1", "visitid": 1, "hits": [{"hitNumber": 1, "type": "PAGE"}, {"hitNumber": 2, "type": "PAGE"}]}
{"user_id": "2", "visitid": 1, "hits": [{"hitNumber": 1, "type": "EVENT"}, {"hitNumber": 2, "type": "PAGE"}]}