더보기 데이터 엔지니어로써 OLAP와 OLTP의 차이를 이해하고 이를 실무에서 효과적으로 활용할 수 있는 능력은 굉장히 중요하다고 생각한다. 따라서 글로 정리하며 OLAP와 OLTP의 차이를 깊이있게 파악하고 실제 업무에 적용하면 효율적인 데이터 관리 및 분석을 할 수 있을 거 같다. 데이터 처리 방식 기업은 데이터를 효과적으로 의사 결정에 활용하기 위해 여러 노력을 한다. 이를 위해 많은 조직이 OLTP(Online Transaction Processing)와 OLAP(Online Analytical Processing)라는 두 가지 중요한 데이터 처리 방식을 적절히 도입한다. 이번 글에서는 OLTP와 OLAP의 공통점을 살펴보고 각각의 특징과 차이점에 대해 알아보자. 공통점 먼저, 공통점부터 살펴보면..
분명 4월이었다. 분명 그랬는데 ~~! 봄이 가고 여름도 가고 이제 가을냄새가 나는 9월이 왔다. (가을 좋아!) 교육을 막 시작할 때 갖고 있던 설렘과 기대감과 긴장감과 부담감이 아직도 새록새록한데! ㅎㅎ 성장욕구가 강한 나에게 전 직장은 우물 안 개구리 느낌이 들어서 과감히 퇴사를 선택했던 터라 이 교육에 힘이 엄청 빡 들어갔었던 거 같다 ㅜㅜ 매일 운동-도서관-집 루틴으로 생활하고 (물론 바로 집을 안 간 적도 많았다 히히) 수업을 하루도 안 넘기려고 하고 이해 못 하면 스트레스받고 ㅋㄱㅋㅋ 점심도 배부르게 먹으면 잠 올까 봐 도서관 앞 김밥가게에서 참치김밥만 먹었다. 나중에는 아주머니께서 날 보시면 참치김밥 단무지 빼고 ~?라는 인사로 다정하게 맞이해 주셨다 쏘스윗 (하트) 역시 사서 걱정하고 고..
Situation Tableau에서 Amazon Redshift를 연결한 후 쿼리를 실행하려고 할때 아래와 같은 오류가 났다. Error: "[Amazon][Redshift ODBC] (30) Error occurred while trying to execute a Query ERROR: Missing data for not-null field DETAIL"(오류: "[Amazon][Redshift ODBC] (30) 쿼리 실행 시 오류 발생 ERROR: null이 아닌 필드 DETAIL에 대한 데이터가 없음") 및 "[Amazon][Redshift ODBC] (30) Error occurred while trying to execute a query ERROR: Error converting text ..
airflow를 실행하려고 할 때 발생하는 Permission Denied 오류 해결 방법에 대해 설명하고자 한다. situation airflow-worker_1 | Traceback (most recent call last): airflow-worker_1 | File "/usr/local/lib/python3.7/logging/config.py", line 563, in configure airflow-worker_1 | handler = self.configure_handler(handlers[name]) airflow-worker_1 | File "/usr/local/lib/python3.7/logging/config.py", line 736, in configure_handler airflow..
situation airflow를 실행하기 위해 docker compose 를 작성했는데 Unsupported config option for services.airflow-cli: 'profiles' 오류가 났다. 이는 docker-compose 파일에 지원하지 않는 설정 옵션들이 포함되어 있을 때 발생한다. 즉, 'profiles'라는 옵션이 docker-compose의 이전 버전에서는 지원되지 않았던 옵션이기 때문에 발생한 오류이다. solution 먼저, docker 버전을 확인한다. docker-compose --version 만약 1.29버전 보다 낮다면 업그레이드를 시켜준다. # docker-compose 파일 위치 확인 whereis docker-compose # 보통 /usr/bin/do..
TaskGroup이란 태스크 그룹은 여러 개의 task를 하나의 그룹으로 묶어 관리하는 airflow 기능이다. 이를 통해 코드의 재사용성을 높이고 복잡한 워크플로우를 더 구조화된 방식으로 작성할 수 있게 된다. 예시 코드 태스크 그룹으로 설정하는 코드는 매우 간단하다 ! with TaskGroup(group_id='GROUP_ID', dag=dag) as GROUP_ID_PYTHON : 그룹 ID를 지정해주고 들여쓰기를 통해 태스크들을 묶어주면 된다. GROUP_ID는 웹 UI상에서 보는 이름이고 as 뒤에 GROUP_ID_PYTHON은 python에서 사용하는 명칭이다. from airflow.utils.task_group import TaskGroup # 기본 dag 설정 default_args ..