Я пытался выполнить документацию https://cloud.google.com/bigquery/sql-reference/enabling-standard-sql, но не смог найти поле useLegacySql в Job.Configuration. Я использую Bigquery.v2.1.9.2.2280.BigQuery: как включить стандартный SQL в C#
ответ
Без каких-либо изменений в вызовах API, просто пытается посылать ваши стандартные запросы SQL с «#StandardSQL» в первой строке:
#StandardSQL
SELECT COUNT(*)
FROM `ghtorrent-bq.ght.project_languages`
Я раньше не использовал этот API, но вы ищете ссылку для JobConfigurationQuery
? Он имеет атрибут UseLegacySql
.
если вы используете API - вы можете включить стандартный SQL, используя следующие методы:
- Установка свойства useLegacySql в jobs.query ложь. Чтобы узнать больше, см. Раздел useLegacySql раздела «Задачи: запрос».
- Использование метода jobs.insert и настройка configuration.query.useLegacySql на false. Чтобы узнать больше, см. Раздел configuration.query.useLegacySql раздела «Вакансии».
Спасибо @MikhailBerlyant, я использовал старую библиотеку DLL из BigQuery, который не было поля useLegacySql, и я не хотел его обновлять, потому что это может сломать другие части нашего кода. Решение, предложенное Фелипе Хоффа, кажется лучшим выбором. – Ken
Спасибо @Felipe Hoffa, это работает и не требует изменения конфигурации заданий. – Ken