The Forex Data Pipeline(Hue, HiveOperator)

우상욱·2024년 3월 10일
0

Airflow

목록 보기
11/22

방금 전 포스팅에서 HDFS에 데이터를 저장했습니다. 이번에는 HDFS에 저장되었으니, 이 데이터를 상호작용하는 방법을 찾아보겠습니다.하이브를 사용합니다. Hive로 데이터, 파일 위에 테이블을 만들겁니다. 그렇게 하면, SQL을 통해 데이터를 쿼리할 수 있습니다.

이번엔 HiveOperator를 사용합니다.

Hive Operator


단순히 EXTERNAL TABLE을 만드는 작업을 해보겠습니다.

from airflow.providers.apache.hive.operators.hiv import HiveOperator

creating_forex_rates_table = HiveOperator(
        task_id="creating_forex_rates_table",
        hive_cli_conn_id="hive_conn",
        hql="""
            CREATE EXTERNAL TABLE IF NOT EXISTS forex_rates(
                base STRING,
                last_update DATE,
                eur DOUBLE,
                usd DOUBLE,
                nzd DOUBLE,
                gbp DOUBLE,
                jpy DOUBLE,
                cad DOUBLE
                )
            ROW FORMAT DELIMITED
            FIELDS TERMINATED BY ','
            STORED AS TEXTFILE
        """,
    )

Connection을 설정합니다.

현재 hue의 데이터베이스에는 어떤 테이블도 없습니다.

에어플로우에서 태스크를 테스트해봅니다.

airflow tasks test forex_data_pipeline creating_forex_rates_table 2022-01-01

하이브에 테이블이 만들어졌는지 hue를 통해 확인합니다.

쿼리도 해봅니다. 지금은 데이터가 없습니다.

다음 포스팅에선 해당 테이블에 데이터를 추가해보겠습니다.

profile
데이터엔지니어

0개의 댓글