달나라 노트

Airflow Operator : HiveOperator (Airflow에서 Hive query 실행) 본문

Airflow/Airflow Operator

Airflow Operator : HiveOperator (Airflow에서 Hive query 실행)

CosmosProject 2025. 10. 18. 14:12
728x90
반응형

 

 

 

 

Airflow의 HiveOperator는 Hive database와 communication하는 것을 가능하게 해주는 operator입니다.

간단하게 말하면 Hive database에 query를 날려서 query를 수행시킬 수 있다는 것이죠.

 

예시를 봅시다.

 

from airflow import DAG

dag = DAG(
    dag_id='test_dag',
    start_date=datetime.datetime(2022, 9, 27),
    schedule_interval='0 20 * * *'
)


from airflow.providers.apache.hive.operators.hive import HiveOperator  # 1

op_test_hive = HiveOperator(  # 2
    dag=dag,  # 3
    task_id='test_operator_hive',  # 4
    hive_cli_conn_id='connection_id_to_hive',  # 5
    hql='''  # 6
    select  *
    from test_table
    ;
    '''
)

 

 

# 1

HiveOperator를 사용하기 위해선 import를 먼저 해야합니다.

HiveOperator의 위치는 airflow 버전 등에 따라 달라질 수 있습니다.

 

# 2

HiveOperator를 호출합니다.

 

# 3

Operator가 어느 dag에 속하는지 dag 정보를 전달합니다.

 

# 4

PostgresOperator의 task_id입니다. Operator의 이름입니다.

 

# 5

Hive database와 연결할 때 사용하는 connection id입니다.

이 또한 설정된 database에 따라 다릅니다.

 

# 6

Hive database에 전달할 SQL query입니다.

예시에서는 단순한 select 구문만 전달했지만 실제로는 drop, create, insert, delete, update 등 모든 구문을 가진 query를 전달할 수 있습니다.

 

 

 

 

 

FYI

https://airflow.apache.org/docs/apache-airflow/1.10.9/_api/airflow/operators/hive_operator/index.html

 

airflow.operators.hive_operator — Airflow Documentation

 

airflow.apache.org

 

 

 

 

 

 

 

 

728x90
반응형
Comments