분류 전체보기 82

데이터 레이크 + 데이터 웨어하우스 = 데이터 플랫폼

근래의 데이터 플랫폼은 다양한 계층(Ingestion, Lake, Data Warehouse, Procssing)을 조합 해 놓은 서비스를 의미한다. 이전에는 단주로 Datawarehouse위주로만 이루어져 있었다면 이제 조금 더 계층이 나뉘어졌다. 단일 데이터 웨어하우스 시스템 Data lake와 Processing Layer를 추가한 데이터 플랫폼 단일 데이터 웨어하우스 시스템만 구축하는 경우와 중간에 data lake를 추가해서 데이터 플랫폼을 구축하는 경우의 차이 - 스키마의 변경을 처리하는 방법. lake에서는 데이터를 파일로 가지고 있기 때문에 서로 다른 schema 데이터를 가지고 있을 수 있다. 즉, Process Layer에서 해당 변경을 처리하는 로직을 가지고 있다면 스키마의 변경에 유..

Pandas dataframe 메모리 사용량 확인하기

Pandas의 dataframe 및 각 column의 메모리를 체크하는 방법은 매우 간단합니다. dataframe 전체 메모리 dataframe.info() 메서드를 이용하면 맨 아래 memory usage가 출력됩니다. >>> df.info() RangeIndex: 173511 entries, 0 to 173510 Data columns (total 47 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 id 173511 non-null int64 1 created_at 173511 non-null datetime64[ns] 2 updated_at 173511 non-null datetime64[ns] 3 deleted_..

신대방역 수영장 - 조원초등학교 수영장

안녕하세요. 최근에 신대방역으로 이사 후에 수영을 시작했습니다. 개인적으로는 가격대비 시설 및 강습에 만족하면서 다니고 있어서 간략하게 수영장 정보를 소개합니다. 위치 신대방역에서 2번출구로 나와서 신도브래뉴 아파트쪽으러 오시는 길에 있습니다. 도보로 10분이면 충분합니다. 시설 수영장 내부 주차장 -공간 충분합니다. CCTV-부모님들을 위해서 있는걸로 보입니다. 라커룸 후문 쪽에 라커룸이 존재합니다! 가격 및 시간표 기본적으로 주4회 12만원 정도입니다. 신대방역 조원초 수영장 가격, 위치, 시설 정보를 간단하게 소개드렸습니다! 추천 할인이 있으니 댓글주시면 소개드리겠습니다.

일상/정보 2022.11.25 (2)

MySQL kill 명령어 (프로세스 kill하기)

MySQL kill 명령어 KILL [CONNECTION | QUERY] processlist_id MySQL kill command는 실행 중인 쿼리 or 커넥션을 종료시기키 위해 사용되는 명령어입니다. 주로 문제를 발생시킬 수 있는 long query를 show full processlist 명령어로 찾은 후 종료시킬 때 사용됩니다. 주로 모니터링 및 장애시 사용되는 커맨드입니다. MySQL kill 명령어 옵션 및 권한 KILL명령어의 옵션에는 CONNECTION 또는 QUERY가 있다. KILL CONNECTION은 수식어가 없는 KILL과 같다. 이것은 connection에서 실행중인 statement를 종료시킨 후에 proocess_id에 해당하는 connection를 종료시킨다. KILL Q..

Airflow(에어플로우) could not queue task issue

Could not queue task issue GKE위에서 Airflow2.3.4 버젼에 kubernates executor의 scheduler에서 task를 queue에 넣지 못하는 이슈가 발생. 실질적으로 문제는 되지 않는데 그 이유는 이미 task가 queue로 들어갔기 때문이다. 코드를 디테일하게 살펴보지는 않았지만 대략적으로 에러 발생전 실해된 쿼리를 보면 lock을 획득과정에서 이슈가 있는 것 같다. SELECT pg_try_advisory_xact_lock(%(id)s) 해당 에러가 발생하는 코드는 아래 코드같은데 이 self.queued_tasks 컨테이너 안에 해당 key가 있다는건 lock 로직이 제대로 동작하지 않은 것으로 보인다. def queue_command( self, tas..

Airflow Taskflow로 DAG refactoring하기

Introduction 안녕하세요. 이번 글에서는 Taskflow를 사용해서 다른 외부 Operator가 아닌 파이썬 Operator로만 이뤄진 DAG을 리팩토링 한 경험을 공유하려고 합니다 Taskflow란 Taskflow란 Airflow2.0에서 출시된 concept으로 Operator가 아닌 파이썬 로직들로만 이뤄진 DAG의 경우 @task decorator를 활용해서 깔끔하게 로직을 관리할 수 있습니다. 실제로 DB의 incremental data나 API나 크롤링을 통해 진행되는 작은 배치들(수십 MB 이하)은 Pandas의 Dataframe을 통해서도 쉽고 빠르게 조작이 가능합니다. Taskflow의 장점은 Xcoms을 사용하여 return 값을 전달해서 작업 간에 결과를 전달하기 편리합니다...

Coalesce 2022 New Orleans 후기 - Analytics Engineering 그리고 Modern DataStack

영문 글 링크(Link of English version post) Introduction 안녕하세요. 10월 14일부터 10월 21일까지 뉴올리언스에서 열린 Coalesce 2022 - The Analytics Engineering Conference 행사를 다녀왔습니다. Coalesce 2022는 dbt Labs에 주최한 Analytics Engineering Conference입니다. Analytics Engineering에 대해서 아직 알고 계시지 못하신다면 제가 작성한 글인 Analytics Engineer 란? (Feat. Modern Data Stack) 을 한 번 먼저 읽어보셔도 좋을 것 같습니다. 행사는 크게 3가지 방식으로 운영됐습니다. Coalesce New Orleans Coales..

Pandas NaN이란 그리고 None 차이

NaN이란 not a number로 비어있는 결측치 데이터를 의미합니다. numpy와 pandas에서는 None이 아닌 NaN을 사용하는데 그 이유는 vectorized 연산이 가능하기 때문입니다. None을 넣으면 pandas를 사용해도 병렬 연산이 불가능해지기 때문에 결측치에 대해서는 np.nan을 사용해야합니다. import numpy as np s = pd.Series(['선화', '강호', np.nan, '소정', '우영']) # 병렬 연산이 가능 s += '테스트' s 0 선화테스트 1 강호테스트 2 NaN 3 소정테스트 4 우영테스트 dtype: object 타입 캐스팅 시 주의할 점. 그리고 np.nan은 다른 데이터들이 숫자인 경우는 float 타입 입니다. 그렇기 때문에 int로 typ..

Analytics Engineer 란? (Feat. Modern Data Stack)

Analytics Engineer in Korea 최근에 Analytics Engineering에 대한 중요성이 늘어나면서 Analytics Engineer에 대한 수요가 최근에 많이 늘고 있습니다. 하지만, 우리나라에서는 Analytics Engineer란 직군에 대해서 아직 모르시는 분도 있고, 누군가는 그냥 Data engineer가 조금씩 해당 역할을 하고 있을 수도 있습니다. 오늘(2022년 9월 25일 기준) 원티드에서 해당 직군을 검색했을 때 Line Plus 단 하나의 회사만 검색됩니다. 하지만, 글로벌 Job Search 서비스인 glassdoor에서 검색하면 US에서만 10,000+ 이상의 채용공고를 확인할 수 있었습니다. 무슨 직군인지는 모르겠지만 한국에서는 아직 익숙지 않은 것은 확..

남해 워케이션 2주차!

벌써 남해에서 서울로 돌아온지 일주일이 거의 되어간다... 원래 하루에 하나의 포스팅을 하려고 했지만 2주차에는 주로 일을 많이 하느라 다른 활동을 한게 많지 않다....그래서 하루 하루 기억에 남는 것들 위주로 짧게 정리해 보려고 한다. 7월 11일 월요일 (9일 차) - 남해 최고 지압원, 문어라면! 월요일에는 오후에 업무가 끝나고 남해에 유일한 마사지샵인 남해 최고 지압원에 갔다. 나만의 힐링 방법 중에 하나가 마사지이기 때문에 새로운 곳을 여행하면 항상 마사지샵에 방문하는데 남해에는 마사지샵이 거의 없었다. 한 군데는 조금 이상해(마사지 샵이 아닌 것 같아서...) 남은 한 곳인 최고 지압원에 방문을 해봤다. 후기가 거의 없어서 살짝 불안했는데 마사지사분이 기부를 했다는 기사를 보고 방문을 했다...

반응형