728x90

빅데이터(BigData) 54

Apache Superset Web UI 세션 만료시 로그아웃 시키기

세션 만료 Configuring Superset | Superset (apache.org) 아래와 같이 PERMANENT_SESSION_LIFETIME 시간을 변경해주면 웹 UI에서 자동 로그 아웃된다. from flask import session from flask import Flask def make_session_permanent(): ''' Enable maxAge for the cookie 'session' ''' session.permanent = True # Set up max age of session to 24 hours PERMANENT_SESSION_LIFETIME = timedelta(hours=24) def FLASK_APP_MUTATOR(app: Flask) -> None: ..

apache superset에서 좌측, 상단 메뉴 숨기기

아래와 같이 URL에 파라미터를 추가하면 메뉴를 숨길 수 있습니다. http://localhost:8088/superset/dashboard/my-dashboard/?standalone=1&show_filters=0 Customizing dashboard​ The following URL parameters can be used to modify how the dashboard is rendered: standalone: 0 (default): dashboard is displayed normally 1: Top Navigation is hidden 2: Top Navigation + title is hidden 3: Top Navigation + title + top level tabs are hidd..

superset의 superset_config.py 값 바꾸기

docker-compose로 만든 supserset 컨테이너는 아래와 같은 방법으로 속성 값을 변경할 수 있습니다. SUPERSET_WEBSERVER_TIMEOUT 속성 변경 {superset 도커파일 경로}/docker/pythonpath_dev/superset_config.py를 vi로 실행 파일 하단에 SUPERSET_WEBSERVER_TIMEOUT=120 /superset 도커파일 경로로 이동 docker-compose down으로 현재 컨테이너 삭제 docker-compose -f docker-compose-non-dev.yml up -d docker inspect superset_app 을 실행하면 추가한 속성 정보를 확인할 수 있음 https://stackoverflow.com/questio..

airflow에서 f-string과 jinja를 같이 사용하는 방법

airflow에서 jinja를 이용해서 미리 정의된 상수를 사용하려면 {{ds}}와 같이 앞 뒤에 중괄호 두개를 붙입니다. 문자열에서 이 값을 사용하려면 아래와 같습니다. str = "abc {{ds}}" 문제는 f-string에서는 위와 같이 사용하면 안됩니다. 이 때는 아래와 같이 중괄로를 4개 넣는 방법을 사용하면 됩니다. abc = "abc" str = f"abc {{{{ds}}}} {abc}"

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

sql을 실행한 결과인 데이터프레임을 slack으로 발송하면 보기가 좋지 않습니다. 이때 할 수 있는 방법은 두가지가 있습니다. 첫 번째 방법은 tabulate를 사용하는 방법입니다. slack_message="message: {{ ds }}, ```{{ results_df | tabulate(tablefmt='fancy_grid', headers='keys', showindex=False) }}```" 아래와 같이 메시지를 보내면 깔끔한 표 형식으로 결과를 볼 수 있습니다. 하지만 한글 데이터 때문에 표가 밀려서 보입니다. 두 번째 방법은 아래와 같이 데이터 프레임의 각 값을 선택할 수 있습니다. slack_message="""기준일자: {{ ds }} ``` 신규소셜 : {{ results_df.il..

airflow UI에서 session timeout 설정하기

airflow.cfg 파일에서 아래 내용을 추가하면 됩니다. session_lifetime_minutes = 세션 분 session_lifetime_minutes New in version 1.10.13. The UI cookie lifetime in minutes. User will be logged out from UI after session_lifetime_minutes of non-activity Type integer Default 43200 Environment Variable AIRFLOW__WEBSERVER__SESSION_LIFETIME_MINUTES 더 많은 옵션은 아래 페이지를 확인하세요 https://airflow.apache.org/docs/apache-airflow/stable..

airflow UI에 사용자 비밀번호 검증 기능 추가하기 1편

airflow 2.x가 되면서 사용자 계정과 권한 기능이 추가됐습니다. 그래서 사용자 그룹에 따라서 특정 DAG에 대한 접근 권한을 할당할 수 있습니다. 한가지 아쉬운 점은 사용자 비밀번호에 대한 추가 정책을 관리할 수가 없습니다 예를들어 사용자 비밀번호 등록 시 최소 조건을 지정하거나, 90일이 지나면 비밀번호를 강제 변경하도록 만드는 것이 있습니다. 일반적으로는 이러한 기능이 없어도 큰 문제는 없지만 isms 심사를 위해서는 이러한 기능들이 필요합니다. 이에 따라서 비밀번호 등록 규칙을 지정하고 비밀번호 사용 만료 기간을 할당하는 방법을 작성해 보려고 합니다. 먼저 비밀번호 등록 규칙에 대해서 설명하겠습니다. 요구사항은 아래와 같습니다. 비밀번호는 8자 이상이여야 하고, 대문자, 소문자, 숫자, 특수..

airflow UI에 SSL 인증서를 적용하여 http를 https로 변경하기 2편

airflow UI에 SSL 인증서를 적용하여 http를 https로 변경하기 1편 오랜만에 데이터 엔지니어링 관련(?) 글을 쓰게 됐습니다. ISMS 심사를 위해서 airflow에 3가지 사항을 적용해야 합니다. SSL 인증서 적용 비밀번호 설정 검증 로직 적용(영문,숫자,특수문자 포함 및 8 leebaro.tistory.com 위의 지난 편에 이어서 airflow에서 https를 적용하는 방법에 대해서 적어보겠습니다. 순서는 아래와 같다고 했었습니다. SSL 인증서 확보 인증서를 airflow 서버로 복사 airflow ui 접속을 위한 도메인 지정 DNS에서 도메인 등록 docker-compose.yml 파일 수정 airflow 컨테이너 재생성 airflow UI 접속 테스트 SSL 인증서 확보 이..

airflow UI에 SSL 인증서를 적용하여 http를 https로 변경하기 1편

오랜만에 데이터 엔지니어링 관련(?) 글을 쓰게 됐습니다. ISMS 심사를 위해서 airflow에 3가지 사항을 적용해야 합니다. SSL 인증서 적용 비밀번호 설정 검증 로직 적용(영문,숫자,특수문자 포함 및 8자 이상) 90일 후 비밀번호 변경 로직 적용 각 사항을들 진행했던 내용을 기억하기 위해서 기록하려고 합니다. docker-compose를 사용해서 도커 컨테이너에서 실행하는 airflow인 경우에 대해서 정리해봤습니다. SSL 인증서를 적용하기 위한 단계는 아래와 같습니다. SSL 인증서 확보 인증서를 airflow 서버로 복사 airflow ui 접속을 위한 도메인 지정 DNS에서 도메인 등록 docker-compose.yml 파일 수정 airflow 컨테이너 재생성 airflow UI 접속 ..

728x90