TensorFlow Extended (TFX): уточнение использования Beam, Airflow и Kubeflow

Я надеюсь, что кто-нибудь сможет прояснить связь между TensorFlow и его зависимостями (Beam, AirFlow, Flink и т. д.)

Я ссылаюсь на главную страницу TFX: https://www.tensorflow.org/tfx/guide#creating_a_tfx_pipeline_with_airflow ,так далее.

В примерах я вижу три варианта: https://github.com/tensorflow/tfx/tree/master/tfx/examples/chicago_taxi_pipelinetaxi_pipeline_flink.py, taxi_pipeline_kubeflow.py, taxi_pipeline_simple.py

ЛУЧ Пример?

Нет примера "BEAM" и мало описывается его использование.

Правильно ли предположить, что taxi_pipeline_simple.py будет работать, даже если не установлен воздушный поток? Я думаю, что нет, поскольку он использует «AirflowDAGRunner». Если нет, то можете ли вы запустить TFX только с BEAM и его бегуном? Если да, то почему нет такого примера?

Пример Флинка

В taxi_pipeline_flink.py используется AirflowDAGRunner. Я предполагаю, что он использует AirFlow в качестве оркестратора, который, в свою очередь, использует Flink в качестве исполнителя. Правильный?

Пример воздушного потока

На странице указано, что BEAM является обязательной зависимостью, но у воздушного потока нет луча в качестве одного из его исполнителей. У него есть только SequentialExecutor, LocalExecutor, CeleryExecutor, DaskExecutor и KubernetesExecutor. Следовательно, BEAM нужен только тогда, когда не используется Airflow? При использовании воздушного потока, какова цель луча, если он требуется?

Спасибо за любые идеи.

чувствую, что это конкретный вопрос tfx, вы пробовали их группу пользователей?

Ruoyun Huang 18.05.2019 00:42

Очень даже :) TensorFlow делает stackoverflow де-факто своим форумом вопросов и ответов. Я думаю, что причина отсутствия ответа в TFX довольно нова, и для многих это излишество.

Robert Lugg 20.05.2019 19:24

Вопрос еще актуален? Прямо сейчас я вижу пример tax_pipeline_beam.py, и он НЕ использует воздушный поток (как и ожидалось). Кроме того, относительно луча и воздушного потока: tfx ВСЕГДА использует Beam, в данном случае для манипулирования данными в некоторых компонентах. Затем у вас есть инструменты оркестровки, и Beam также можно использовать в качестве одного из них, как и Airflow.

Elisio Quintino 23.07.2019 11:55

Помещая комментарий как более полный ответ ниже..

Elisio Quintino 23.07.2019 12:14
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
6
4
1 781
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

A) Для запуска конвейеров TFX вам нужны оркестраторы. Примерами являются Apache Airflow, Kubeflow Pipelines и Apache Beam.

Б) Apache Beam ТАКЖЕ (а может и в основном) используется для распределенной обработки данных в некоторых компонентах TFX. Таким образом, Apache Beam необходим с любым выбранным вами оркестратором (даже если вы не используете Apache Beam в качестве оркестратора!)

Отвечая на ваши пункты:

1) Пример BEAM. Прямо сейчас есть пример Beam по адресу https://github.com/tensorflow/tfx/blob/master/tfx/examples/chicago_taxi_pipeline/taxi_pipeline_beam.py. Как вы и предполагали, AirflowDAGRunner там нет, так как в этом примере Airflow не используется в качестве оркестратора.

2) Пример воздушного потока — BEAM является обязательной зависимостью по причине, указанной выше: BEAM всегда используется TFX для распределенной обработки данных в некоторых компонентах. Поэтому даже с Airflow (или любым другим) в качестве оркестратора вам нужен BEAM.

3) Пример Flink — на данный момент я нигде не могу найти этот пример (вероятно, из-за изменений в ссылке после того, как вы разместили), но возможно, что Flink будет использоваться в качестве бегуна, а Airflow — в качестве оркестратора. Однако я не смог найти упоминания о Flink в документации Airflow.

Надеюсь, это поможет в некоторой степени.

Разве это не причина, по которой может не быть хорошего примера Flink, потому что Beam является (или может быть) абстракцией над Flink? Поэтому любой пример Beam неявно является примером Flink (если ваш Beam настроен на использование Flink в качестве бегуна). Таким образом, такие проекты, как TF, могут просто «говорить» на Beam, но мы можем настроить его для работы на Flink, поэтому проекту не нужна документация, специфичная для Flink (таким образом подтверждая ценность выбора уровня абстракции... нет больше не нужен пример DataFlow плюс Flink, плюс Spark...)

Chris Trahey 27.08.2021 22:10

Другие вопросы по теме