BigQueryは、フラグ "useLegacySQL:False"を使用してJSONペイロードを送信しても、標準SQLではなく従来のSQLを使用しています。標準SQLは拒否されていますが、システムは以下のJSONでレガシーSQLを受け入れます。BigQueryのAPIで標準SQLをクエリに使用するにはどうすればよいですか?
私たちが言うところまでは、BigQuery's documentationです。 BigQueryでこのAPI呼び出しで標準SQLを使用するにはどうすればよいですか?ここで
は、私たちのBigQueryのJSONペイロードである:
{
'jobReference': {
'jobId': '####',
'projectId': 'healthlabs-4'
},
'configuration': {
'query': {
'destinationTable': {
'tableId': u 'our_table_name',
'datasetId': 'our_dataset_id',
'projectId': 'our_project_id'
},
'useLegacySQL': False,
'priority': 'INTERACTIVE',
'query': u "SELECT ... FROM our_table WHERE ... GROUP BY ... ORDER BY ...",
'allowLargeResults': True
}
}
}
当社は、レガシーSQLを受け入れますが、このエラーで私たちの標準的なSQLを拒否したBigQueryからの戻りメッセージから拒否されたクエリを伝えることができます:
{'create_table_error': [{u'location': u'query', u'message': u'Encountered " "FROM" "FROM "" at line 1, column 333.\nWas expecting:\n ")" ...\n ', u'reason': u'invalidQuery'}], 'bq_table_exists': 'no'}