전체 글
-
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..
-
Linux를 처음 사용하면 꼭 배워야할 자료들OS/Linux 2021. 9. 8. 17:35
데이터 엔지니어 실무에서 사용하기 위하여 기본적으로 알아야 하는 리눅스 사이트 정리 글 centos랑 ubuntu는 비슷하면서도 다릅니다. 만든 사람이 다르니깐요. 주로 실무에서는 centos를 서버용으로 많이 씁니다. ubuntu는 docker image에 많이들 사용하구요. 주로 많이 다른 점은 아무래도, 프로그램을 설치할 때 다릅니다. ubuntu는 apt or apt-get으로 centos는 yum으로 둘다 패키징을 설치해주는 프로그램입니다. 다운 받을 패키지를 업데이트하고 그런 점은 비슷하다고 볼 수 있겠네요. 1. 기본 Shell script 사용 방법 - 변수 및 for, if, 함수 등등 https://reakwon.tistory.com/136 2. Inode 및 Symbolic link ..
-
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 터미널..
-
(object detection)YOLOv5 학습예제(마스크데이터셋)Machine Learning 2021. 6. 23. 09:46
안녕하세요. 오늘 소개해드릴 학습예제는 Yolov5입니다. 유튜브를 보다가 빵형의 개발도상국을 운영하시는 분의 유튜브를 보고서 mask 데이터셋으로 실험을 했습니다. www.youtube.com/channel/UC9PB9nKYqKEx_N3KM-JVTpg 빵형의 개발도상국 신기하고 재밌는 인공지능을 쉽게, 짧게, 내손으로 만들어 봅니다! 빵형의 개발도상국 후원: https://toon.at/donate/helloworld 사업 및 개발의뢰: kairess87@gmail.com 더 재밌는 영상이 여러분들의 후원을 통 www.youtube.com github.com/ultralytics/yolov5 ultralytics/yolov5 YOLOv5 in PyTorch > ONNX > CoreML > TFLite...
-
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..