クエリの結果を別のテーブルに追加する API を介してクエリ ジョブを挿入しようとすると、現在いくつかの問題が発生しています。ドキュメントを見ると、これは、クエリ ジョブを挿入し、宛先テーブルを設定し、writeDisposition を 'WRITE_APPEND' に設定することで可能になるようです。
{
"configuration":
{
"query":
{
"query": "SELECT item_id, seller_id, event_type, quant_sold, amount, event_date, total_sale_amount, unique_transaction_id FROM [OUR-DATASET-ID.OTHER-TABLE-ID] WHERE unique_transaction_id NOT IN (SELECT unique_transaction_id from [OUR-DATASET-ID.OUR-TABLE-ID])",
"destinationTable":
{
"datasetId": "OUR-DATASET-ID",
"projectId": "OUR-PROJECT-ID",
"tableId": "OUR-TABLE-ID"
},
"createDisposition": "CREATE_IF_NEEDED",
"writeDisposition": "WRITE_APPEND",
"preserveNulls": false
}
}
}
ただし、これは機能しません。問題のクエリが実際に結果を返すことを確認したにもかかわらず、destinationTable にデータが追加されません。BigQuery のドキュメント ページで API Explorer を使用して同じ作業を試みましたが、うまくいきませんでした。ただし、BigQuery UI を介してクエリを実行し、[有効にするオプション] メニューから宛先テーブルを選択すると機能します。ここで私が間違っていることはありますか?SELECT から既存のテーブルにデータを追加するのを見ましたが、ほとんど回答がありませんでした。どんな助けでも大歓迎です!