빅데이터(BigData)/Airflow

airflow에서 SqlToSlackOperator로 메시지 보낼 때 데이터프레임 양식 변경

leebaro 2022. 11. 3.
728x90

sql을 실행한 결과인 데이터프레임을 slack으로 발송하면 보기가 좋지 않습니다.

 

이때 할 수 있는 방법은 두가지가 있습니다.

 

첫 번째 방법은 tabulate를 사용하는 방법입니다.

 

slack_message="message: {{ ds }}, ```{{ results_df | tabulate(tablefmt='fancy_grid', headers='keys', showindex=False) }}```"

아래와 같이 메시지를 보내면 깔끔한 표 형식으로 결과를 볼 수 있습니다. 하지만 한글 데이터 때문에 표가 밀려서 보입니다.

 

두 번째 방법은 아래와 같이 데이터 프레임의 각 값을 선택할 수 있습니다.

        slack_message="""기준일자: {{ ds }}
                        ```
                            신규소셜 : {{ results_df.iloc[0]['신규소셜']}}
                            신규인증 : {{ results_df.iloc[0]['신규인증']}}

                            ```""",

그러면 아래와 같은 결과를 확인할 수 있습니다.

 

728x90