일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 데이터 시각화
- 데브코스
- 코딩 테스트
- Snowflake
- cloud platform
- PCCP
- 슈퍼셋
- Kafka
- Til
- HTML
- Spark
- 데이터 엔지니어
- 코딩테스트
- 팀 프로젝트
- Selenium
- 코테 연습
- airflow
- superset
- Tableau
- beuatifulsoup
- AWS
- SQL
- django
- Today
- Total
목록데브코스 (65)
주니어 데이터 엔지니어 우솨's 개발일지
학습 내용스파크를 활용한 타이타닉 생존자 예측모델 생성from pyspark.sql import SparkSessionspark = SparkSession \ .builder \ .appName("Titanic Classification via ML Pipeline and Model Selection") \ .getOrCreate()"""# 타이타닉 생존 예측 모델 만들기"""spark!wget https://s3-geospatial.s3-us-west-2.amazonaws.com/titanic.csv!ls -tldata = spark.read.csv('./titanic.csv', header=True, inferSchema=True)data.printSchema()data.show()d..
학습 내용SparkML 제공 알고리즘 - Classification : - Logistic regression - Decision tree - Random forest - Gradient-boosted tree - Regression : - Linear regression - Decision tree - Random forest - Gradien-boosted tree - Clustering : - K-means - LDA(Latent Dirichlet Allocation) - GMM(Gaussian Mixture Model) - Collaborat..
학습 내용Dynamically optimizing skew joins : Skew된 조인을 효율적으로 처리하는 방법 Skew 파티션으로 인한 성능 문제를 해결하기 위함 - 한 두개의 오래 걸리는 태스크들로 인한 전체 Job/Stage 종료 지연 - disk spill이 발생한다면 더 느려지게 된다. - AQE에서의 해법 - skew 파티션의 존재 여부 파악 - skew 파티션을 작게 나누고 상대 조인 파티션을 중복하여 만들고 조인 수행 Dynamically optimizing skew joins 동작방식 Dynamically optimizing skew joins 환경변수(Spark 3.3.1) 파티션 관련 환경변수(Spark 3.3.1) - sp..
학습 내용Partition Pruning과 Execution Plan - Partition Pruning은 Logical Plan Optimization 단계에서 발생한다. Dynamic Partition Pruning이란? : 비 Partition 테이블에 적용된 필터링을 Partition 테이블에 적용해보는 것 - 작은 dimension테이블이라면 브로드캐스트 조인까지하면 더 좋다. - Dynamic Partition Pruning는 기본적으로 활성화 되어 있다. - spark.sql.optimizer.dynamicPartitionPruning.enavled : True Repartition을 하는 이유 - 전체적으로 파티션의 수를 늘려 병렬성을 증가시키기 위해 - 굉장히..
학습내용Broadcast Variable이란? : 록업 테이블등을 브로드캐스팅하여 셔플링을 막는 방식으로 사용 - 브로드캐스트 조인에서 사용되는 것과 동일한 테크닉 - 대부분 룩업 테이블 (혹은 디멘션 테이블 - 10~20MB)을 Executor로 전송하는데 사용 - 많은 DB에서 스타 스키마 형태로 팩트 테이블과 디멘션 테이블을 분리 - spark.sparkContext.broadcast를 사용 Broadcast Variable : 룩업 테이블(파일)을 UDF로 보내는 방법 - Closure - Serialization이 태스크 단위로 일어남 - UDF안에서 파이썬 데이터 구조를 사용하는 경우 - Broadcast - Serialization이 ..
학습 내용배달시간 예측 해보기import pandas as pdimport numpy as np# 전체 데이터프레임 보기# pd.set_option('display.max_rows', None)# pd.set_option('display.max_columns', None)# pd.set_option('display.width', None)# pd.set_option('display.max_colwidth', None)# 되돌리기# pd.reset_option('all')raw = pd.read_csv('delivery_raw.csv', sep='\t')# "actual_delivery_time"이 없는 값 제외raw_dropna_label = raw.dropna(subset=["actual_deliver..