Невозможно создать задание cron для моего скрипта pyspark с помощью Airflow - PullRequest
0 голосов
/ 08 апреля 2019

У меня есть скрипт pyspark, который отлично работает сейчас, и я хочу планировать эту работу на каждую минуту, и для этого я использую Apache Airflow, я создал файл .py для airflow, которыйвыглядит следующим образом:

from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from datetime import datetime, timedelta
import os
from builtins import range
import airflow
from airflow.models import DAG
from airflow.operators.dummy_operator import DummyOperator

srcDir = os.getcwd() + '/home/user/testing.py'
sparkSubmit = '/home/usr/spark-2.4.0-bin-hadoop2.7/bin/spark-submit'

default_args = {
    "owner": "usr",
    "depends_on_past": False,
    "start_date": datetime(2019, 4, 8),
    "email": ["abc@gmail.com"],
    "email_on_failure": True,
    "email_on_retry": True,
    'retries': 5,
    'retry_delay': timedelta(minutes=1),
}

dag= DAG('my_airflow',default_args=default_args, schedule_interval='* * * * *')

t1 = BashOperator(
    task_id='task1',
    bash_command='/home/user/spark-2.4.0-bin-hadoop2.7/bin/spark-submit' + ' ' + srcDir, 
    dag=dag,
)

Но когда я запускаю это по python3 air_flow.py, оно ничего не показывает ни на консоли, ни на Airflow UI.Я хочу знать, как сделать мой сценарий pyspark запланированным на каждую минуту Apache Airflow?Любая помощь будет очень признателен

1 Ответ

1 голос
/ 09 апреля 2019

Запуск python3 air_flow.py просто анализирует ваш файл.

Чтобы запустить файл по расписанию, вам сначала потребуется запустить Airflow Webserver и Airflow Scheduler.

# initialize the database
airflow initdb

# start the web server, default port is 8080
airflow webserver -p 8080

# start the scheduler
airflow scheduler

Затем на вашемв браузере перейдите на страницу http://localhost:8080, которая перенаправит вас на пользовательский интерфейс Airflow Webserver, который выглядит следующим образом:

Airflow DAG Page

Ваш сценарий будет запускаться автоматическикаждую минуту.Если вы хотите запустить его вручную из пользовательского интерфейса, нажмите кнопку «Выполнить» в правой части группы DAG.

Следуйте инструкциям по быстрому запуску: https://airflow.readthedocs.io/en/1.10.2/start.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...