2016-12-21 11 views
0

を認識しません私が間違っている可能性のBigQuery load_table_from_storageは、Googleのクラウドストレージからテーブルをロードしようとしたとき、私は次のようなエラーに実行しているURI

uris = ['gs://my-bucket-name/datastore_backup_analytics_2016_12_21_2_User/1569751766512529035929A5AA9742/output-0'] 

job_name = 'Load_User' 
destinationTable = dataset.table('Transfer') 
job = bigquery_client.load_table_from_storage(job_name, destinationTable, uris)    
job.begin() 

答えて

2

が、それはPythonのAPIにload_table_from_storageのように見えるとは対照的に、第三引数に単一の文字列を想定しています。一方、私のURIは(私はGCSのWebアプリでそれを見ることができますすなわち)が有効ですリスト。複数のファイルを照合する場合は、末尾に*を使用できます。例えば、

uri = 'gs://my-bucket-name/datastore_backup_analytics_2016_12_21_2_User/1569751766512529035929A5AA9742/output-*'] 

job_name = 'Load_User' 
destinationTable = dataset.table('Transfer') 
job = bigquery_client.load_table_from_storage(job_name, destinationTable, uri)    
job.begin() 
+0

これは本当にありがとうございました。文字列のシーケンスは、文字列のリストが必要だと私に導きます。 https://googlecloudplatform.github.io/google-cloud-python/stable/bigquery-client.html –

+1

私もそれについて混乱しました。 Githubのログインが必要な場合もありますが、[こちら](https://github.com/GoogleCloudPlatform/google-cloud-python/issues)はAPIドキュメントの問題を報告する場所です。私はここで正しい使用法の例を見つけました(http://gcloud-python.readthedocs.io/en/latest/bigquery-usage.html#inserting-data-asynchronous)。いずれにせよ、私はあなたがそれを働かせてうれしいです! –

+0

私は同じ問題にぶつかりました。解決にお手伝いしてくれてありがとう。私は先に進み、ドキュメントにgithubの問題を提出しました:https://github.com/GoogleCloudPlatform/google-cloud-python/issues/3482 – Greg

1

Client.load_table_from_storage(すなわち*soure_urisがPythonで意味である)一つ以上ソースURIをとります。例:

job = client.load_table_from_storage(
    'load-job-123', my_table_object, 
    'gs://my-bucket-name/table_one', 
    'gs://my-bucket-name/table_two') 
関連する問題