일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- backfill
- etl
- k8s
- SQL
- redshift
- Spark
- DataFrame Hint
- Dag
- Docker
- aws
- topic
- KDT_TIL
- Spark SQL
- Speculative Execution
- Spark Caching
- off heap memory
- 데이터 파이프라인
- Airflow
- colab
- AQE
- disk spill
- Salting
- 빅데이터
- Kubernetes
- Spark Partitioning
- Spark 실습
- Kafka
- spark executor memory
- mysql
- CI/CD
- Today
- Total
목록TIL (66)
JUST DO IT!
📚 KDT WEEK 17 DAY 2 TIL(2) Dynamic Partition Pruning Spark Partition 수 조절하기 - Repartition & Coalesce DataFrame Hint AQE 🟥 Dynamic Partition Pruning 비 Partition 테이블에 적용된 필터링을 Partition 테이블에 적용해보는 것 일반적으로 큰 데이터셋에 조건문(WHERE)을 적용함으로써 큰 데이터를 먼저 작게 필터링하는 것이 효율적이다. 아래 이미지는 orders 테이블이 파티션이 있는 큰 테이블이고, date가 파티션이 없는 작은 테이블일 때, 사용자가 실수로 date 테이블에 조건문을 걸었을 때 자동으로 수정되는 과정이다. 기본 설정은 True로 되어있지만, 다음의 명령어를 입력..
📚 KDT WEEK 17 DAY 2 TIL Caching 이론 및 실습 Caching BestPractices 🎟 Caching 자주 사용되는 데이터프레임을 메모리에 유지하여 처리속도를 증가시키는 방법 하지만 메모리 소비를 증가시키므로 불필요하게 모든 걸 캐싱할 필요는 없다. DataFrame을 Caching하는 방법 cache()와 persist()를 사용하면 가능하고, 메모리나 디스크에 저장하게 된다. 모두 lazy execution에 해당하여 필요하기 전까지는 캐싱하지 않는다. caching은 항상 파티션 단위로 메모리에 보존되므로, 하나의 파티션이 부분적으로 캐싱되지는 않는다. 실습 1. .cache() 사용해서 데이터프레임 캐싱하기 # SparkSession available as 'spark'..
📚 KDT WEEK 17 DAY 1 TIL Spark 기타 기능 Spark 리소스 할당 방식(리소스 스케줄링) Spark Executor 메모리 구성 🟥 Spark 기타 기능 1. Broadcast Variable 룩업 테이블등을 브로드캐스팅하여 셔플링을 막는 방식 (브로드캐스트 조인과 비슷) 모든 노드에 큰 규모의 Input Dataset을 효과적인 방법으로 줄 때 사용한다. 룩업 or 디멘션 테이블(10-20MB의 작은 테이블)을 Executor로 전송하는데 사용 spark.sparkContext.broadcast로 호출 룩업 테이블(파일)을 UDF로 보내는 방법 Closure : UDF안에서 파이썬 데이터 구조를 사용하는 경우 > Task 단위의 Serialization BroadCast : UDF..
📚 KDT WEEK 16 DAY 3 TIL 확률 기초 머신러닝 모델학습의 목표 > 손실함수(예측값과 라벨사이 거리)의 최소화 해당 식은 확률에 대한 지식을 기반으로 만들어진 식이다. 따라서 머신러닝에 대해 깊게 이해하려면 확률에 대한 기초지식이 필요하다. 🟥 확률 실험의 결과(ex. 동전던지기)로 발생하는 모든 결과의 집합(표본집합)을 S라고 할 때, 집합 S의 부분집합(event)을 실수값에 대응시키는 함수! 동전을 한번 던졌을 때 모든 결과의 집합, 즉 표본집합은 앞면(H), 뒷면(T)로 이루어진다. 따라서 S = {H, T}이고, 여기서 앞면이 나올 확률은 P = {H}라고 하며, 1/2가 된다. 확률변수 확률변수 X는 표본집합 S의 원소 e를 실수값 X(e) = x에 대응시키는 함수이다. 다음 그..
📚 KDT WEEK 16 DAY 2 TIL 기초 선형 대수 행렬 표기법 파이썬에서 numpy로 행렬 사용하기 import numpy as np x = np.array([10.5, 5.2, 3.25, 7.0]) # 일차 배열 # 이차원화 x_2dims = np.expand_dims(x, axis=1) .shape를 사용하면 행렬의 형태를 알 수있고, 파이썬에서 배열다루듯 요소를 꺼내쓰면 된다. 이차배열로 선언해서 사용도 가능하고, 해당하는 행이나 열의 배열을 가져올 수 있다. A = np.array([ [10,20,30], [40,50,60] ]) # column vector j = 1 A[:, j] # row vector i = 1 A[i, :] 결과 행렬의 곱셈 딥러닝에서 Neural Network의 ..
📚 KDT WEEK 16 DAY 1 TIL 머신러닝 E2E 실습 0. 실습 환경 설정 1. 테스트 데이터셋 만들기 2. 데이터 정제 3. 모델 훈련 4. 모델 세부 튜닝 5. 테스트 데이터셋 평가 6. 상용화를 위한 모델 저장 🟥 머신 러닝 End to End 실습 Machine Learning(기계학습) : 경험을 통해 자동으로 개선하는 컴퓨터 알고리즘 연구 캘리포니아 인구조사 데이터를 사용해 캘리포니아 주택 가격 예측모델 만들기 ⚒️ 0. 실습 환경 설정 virtualenv를 사용하여 가상환경안에서 작업하도록 한다. # 원하는 폴더안에서 작업 pip install virtualenv # 가상환경 virtualenv my_env # 원하는 이름 설정 # 가상환경 실행 source my_env/bin/a..
📚 KDT WEEK 15 DAY 4 TIL Kafka 기본 프로그래밍 Topic 생성 및 파라미터 설정 Consumer 생성 및 파라미터 설정 ksqlDB 🟥 Kafka 기본 프로그래밍 나의 Kafka 설치 환경은 conduktor사가 제공하는 Repo를 git clone해서 가져왔다. 이 글은 이 환경을 기반으로 설명한다. 참고 : https://sunhokimdev.tistory.com/66 Kafka 알아보고 설치해보기 - TIL230712 📚 KDT WEEK 15 DAY 3 TIL Kafka Kafka 아키텍처 Kafka 기타 기능 Kafka 설치 및 간단 실습 🟥 Kafka 실시간 데이터를 처리하기 위해 설계된 오픈소스 분산 스트리밍 플랫폼 분산 아키텍처를 따르기 때문에 Sca sunhokimd..
📚 KDT WEEK 15 DAY 3 TIL Kafka Kafka 아키텍처 Kafka 기타 기능 Kafka 설치 및 간단 실습 🟥 Kafka 실시간 데이터를 처리하기 위해 설계된 오픈소스 분산 스트리밍 플랫폼 분산 아키텍처를 따르기 때문에 Scale Out 형태로 스케일 가능 Scalability와 Fault Tolerance를 제공하는 Publish-Subscription(Producer-Consumer) 메시징 시스템 중간에 버퍼(큐)를 두고, Producer와 Consumer가 독립적으로 돌아가게 만든 시스템 High Throughput, Low Latency로 실시간 데이터 처리에 맞게 구현 메시지를 정해진 보유기한(Retention period)동안 저장하게 된다 특이점 메시지 생산과 소비가 분리..
📚 KDT WEEK 15 DAY 1 TIL 빅데이터의 처리 🟥 빅데이터의 처리 처음에는 배치 처리에 초점 > 처리할 수 있는 데이터의 양이 중요 서비스가 고도화되면서 점점 더 실시간 처리 요구가 생기기 시작했다. 데이터 처리에서 사용하는 주요 용어 4개 처리량(Throughput) : 단위 시간동안 처리할 수 있는 데이터의 양, 데이터 웨어하우스의 배치 시스템에서 중요 지연시간(Latency) : 데이터를 처리하는 데 걸리는 시간, 프로덕션 DB처럼 실시간 시스템에서 중요 대역폭(Bandwidth) : 처리랑 x 지연시간 SLA(Service Level Argreement) : 서비스 제공업체와 고객 간의 계약 또는 합의 사내 시스템들간에서도 지연시간이나 업타임등이 SLA로 사용되기도 한다. 데이터 시스..
📚 KDT WEEK 14 DAY 4 TIL Spark 파일포맷(Parquet) Spark Execution Plan Bucketing과 File System Partitioning 🟥 Spark 파일포맷 Parquet : Spark의 기본 파일 포맷 Parquet 페이지 : http://parquet.incubator.apache.org/ Apache Parquet The Apache Parquet Website parquet.incubator.apache.org Parquet은 Structured 포맷으로, 압축된 바이너리 파일이며 내부에 스키마 정보(필드 타입까지)를 가진 파일 포맷이다. Structured ex) Parquet, AVRO, ORC, SequenceFile ... 💻 실습(Colab)..