Cloud Composer $$$ (лучшие / более дешевые варианты для удаления файла Firebase> Облачное хранилище> BigQuery> Несколько запросов Python / SQL)

#google-cloud-platform #airflow #google-cloud-dataflow #google-cloud-composer #cost-management

# #google-облачная платформа #воздушный поток #google-cloud-поток данных #google-cloud-composer #управление затратами

Вопрос:

Я ищу несколько советов о лучших / наиболее экономически эффективных решениях для использования в моем случае использования в Google Cloud (описано ниже).).

В настоящее время я использую Cloud Composer, и это слишком дорого. Похоже, что это результат того, что composer всегда работает, поэтому я ищу что-то, что либо не работает постоянно, либо намного дешевле в запуске / может выполнить то же самое.

Пример использования / процесс >> У меня есть настройка процесса, которая следует следующим шагам:

  1. Существует сайт, созданный с помощью Firebase, который имеет функцию удаления / загрузки файлов (CSV) для импорта данных в хранилище Google
  2. Это удаление файла запускает облачную функцию, которая запускает базу данных Cloud Composer
  3. DAG перемещает CSV из облачного хранилища в BigQuery, одновременно выполняя множество изменений в наборе данных с использованием запросов Python / SQL.

Любые советы о том, что потенциально может быть лучшим решением?

Похоже, что поток данных может быть вариантом, но довольно новым и требует второго мнения.

Спасибо за помощь!

Ответ №1:

Если ваш файл не такой большой, вы можете обработать его с помощью фрейма данных python и pandas, по моему опыту, он очень хорошо работает с файлами около 1 000 000 строк

затем с помощью bigquery API вы можете напрямую загружать фрейм данных, преобразованный в bigquery, все в вашей облачной функции, помните, что облачные функции могут обрабатывать данные до 9 минут, в лучшем случае, этот способ не требует затрат.

Ответ №2:

Недавно я сам изучал это. Я почти уверен, что для этого случая можно использовать поток данных, но я сомневаюсь, что это будет дешевле (также учитывая время, которое вы потратите на обучение и переход на поток данных, если вы еще не являетесь экспертом).

В зависимости от сложности преобразований, которые вы выполняете в файле, вы можете изучить решения для интеграции данных, такие как https://fivetran.com /, https://www.stitchdata.com /, https://hevodata.com / и т.д. В основном они предназначены для простой передачи ваших данных из одного места в другое, но большинство из них также способны выполнять некоторые преобразования данных. Если я не ошибаюсь, в Fivetran он основан на sql, а в Hevo — на python.

Также есть эта статья, посвященная масштабированию узлов Composer вверх и вниз https://medium.com/traveloka-engineering/enabling-autoscaling-in-google-cloud-composer-ac84d3ddd60 . Возможно, это поможет вам сэкономить некоторые затраты. Честно говоря, я не заметил значительного снижения затрат, но, возможно, это сработает для вас.