Data Engineering
-
Data 저장 및 운용 방식 용어 정리Data Engineering 2023. 7. 7. 09:32
Data Lake: 데이터 레이크는 구조화되지 않은 원시 데이터부터 반구조화 및 구조화된 데이터에 이르기까지 모든 유형의 데이터를 저장할 수 있는 시스템입니다. 데이터 레이크는 대용량의 원시 데이터를 그대로 저장하며, 이는 데이터 웨어하우스와는 대조적으로 필요에 따라 데이터를 쿼리하고 분석할 수 있게 해줍니다. Operational Data Store (ODS): ODS는 다른 데이터베이스에서 추출된 현재의 트랜잭션 데이터를 중간 저장소에 보관하는 시스템입니다. ODS는 일반적으로 실시간의 비즈니스 활동을 분석하는 데 사용됩니다. CDW (Corporate Data Warehouse): CDW는 조직의 전체 데이터를 통합적으로 관리하고 보관하는 중앙 데이터 저장소입니다. 이는 분석, 보고서 작성, 의사결..
-
Digdag 설치하기 (workflow)Data Engineering 2022. 5. 27. 23:36
공식사이트 What’s Digdag? — Digdag 0.10.4 documentation Digdag는 workflow를 쉽게 만들어 줍니다. 반복되어야하는 과정이나, 자동화를 시켜야 하는 부분일 때, 사용합니다. 쉘스크립트와 파이썬을 범용해서 실행시킬 수 있습니다. 1. 최신 버전 다운로드 windows wsl2(ubuntu) Digdag는 단일 실행 파일입니다. 다음과 같은 명령을 ~/bin사용하여 파일을 설치할 수 있습니다 curl. 순차대로 입력하면 설치가 됩니다. curl -o ~/bin/digdag --create-dirs -L "https://dl.digdag.io/digdag-latest" chmod +x ~/bin/digdag echo 'export PATH="$HOME/bin:$PAT..
-
Spark Join Tuning & Key Salting / Part 3Data Engineering/Apache Spark 2022. 3. 5. 15:40
1. Sort Merge Join 1-1. 개요 1-2. 이상적인 성능을 발휘하려면 2. Broadcast Join 2-1. 개요 3. Shuffle Hash Join 3-1. 개요 효율적인 Join을 방해하는 것들 Data Skewness를 해결하려면? Key Salting Key Salting 이란? Salting Method 예제 Reference Spark에서 join을 수행하는 경우는 크게 두 가지로 나눌 수 있다. (1) 큰 테이블과 작은 테이블을 조인 또는 (2) 큰 테이블과 큰 테이블을 조인. Spark은 join을 수행하기 위해 Sort Merge Join, Broadcast Join, Shuffle Hash Join 등의 방법을 제공한다. 핵심 키워드 : sort merge join, ..
-
Spark Partitions Tuning / Part 02Data Engineering/Apache Spark 2022. 3. 4. 14:57
목차 Partitioning 이란? Partitioning의 종류 Partitioning을 안할 경우 Partitioning을 할 경우 주의사항 파티셔닝을 사용하면 도움이 되는 연산들 coalesce와 repartition 차이점 Partition의 종류 (Read, Write, Shuffle) Input Partition Output Partition Shuffle Partition Shuffle Partition Tuning 최적화 실험 실험 구성 예시 코드 실험 1: 코어 수에 맞게 파티션 수 설정(대조군) 결과 실험 2: 파티션 수 6배 증대 결과 실험 3: 쿼리 최적화 결과 실험 4: 최적화 후 코어당 메모리 감소 최적화 실험 결론: 최적화 시 고려할 점 참고 각 실험별 정리 최종 결론 Refe..
-
Spark 기본기(Executor Tuning) / Part 01Data Engineering/Apache Spark 2022. 3. 3. 13:47
1 클러스터 관리자 유형 1.1 Standalone 1.2 Apache Mesos 1.3 Hadoop YARN 2 Spark의 Memory 관리 2.1 Existing memory management 2.2 Storage memory management 3 Spark를 띄울때 가장 기본적으로 설정해야하는 요소.Driver와 Executor의 사이즈와 개수는 어떻게 정하는 것이 좋을까? 3.1 EXECUTOR의 역할 3.2 다수의 작은 executor가 좋을까? VS 소수의 큰 executor가 좋을까? 3.2.1 다수의 작은 executor의 두가지 문제 3.2.2 소수의 큰 executor의 두가지 문제 3.2.3 효율적 세팅을 위해서 3.3 결론 4 Spark Application 실행 과정(흐름) ..
-
spark-submit 하드웨어 옵션 체크하기Data Engineering/Apache Spark 2022. 2. 7. 14:44
페이지 참고사항 (계산식) https://aws.amazon.com/ko/blogs/big-data/best-practices-for-successfully-managing-memory-for-apache-spark-applications-on-amazon-emr/#:~:text=For example%2C the default for,application based on the workloads. 계산된 옵션 목록 executor-cores executor-memory spark.driver.cores driver-memory num_executors spark.default.parallelism Linux Cpu, Memory 확인 방법 # Cpu core 확인 lscpu # Memory 확인 free..
-
Workflow Engine Digdag 소개 및 Local 설치Data Engineering 2021. 8. 10. 15:38
공식사이트 What’s Digdag? — Digdag 0.10.1 documentation Digdag는 workflow를 쉽게 만들어 줍니다. 반복되어야하는 과정이나, 자동화를 시켜야 하는 부분일 때, 사용합니다. 쉘 스크립트와 파이썬을 범용해서 실행시킬 수 있습니다. 1. 최신 버전 다운로드 Digdag는 단일 실행 파일입니다. 다음과 같은 명령을 ~/bin사용하여 파일을 설치할 수 있습니다 curl. 순차대로 입력하면 설치가 됩니다. curl -o ~/bin/digdag --create-dirs -L "https://dl.digdag.io/digdag-latest" chmod +x ~/bin/digdag echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc 터미널..
-
Embulk Maria DB TimeZone 에러 해결법(docker 환경)Data Engineering/Embulk 2021. 6. 4. 16:16
Embulk를 사용하다가 MariaDB -> Postgresql 로 데이터를 이관하는 작업을 진행을 맡았다.. 그리고 테스트로 도커 환경에서 시작했고, 처음에 jdbc 오류부터 해서 오만가지 에러가 떴다.. 1번 에러 java.lang.RuntimeException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 아니 이건 path 설정을 몇번을 하고, docker 내에 넣어도 안되고, 외부에 빼놔도 인식을 못했다. 그래서 그냥 embulk 옵션에서 driver_path 옵션을 빼 버렸다..ㅋㅋㅋ 2번 에러 The server time zone value 'KST' is unrecognized or represents more than one time..