Поддерживает ли Scio TypeSafe BigQuery с предложениями
val query = s"""#standardsql
| WITH A AS (SELECT * FROM `prefix.andrews_test_table` LIMIT 1000)
| select * from A"""
@BigQueryType.fromQuery(query)
class Test
Последовательно дает мне :40: error: Missing query
, Этот запрос работает нормально в BigQuery, когда я отключаю режим legacySql. Не следует ли ожидать, что КАЖДЫЙ запрос, выполняемый в BigQuery, будет работать с TypeSafe BigQuery?
1 ответ
Решение
Запустите ваш запрос и выведите его во временную таблицу, затем в репозитории Scio.
@BigQueryType.fromTable("prefix.andrews_test_table_limited")
class Clazz
Clazz.toPrettyString(2)
Должен вывести
@BigQueryType.toTable
case class Clazz(
.....
)
который вы можете затем использовать в качестве вашего типа. Мое решение было адаптировано из: https://github.com/spotify/scio/wiki/FAQ#how-to-make-intellij-idea-work-with-type-safe-bigquery-classes