1

にデータを挿入しません。 ):BigQueryのNode.jsのAPI startQueryは、次のBQクエリーを考えてみdestinationTable

bqSource.startQuery({ 
    destination: bqDest.dataset(destDataset).table(destTable), 
    query: sourceQuery 
}, function(err, job) { 

    if (!err) { 
     console.log("Succesfully initialized query"); 

     job.getQueryResults(function(err, rows, apiResponse) { 

      if (!err) { 
       console.log("Successfully completed inner"); 
       console.log(apiResponse); 
      } 
      else { 
       console.log(err); 
       console.log(apiResponse); 
       res.status(500).end(); 
      } 

     }); 
    } 
    else { 
     console.log(err); 
     res.status(500).end(); 
    } 
}); 

ドキュメントは先のプロパティごとに指定されている、結果は()別のプロジェクトにテーブルに配置する必要があり、クエリが実行すべきことを信じて私をリードしています。しかし、これは返されるエラーです:私は、ログを見てみると、それは挿入コールが私の先のプロジェクトのBQに行われるように、それは実際にフェッチのマイソースプロジェクトでgetqueryresultsコールだ

errors: 
[ { domain: 'global', 
    reason: 'invalidQuery', 
    message: '1.195 - 1.195: No query found.', 
    locationType: 'other', 
    location: 'query' } ], 
    response: undefined, 
    message: '1.195 - 1.195: No query found.' } 

に見えますエラー。私のソースプロジェクトのエラーでは、ログは次のように読み取られました。

jobGetQueryResultsResponse: { 
job: { 
jobConfiguration: { 
    query: { 
    createDisposition: "CREATE_IF_NEEDED"   
    defaultDataset: { 
    } 
    destinationTable: { 
    datasetId: "destination_bq_cp_test"   
    projectId: "armalavage-test"   
    tableId: "bikes_available"   
    } 
    query: "#standardSQL SELECT station_id, time FROM bryans_bike_analysis_data.2016_status_data WHERE SAFE_CAST(bikes_available as INT64)=0 AND SAFE_CAST(docks_available AS INT64)=0GROUP BY station_id, time"   
    writeDisposition: "WRITE_EMPTY"   
    } 
} 

私は宛先データセットがクエリ自体内で設定されていると仮定しました。なぜそれが解決されていないのですか?したがって、エラーメッセージ - -

答えて

1

あなたのクエリ文字列での問題はそれだけで1行はコメントとして扱われ#で開始されていることであるNo query found

+0

私はBQ UIから直接クエリをコピーするために得る何が: /。ありがとうございました。 正しい形式の再フォーマットされたクエリは次のとおりです: 'const sourceQuery = '#standardSQL \ n SELECT station_id、FROM bryans_bike_analysis_data.2 ...' –

+0

正確に!うれしいことです:) –

+1

btw、あなたはUIでそれを表示するようにクエリの回りにバッククォートを使用することができます。これは文字列リテラルの三重引用符のアナログです –

関連する問題