Я уже несколько лет занимаюсь разработкой заданий Spark с использованием локальных кластеров, и наша команда недавно перешла на облачную платформу Google, что позволило нам использовать возможности BigQuery и тому подобное.
Дело в том, что теперь я часто пишу шаги обработки в SQL больше, чем в PySpark, поскольку это:
- легче рассуждать (менее многословно)
- проще в обслуживании (SQL против кода Scala / Python)
- при необходимости вы можете легко запустить его в графическом интерфейсе
- быстро, без необходимости разбираться в разделах, кэшировании и так далее ...
В конце концов, я использую Spark только тогда, когда у меня есть что-то, что я не могу выразить с помощью SQL.
Чтобы было ясно, мой рабочий процесс часто выглядит так:
- предварительная обработка (ранее в Spark, теперь в SQL)
- разработка функций (ранее в Spark, сейчас в основном в SQL)
- модель машинного обучения и прогнозы (Spark ML)
Я что-то упустил?
Есть ли какие-либо недостатки в использовании BigQuery таким образом вместо Spark?
Спасибо