Когда вам нужно прочитать все данные из одной или нескольких таблиц в bigquery в задании потока данных, я бы сказал, что есть два подхода к этому. Первый — использовать BigQueryIO
с from
, который считывает рассматриваемую таблицу, а второй подход — использовать fromQuery
, где вы указываете запрос, считывающий все данные из той же таблицы. Итак, мой вопрос:
- Есть ли какая-либо выгода в затратах или производительности для использования одного над другим?
Я ничего не нашел в документах по этому поводу, но я действительно хотел бы знать. Я предполагаю, что, возможно, read
быстрее, поскольку вам не нужно запускать запрос, который сканирует данные, а это означает, что он больше похож на функцию предварительного просмотра, которую вы имеете в пользовательском интерфейсе BigQuery
. Если это правда, это может быть намного дешевле, но имеет смысл, если они оба стоят одинаково.
Итак, в чем разница между:
BigQueryIO.read(...).from(tableName)
И
BigQueryIO.read(...).fromQuery("SELECT * FROM " + tableName)