일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- mlops
- 하둡에코시스템
- 빅데이터플랫폼
- 하둡
- cloudera
- 데이터엔지니어링
- 클라우데라
- kafka
- 빅데이터
- dataengineer
- Data engineering
- 개발자혜성
- spark
- hadoop
- AWS SageMaker
- kubernetes
- 개발자
- recommendation system
- eks
- 블로그
- 추천시스템
- Spark structured streaming
- 데이터엔지니어
- DataEngineering
- Python
- BigData
- apache spark
- Terraform
- redis bloom filter
- pyspark
- Today
- Total
목록Data Engineering (36)
Hyesung Oh
EMR Core node의 hdfs (disk)의 점유율이 90% (default threshold 90%) 이상이 되어 해당 node가 unhealthy 상태인 것을 확인할 수 있습니다. If the node remains unhealthy for 45 minutes, Amazon EMR marks the associated Amazon EC2 instance for termination as FAILED_BY_MASTER.When all Amazon EC2 instances associated with core nodes are marked for termination, the cluster terminates with the status NO_SLAVE_LEFT because there are no..
조금만 검색해보면 spark Performance tuning과 관련된 좋은 참고자료들이 많이 있습니다. 그 중에서 실제 팀에서 적용하여 효과를 보고있는 내용만 선별하여 공유하고자 합니다. 크게 코드 레벨에서의 최적화와 configuration 레벨에서의 최적화 두 가지가 있을 것 같습니다. 1. Code Level Opimization point 1. filter -> aggregation. aggregation을 하게 되면 driver 노드에 많은 부하가 있을 수 있습니다. 따라서 이럴 경우 reduceByKey를 이용하여 driver로 전송되는 데이터 사이즈를 최대한 줄이는게 포인트입니다. point 2. Iterator 최대한 활용하기 driver node로 데이터를 불러와서 작업을 해야하는 경우..
Pyspark로 이전하면서 느꼈던 가장 큰 아쉬움 한가지는 바로, Scala의 Dataset API가 지원되지 않는다는 점이었습니다. Dataset API를 통해 객체지향 인터페이스를 마음껏 누리면서도 Spark tunsgten project 이후 (Scala code -> java object -> 자연스레 cpu, memory 오버헤드) CPU, Memory 작업에서 많은 최적화가 이루어져 성능도 우수한 편이었기에 개인적으로 선호했기 때문입니다. Pyspark에서 이러한 아쉬움을 달래기 위해 노력한 과정과 그 과정에서 바뀌게된 생각들을 공유하고자 합니다. Code Style Guide 코드 스타일 가이드는 https://github.com/palantir/pyspark-style-guid를 우선적으로..
Spark가 JVM 위에서 동작하는 사실은 Spark 개발자라면 누구나 아는 사실입니다. Pyspark 구동의 핵심 부분인 Python process와 JVM process간의 객체 레벨 통신에 대해서 궁금증이 생겼습니다. 아래 본문은 Pyspark 소스코드를 파헤치며 파악한 내용들이며 잘못된 내용에 대한 피드백 주시면 책임감을 가지고 수정하겠습니다. Overview PySpark is built on top of Spark's Java API. Data is processed in Python and cached / shuffled in the JVM The In the Python driver program, SparkContext uses Py4J to launch a JVM and create a..
Scala Spark에서 Pyspark로의 이전을 진행하며 겪었던 시행착오와 고민들을 공유하고자 합니다. 프로젝트 구조 spark 아래에 core, tasks, util 폴더를 두었습니다. tasks: spark-submit 호출시 PY_FILE로 넘겨주는 python file이며 spark context를 초기화하며 pyspark dataframe api를 이용하여 비즈니스로직을 구현합니다. core: 모든 Spark application에서 데이터 로드, 처리, 적재시 공통적으로 사용되는 논리적인 개념을 추상화한 모듈을 정의했습니다. 아래에서 자세히 다루겠습니다. util: tasks 또는 core에서 공통적으로 사용되는 패턴 또는 utility 기능들을 정의했습니다. 1. tasks - app - ..
Terraform이란 Terraform 공식 사이트에 소개된 내용을 한번 봅시다. Terraform is an open-source infrastructure as code software tool that enables you to safely and predictably create, change, and improve infrastructure. 즉, HashiCorp사에서 만든 인프라를 HCL 이라는 언어(코드)로 관리할 수 있게 해주는 오픈소스 소프트웨어! 따라서 * HCL: HashiCorp Configuration Language. 쉽게말해, DSL (domain specific language)와 같은 것이라 보면 된다. Mechanism 크게 세 단계로 나뉜다. refresh, plan,..
apache spark official github repo: github.com/apache/spark 1. 이해의 출발 지점은 바로, 우리가 spark-shell REPL를 사용하기 위해 실행하는 bin/spark-shell 스크립트 # Shell script for starting the Spark Shell REPL cygwin=false case "$(uname)" in CYGWIN*) cygwin=true;; esac * cygwin: window에서 linux터미널을 사용할 수 있게 해주는 오픈소스 현재 터미널이 linux이면 true, window이면 false정도로 이해했다. function main() { if $cygwin; then # Workaround for issue invol..
Posting 목적 Hive, RDBMS, HBASE, HDFS 등.. 공부하다 보면 각 시스템들의 특징과 차이점이 명확히 구분히 안가고 혼동되는 경우가 잦았습니다. 이에 이번 기회에 정리하게 되었습니다. Hive vs RDBMS 출처 : stackoverrun.com/ko/q/1751170 요약하면, 다음과 같다. Hive RDMBS Is Database No. Its called Data Warehouse Yes SQL No, but SQL-Like query data stored in various databases - you can use sqoop to import data from RDBMS to Hive Yes OLTP/OLAP OLAP OLTP Record Level manipulation..