๋ฐ˜์‘ํ˜•

Airflow ์„ค์น˜ ํ›„ ์‹คํ–‰

nohup airflow webserver--port 8080 > webserver.log 2>&1 &

Airflow Scheduler ์‹คํ–‰

nohup airflow scheduler > scheduler.log 2>&1 &

Aiflow DAG ๋ฆฌ์ŠคํŠธ ํ™•์ธ

airflow dags list

์‹คํ–‰ ํ›„ ๊ฒฐ๊ณผ

dag_id                        | filepath                      | owner   | paused
==============================+===============================+=========+=======
example_bash_operator         | /usr/local/lib/python3.7/site | airflow | False
                              | -packages/airflow/example_dag |         |
                              | s/example_bash_operator.py    |         |
example_branch_datetime_opera | /usr/local/lib/python3.7/site | airflow | True
tor_2                         | -packages/airflow/example_dag |         |
                              | s/example_branch_datetime_ope |         |
                              | rator.py                      |         |
example_branch_dop_operator_v | /usr/local/lib/python3.7/site | airflow | True
3                             | -packages/airflow/example_dag |         |
                              | s/example_branch_python_dop_o |         |
                              | perator_3.py                  |         |
example_branch_labels         | /usr/local/lib/python3.7/site | airflow | True
                              | -packages/airflow/example_dag |         |
                              | s/example_branch_labels.py    |         |
example_branch_operator       | /usr/local/lib/python3.7/site | airflow | True
                              | -packages/airflow/example_dag |         |
                              | s/example_branch_operator.py  |         |
example_complex               | /usr/local/lib/python3.7/site | airflow | True
                              | -packages/airflow/example_dag |         |
                              | s/example_complex.py          |         |
example_dag_decorator         | /usr/local/lib/python3.7/site | airflow | True
                              | -packages/airflow/example_dag |         |
                              | s/example_dag_decorator.py    |         |
example_external_task_marker_ | /usr/local/lib/python3.7/site | airflow | True
child                         | -packages/airflow/example_dag |         |
                              | s/example_external_task_marke |         |
                              | r_dag.py                      |         |
example_external_task_marker_ | /usr/local/lib/python3.7/site | airflow | True
parent                        | -packages/airflow/example_dag |         |
                              | s/example_external_task_marke |         |
                              | r_dag.py                      |         |
example_nested_branch_dag     | /usr/local/lib/python3.7/site | airflow | True
                              | -packages/airflow/example_dag |         |
                              | s/example_nested_branch_dag.p |         |
                              | y                             |         |
example_passing_params_via_te | /usr/local/lib/python3.7/site | airflow | True
st_command                    | -packages/airflow/example_dag |         |
                              | s/example_passing_params_via_ |         |
                              | test_command.py               |         |
example_python_operator       | /usr/local/lib/python3.7/site | airflow | True
                              | -packages/airflow/example_dag |         |
                              | s/example_python_operator.py  |         |
example_short_circuit_operato | /usr/local/lib/python3.7/site | airflow | True
r                             | -packages/airflow/example_dag |         |
                              | s/example_short_circuit_opera |         |
                              | tor.py                        |         |
example_skip_dag              | /usr/local/lib/python3.7/site | airflow | True
                              | -packages/airflow/example_dag |         |
                              | s/example_skip_dag.py         |         |
example_sla_dag               | /usr/local/lib/python3.7/site | airflow | True
                              | -packages/airflow/example_dag |         |
                              | s/example_sla_dag.py          |         |
example_subdag_operator       | /usr/local/lib/python3.7/site | airflow | True
                              | -packages/airflow/example_dag |         |
                              | s/example_subdag_operator.py  |         |
example_subdag_operator.secti | /usr/local/lib/python3.7/site | airflow | True
on-1                          | -packages/airflow/example_dag |         |
                              | s/example_subdag_operator.py  |         |
example_subdag_operator.secti | /usr/local/lib/python3.7/site | airflow | True
on-2                          | -packages/airflow/example_dag |         |
                              | s/example_subdag_operator.py  |         |
example_task_group            | /usr/local/lib/python3.7/site | airflow | True
                              | -packages/airflow/example_dag |         |
                              | s/example_task_group.py       |         |
example_task_group_decorator  | /usr/local/lib/python3.7/site | airflow | True
                              | -packages/airflow/example_dag |         |
                              | s/example_task_group_decorato |         |
                              | r.py                          |         |
example_time_delta_sensor_asy | /usr/local/lib/python3.7/site | airflow | True
nc                            | -packages/airflow/example_dag |         |
                              | s/example_time_delta_sensor_a |         |
                              | sync.py                       |         |
example_trigger_controller_da | /usr/local/lib/python3.7/site | airflow | True
g                             | -packages/airflow/example_dag |         |
                              | s/example_trigger_controller_ |         |
                              | dag.py                        |         |
example_trigger_target_dag    | /usr/local/lib/python3.7/site | airflow | True
                              | -packages/airflow/example_dag |         |
                              | s/example_trigger_target_dag. |         |
                              | py                            |         |
example_weekday_branch_operat | /usr/local/lib/python3.7/site | airflow | True
or                            | -packages/airflow/example_dag |         |
                              | s/example_branch_day_of_week_ |         |
                              | operator.py                   |         |
example_xcom                  | /usr/local/lib/python3.7/site | airflow | True
                              | -packages/airflow/example_dag |         |
                              | s/example_xcom.py             |         |
example_xcom_args             | /usr/local/lib/python3.7/site | airflow | True
                              | -packages/airflow/example_dag |         |
                              | s/example_xcomargs.py         |         |
example_xcom_args_with_operat | /usr/local/lib/python3.7/site | airflow | True
ors                           | -packages/airflow/example_dag |         |
                              | s/example_xcomargs.py         |         |
latest_only                   | /usr/local/lib/python3.7/site | airflow | True
                              | -packages/airflow/example_dag |         |
                              | s/example_latest_only.py      |         |
latest_only_with_trigger      | /usr/local/lib/python3.7/site | airflow | True
                              | -packages/airflow/example_dag |         |
                              | s/example_latest_only_with_tr |         |
                              | igger.py                      |         |
tutorial                      | /usr/local/lib/python3.7/site | airflow | True
                              | -packages/airflow/example_dag |         |
                              | s/tutorial.py                 |         |
tutorial_etl_dag              | /usr/local/lib/python3.7/site | airflow | True
                              | -packages/airflow/example_dag |         |
                              | s/tutorial_etl_dag.py         |         |
tutorial_taskflow_api_etl     | /usr/local/lib/python3.7/site | airflow | True
                              | -packages/airflow/example_dag |         |
                              | s/tutorial_taskflow_api_etl.p |         |
                              | y                             |         |
tutorial_taskflow_api_etl_vir | /usr/local/lib/python3.7/site | airflow | True
tualenv                       | -packages/airflow/example_dag |         |
                              | s/tutorial_taskflow_api_etl_v |         |
                              | irtualenv.py

์˜ˆ์‹œ๋กœ ๋“ค์–ด ์žˆ๋Š” airflow dags ์œ„์น˜ ์•Œ์ˆ˜ ์žˆ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

๋ฐฉํ–ฅ์„ฑ ๋น„์ˆœํ™˜ ๊ทธ๋ž˜ํ”„ DAG(Directed Acyclic Graph)

apche spark๋ฅผ ์ ‘ํ•ด๋ดค๋‹ค๋ฉด, DAG๋ผ๋Š” ์šฉ์–ด๊ฐ€ ์ต์ˆ™ํ•  ์ˆ˜ ์žˆ๋‹ค.
๋ฐฉํ–ฅ์„ฑ ๋น„์ˆœํ™˜ ๊ทธ๋ž˜ํ”„๋ผ๋Š” ๋ง์ž์ฒด ์ดํ•ดํ•˜๊ธฐ ์ข€ ์–ด๋ ต์ง€๋งŒ ๊ทธ๋ฆผ์œผ๋กœ ๋ณด๋ฉด ์ดํ•ด๊ฐ€ ์‰ฝ๋‹ค.

Airflow ๐Ÿช

์ตœ๊ทผ ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด ์ง๋ฌด ์ฑ„์šฉ๊ณต๊ณ ๋ฅผ ๋ณด๋ฉด Airflow ์‚ฌ์šฉ๊ฒฝํ—˜์„ ์šฐ๋Œ€ํ•ด ์ฃผ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

๋ชจ๋“  ์˜คํ”ˆ์†Œ์Šค๋ฅผ ์ ‘ํ•ด์„œ ๊ณต๋ถ€ํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ธฐ๋„ ํ•˜์ง€๋งŒ, ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค์น˜๊นŒ์ง€๋Š” ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ๊น ใ…œ

๊ทธ๋ฆฌ๊ณ  ์˜คํ”ˆ์†Œ์Šค ํ•œ๋‘๊ฐœ๋งŒ ์ •ํ•ด์„œ ์ œ๋Œ€๋กœ ๊ณต๋ถ€ํ•ด๋„ ๋‹ค๋ฅธ๊ฑธ ์“ธ๋•Œ๋„ ์–ด๋ ต์ง€์•Š๊ฒŒ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ๊ธˆ๋ฐฉ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค.
https://airflow.apache.org/docs/apache-airflow/stable/start/local.html

 

Running Airflow locally โ€” Airflow Documentation

airflow.apache.org

 

๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ ๋ธ”๋ก์„ ๋ฌถ๊ฑฐ๋‚˜ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ํ•˜๋Š” ํ”Œ๋žซํผ ๋˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ (๊ฐ„๋‹จํ•˜๊ฒŒ๋Š” ์Šค์ผ€์ค„๋Ÿฌ ๋А๋‚Œ)

Hadoop์— ์ข…์†๋˜์ง€์•Š์Œ Python์œผ๋กœ ๊ฐœ๋ฐœ๊ฐ€๋Šฅํ•จ

1. ํ™˜๊ฒฝ ์„ธํŒ… (๋ฆฌ๋ˆ…์Šค RedHat)

kerberos openldap๊ณผ ๊ฐ™์€ ํŒจํ‚ค์ง€๋“ค ์„  ์„ค์น˜ํ•„์š”

  sudo yum install -y \
        freetds \
        freetds-devel \
        krb5-server krb5-libs krb5-auth-dialog \
        openldap openldap-clients openldap-servers \
        libffi \
        cyrus-sasl-plain cyrus-sasl\ (libsasl2  ๋Œ€์‹  )
        openssl-devel \
        redhat-lsb \
        sqlite \
        unixODBC

๊ทผ๋ฐ ๋ณด์•ˆ๊นŒ์ง€ ์„ค์ •ํ•˜๋ฉด์„œ ๊ณต๋ถ€ํ•˜์ง€์•Š์„ ์˜ˆ์ •์ด๋ผ ์œ„๊ณผ์ •์€ ์ƒ๋žต ์ถ”ํ›„๋ฅผ ์œ„ํ•ด (๊ณต์‹์‚ฌ์ดํŠธ์—” ์šฐ๋ถ„ํˆฌ๊ธฐ์ค€ ๋ ˆ๋“œํ–‡๊ณ„์—ด ์ฐพ์•„๋ณด๋˜๊ฐ€ํ•ด์•ผํ•œ๋‹ค)

2. Airflow ๋‹ค์šด๋กœ๋“œ ๋ฐฉ๋ฒ•

  1. Apache Mirror์—์„œ ๋‹ค์šด https://dlcdn.apache.org/airflow/2.2.4/apache-airflow-2.2.4.tar.gz
  2. Github git clone -b v2-2-stable --single-branch https://github.com/apache/airflow.git
  3. ๊ณต์‹์‚ฌ์ดํŠธ https://airflow.apache.org/docs/apache-airflow/stable/installation/installing-from-sources.html

1๋ฒˆ ๋ฐฉ๋ฒ•์œผ๋กœ Airflow ์„ค์น˜

$ sudo wget https://dlcdn.apache.org/airflow/2.2.4/apache-airflow-2.2.4.tar.gz --no-check-certificate

build

python3 -m venv /opt/apache-airflow-2.2.4/
source /opt/apache-airflow-2.2.4/bin/activate

airflow ์‹คํ–‰

./airflow webserver -p 8080
  ____________       _____________
 ____    |__( )_________  __/__  /________      __
____  /| |_  /__  ___/_  /_ __  /_  __ \_ | /| / /
___  ___ |  / _  /   _  __/ _  / / /_/ /_ |/ |/ /
 _/_/  |_/_/  /_/    /_/    /_/  \____/____/|__/

 

728x90
๋ฐ˜์‘ํ˜•

+ Recent posts