関連の質問を使用して、既存のテーブルに新しい列を追加します。Bigquery add columns to table schema using BQ command line toolsBigQueryは:PythonのBQのAPIに
私はBigQueryのPython API使用したBigQuery内の既存のテーブルに新しい列を(既存のテーブルのスキーマを更新)を追加します。
しかし、私のコードは動作していないようです。ここで
は私のコードです:
flow = flow_from_clientsecrets('secret_key_path', scope='my_scope')
storage = Storage('CREDENTIAL_PATH')
credentials = storage.get()
if credentials is None or credentials.invalid:
credentials = tools.run_flow(flow, storage, tools.argparser.parse_args([]))
http = httplib2.Http()
http = credentials.authorize(http)
bigquery_service = build('bigquery', 'v2', http=http)
tbObject = bigquery_service.tables()
query_body = {'schema': {'name':'new_column_name', 'type':'STRING'}}
tbObject.update(projectId='projectId', datasetId='datasetId', tableId='tableId', body=query_body).execute()
それはProvided schema doesn't match existing table's schema
エラーを返します。 誰かが私にPythonの実例を教えてもらえますか? 多くの感謝!
このフィールドを取得するために新しいテーブルを使用して 既存のテーブルに参加されることを、いくつかの鍵は、あなたが全体のスキーマ、新しいフィールド –
こんにちはミハイルないだけを提供しなければなりません既存のテーブルのスキーマ全体を意味しますか? –
はい、新しいフィールドが追加されました。 apiは新しいAPIを追加する責任があります。これが起こるためには、スキーマ全体を提示する必要があります –