'데이터 엔지니어'로 성장하기

정리하는 걸 좋아하고, 남이 읽으면 더 좋아함

Data 55

Superset) 4.0.x 시리즈 정리하기 (자동 설치script + github 코드)

앞의 superset 포스팅에서 설명했던내용을 정리한 스크립트를 공유하려합니다   예상 독자는 아래와 같습니다1. superset을 빠르게 실행해보려는 분2. 기본적인 커스터마이징이나 관리 방법을 알고 싶은 분1. 구성실제 구성은 단촐합니다.1. 설치 script2. 컨텐츠 script 2 설치 scripthttps://github.com/MightyTedKim/demo-superset_4.0.1/blob/main/run_install.sh  거두절미하고 실행합니다.  내부 구성은 엄청 간단해요start stop restart status#################################### Handle Script Arguments##################################..

Data/Superset 2025.02.16

Superset) 4.0.2 커스터마이징하기(2)_Logo,Role

1. 들어가기 전에지난 포스팅에서는 superset 설치와 설정값을 어떻게 세팅하는지 이야기했어요. Superset) 4.0.2 커스터마이징하기(1)_Flag,Theme,LandingPage지난 포스팅에서는  superset 4.x 버전에 대해서 간단하게 알아봤어요. Superset) 너 왜이렇게 버전업이 빠르니? (7개월 만에 2.1에서 4.0)작년에 superset POC하고 올해 적용하기로 했어요예전에 2.1 버전mightytedkim.tistory.com 이번에는 설정값 관련되서 좀 더 이야기해보려고 합니다.  예상 독자는 아래와 같습니다.1. Superset Logo 변경하고 싶으신 분2. Superset Role 설정하고 싶으신 분1. Superset Logo 변경빠르게 로고를 변경해보죠 ㅎ1..

Data/Superset 2025.01.05

Superset) 4.0.2 커스터마이징하기(1)_Flag,Theme,LandingPage

지난 포스팅에서는  superset 4.x 버전에 대해서 간단하게 알아봤어요. Superset) 너 왜이렇게 버전업이 빠르니? (7개월 만에 2.1에서 4.0)작년에 superset POC하고 올해 적용하기로 했어요예전에 2.1 버전을 설치했는데, 지금 보니 4.1 이더라고요 오늘 포스팅에서는 각 버전 별 특징과실제 느낀 차이점에 대해 이야기할 예정입니다. 예mightytedkim.tistory.com 이번에는 간단한 설치부터, 적용한 설정값들에 대해서 다뤄볼게요.0. 들어가기 전에예상 독자는 아래와 같습니다.1. superset 4.x를 docker-compose로 실행하고 싶은 분2. docker-compose 설정값에서 알아야하는 것 1. superset 설치하기- 공식 문서: https://sup..

Data/Superset 2024.12.22

Superset) 너 왜이렇게 버전업이 빠르니? (7개월 만에 2.1에서 4.0)

작년에 superset POC하고 올해 적용하기로 했어요예전에 2.1 버전을 설치했는데, 지금 보니 4.1 이더라고요 오늘 포스팅에서는 각 버전 별 특징과실제 느낀 차이점에 대해 이야기할 예정입니다. 예상 독자는 아래와 같습니다.1. 버전 별로 무엇이 다른지 궁금한 분2. superset이 무엇인지 궁금한 분 [1. 버전 별 특징] 먼저 릴리스 날짜를 정리해보죠대충 1년에 1개씩 업시켰어요 3 버전이 7개월 정도로 짧네요. 저처럼 23년 3월에 테스트하다가 24년 11월에 보는 사람은3.x 가 없이 그냥 4.x 올라간 것처럼 느낄 수 있겠어요. 이제 버전 별 특징을 자세히 보죠 가장 많이 사용되는 버전은 2.1로 알고 있어요.Superset이 커뮤니티에서 언급되던게 22-23년이고그 때 구축된 시스템을 ..

Data/Superset 2024.11.24

Airflow) docker-compose로 dockerOperator 실행하기

급하게 회사 업무로 airflow를 사용할 일이 있었는데docker-compose에서 dockerOperator를 사용한 경험입니다# 상황airflow 3년 전에 너가 세팅했지? 지금 바로 해줘 Airflow야 여러 버전별로 여러번 설치해봤으니까 알겠다고 대답했습니다. 생각없이 그냥 작업하다가 삽질을 2번이나 했습니다.# 삽질1: k8s 버전 생각 안하고 기존 소스로 설치하기2년 전에 세팅해둔 gitlab repo(airflow helm 2.3.0)가 있길래,회사 on-prem 쿠버(1.30) 에 실행해봤어요.  그런데 역시나 버전이 에러가 났습니다.(멍청한 나)- 현상: scheduler가 죽은 다음 살아나지를 않음 [원인]혹시나가 역시나. 버전이 안맞음gitlab repo가 2년 전 세팅한- gitl..

Data/Airflow 2024.10.27

Jupyterhub) k8s 1.27에서 helm 에러 수정_bug

쿠버 버전을 업그레이드했다가, 에러가 발생했어요. 공식 github에서도 2일전에 bug라는 issue가 등록되었더라고요 요약 1. k8s 1.27에서 pod spawning이 안됨 2. 공식 인정 버그였음 3. image를 변경하고, deprecated된 api를 수정함 환경 - helm chart 3.0.0 - k8s v1.27.0 (기존에는 1.24) 에러 v1beta1.CSIStorageCapacity 관련 에러 - Failed to watch *v1beta1.CSIStorageCapacity: failed to list *v1beta1.CSIStorageCapacity: W0530 17:41:37.219051 1 reflector.go:324] k8s.io/client-go/informers/f..

Data/Jupyterhub 2023.06.11

trino) mysql insert 에러 발생, 방화벽 실수_could not create connection

K8S에 Trino를 올리고, 오픈 전 테스트 진행을 하고 있었어요. 요약trino이용해서 mysql insert하는데 `could not create connection`나옴.알고보니, k8s worker 중 1개 방화벽 설정을실수함문제최근에, Spark Thrift Server를 이용해 진행하던 data pipeline 작업을 Trino로 이전하고 있습니다. (hive metatstore로 s3의 parquet를 읽고, mysql에 insert하는 작업) 빠른 테스트를 위해서 trino-worker를 3개로 설정했었고, 문제 없다는 것도 확인했죠. 그런데 trino-worker 9개로 늘리고 퇴근을 했더니 Airflow에서 에러를 마구 뱉습니다. Select는 되는데, Insert할 때만 에러를 뱉더..

Data/Trino 2023.05.21

superset) trino 연결해서 그래프 그리기

superset에서는 pip install만 하면 db connection을 만들 수 있어요.그런데 어떻게 추가하는지 처음에는 당황스러울 수 있어요 예상 독자는 아래와 같아요.superset에 connection 맺으려고, dockefile 예시 찾는 분Superset 이 무엇인지 설명하는 이전 글은 아래 링크에 있어요https://mightytedkim.tistory.com/191 Supserset) 슈퍼셋 들어보셧나요? 사용 후기 듣고 가세요! (filter 조건 위치 변경해서 full scan 방지)요즘 '빅데이터 지탱하는 기술' 보고 있는데, superset이 나와서 정리해봣어요예상 독자는 아래와 같아요 - superset 사용하시려는 분 - 기본 구조를 아시고 싶으신 분 - filter를 whe..

Data/Superset 2023.04.23

Airflow) Base image에 라이브러리 추가하기

Airflow에 여러 operator들이 있는데,python Operator에서도 특정 라이브러리들이 필요할 때가 있어요 예상 독자는 다음과 같아요.1. K8S Airflow에서 추가 패키지들을 어떻게 관리하는지 궁금한 분2. dependency 최소로 db connection을 맺고 싶으신 분저 같은 경우, 3가지를 추가해요1. 디버깅을 위한 apt install - 디버깅의 경우 pod 안에서 curl, vim, tcpdump 등이 필요해서 root로 설치를 해줫어요 2. jdbc connection을 위한 jar- dependency 관리 측면에서 득이되기 때문에, 추가해주고 있어요. 3. pip install- 마지막으로는 jdbc 사용에 필요한 jaydebeapi, pymysql - s3fs, ..

Data/Airflow 2023.04.23

Spark) createOrReplaceTempView

빅지기 책 233쪽에 보면 `SparkSql을 사용하면, 데이터프레임을 SQL로 집계할 수 있다.` 라고 말하며 createOrReplaceTempView를 이야기해준다. 항상 df으로 작업하던 나에게 꿀같은 소식. 난 SQL이 더 편한다. df.createOrReplaceTempView('test') spark.sql("select * from test").show(3) +-------+---------+ | col1| col2| +-------+---------+ | a| 1| | b| 2| | c| 3| +-------+---------+ only showing top 3 rows하지 않는 한, 쿼리를 실행할 때마다 항상 최신의 데이터가 들ㅇ쳐진다. spark thrift server에서 thrif..

Data/Spark 2023.03.27