0

アプリスクリプトを使用してCloud StorageのシンプルなCVSファイルをBigQueryテーブルにロードしようとしています。私はすでにテーブルを作成していて、ファイルをテーブルの既存のデータに追加したいとします。スクリプトを実行すると、次のエラーメッセージが表示されます。「mediaDataパラメータは、アップロード用のBLOBタイプのみをサポートしています。私はこれでどのように進歩し、答えを探すためにレンガの壁にぶつかったのか分かりません。クラウドストレージからビッグクエリへのCSVファイルのロード

function loadCloudStorageFileToBigQuery(source, datasetId, tableId, schema) { 
    try{ 
     var tableReference = BigQuery.newTableReference(); 
     tableReference.setProjectId(MY_PROJECT); 
     tableReference.setDatasetId(datasetId); 
     tableReference.setTableId(tableId); 

     var load = BigQuery.newJobConfigurationLoad(); 
     load.setDestinationTable(tableReference); 
     load.setSourceUris([source]); 
     load.setSourceFormat('CSV'); 
     load.setSchema(schema); 
     load.setMaxBadRecords(0); 
     load.setWriteDisposition('WRITE_TRUNCATE'); 

     var configuration = BigQuery.newJobConfiguration(); 
     configuration.setLoad(load); 

     var newJob = BigQuery.newJob(); 
     newJob.setConfiguration(configuration); 

     var job = BigQuery.Jobs.insert(newJob, null, {projectId:MY_PROJECT}); 

    }catch(err){ 
     Logger.log('Table upload error: %s', err); 
    } 
} 

何かアドバイスや助けが最も高く評価されるだろう。ここで私が使用しているコードスニペットです。

答えて

0

Iは、単に以下に実負荷インサートを変更することによってこの問題を解決:

VARジョブ= BigQuery.Jobs.insert(newJob、MY_PROJECT)。

 var tableReference = BigQuery.newTableReference(); 
     tableReference.setProjectId(MY_PROJECT); 
     tableReference.setDatasetId(datasetId); 
     tableReference.setTableId(tableId); 

     var load = BigQuery.newJobConfigurationLoad(); 
     load.setDestinationTable(tableReference); 
     load.setSourceUris([source]); 
     load.setSourceFormat('CSV'); 
     load.setMaxBadRecords(0); 
     load.setWriteDisposition('WRITE_APPEND'); 

     var configuration = BigQuery.newJobConfiguration(); 
     configuration.setLoad(load); 

     var newJob = BigQuery.newJob(); 
     newJob.setConfiguration(configuration); 

     var job = BigQuery.Jobs.insert(newJob, MY_PROJECT); 

テーブルが既に作業機能は以下のとおりである

が存在するとして、私はまた、スキーマを削除しました

関連する問題