본문 바로가기

전체 글102

[Apache Airflow 기반의 데이터 파이프라인] Airflow 콘텍스트를 사용하여 태스크 템플릿 작성하기 개요 PythonOperator 템플릿 키워드 인자를 받아들이는 또다른 방법 : 명시적으로 변수를 알려주기 PythonOperator에 변수제공 :두가지 이상의 데이터 소스에서 데이터를 다운로드 다른 시스템과 연결하기 개요 어떤 종류의 데이터로 작업을 하든지, 파이프라인을 구축하기 전에 접근 방식에 대한 기술적 계획을 세우는 것이 중요하다. 솔루션은 항상 다른 사용자가 데이터로 무엇을 하려는지에 따라 달라지므로, 질문에 대한 답을 알고 나면 기술적 세부 사항에 대한 문제를 해결할 수 있다. jinja 탬플릿 {{이중 중괄호}}을 통해 런타임 시 삽입 될 변수를 나타내서 사용할 수 있다. print("Hello {{ name }}!") 런타임 시 값을 입력하기 때문에 프로그래밍 할 때에는 값을 알 수 없다.. 2024. 2. 17.
[Database] JDBC / ODBC ? 배경 JDBC? ODBC? 공통점 차이점 배경 AWS Redshift 커넥터 df_user_session_channel = spark.read \ .format("jdbc") \ .option("driver", "com.amazon.redshift.jdbc42.Driver") \ .option("url", "jdbc:redshift://HOST:PORT/DB?user=ID&password=PASSWORD") \ .option("dbtable", "raw_data.user_session_channel") \ .load() 세션채널 읽어오는 과정중 Redshift를 JDBC드라이버로 연결하면서 의문이 생겼었다. 그리고, SparkSQL 을 사용하면서 파일로 저장하는 것보다 Spark 테이블로 처리하는 것의 .. 2024. 2. 16.
[Spark] Spark 내부동작과 클라우드 옵션(Part3. Spark EMR) AWS Spark 클러스터 론치 AWS Spark 클러스터 상에서 PySpark 잡 실행 요약 AWS Spark 클러스터 론치 AWS EMR을 통해 Spark 클러스터를 론치해보자 AWS에서 Spark을 실행하려면 EMR (Elastic MapReduce == Yarn == Hadoop) 위에서 실행하는 것이 일반적 EMR이란? AWS의 Hadoop 서비스 (On-demand Hadoop) Hadoop (YARN), Spark, Hive, Notebook 등등이 설치되어 제공되는 서비스 EC2 서버들을 worker node로 사용하고 S3를 HDFS로 사용 AWS 내의 다른 서비스들과 연동이 쉬움 (Kinesis, DynamoDB, Redshift, ...) Spark on EMR 실행 및 사용 과정 A.. 2024. 2. 15.
[Spark] Spark 내부동작과 클라우드 옵션(Part2. Spark ML) Spark ML 소개 실습: 머신러닝 모델 만들기 Spark ML 피쳐변환 Spark ML Pipeline 살펴보기 Spark ML 소개 Spark이 제공해주는 머신러닝에 대해 배워보자 Spark ML 소개 (1) 머신러닝 관련 다양한 알고리즘, 유틸리티로 구성된 라이브러리 Classification, Regression, Clustering, Collaborative Filtering, Dimensionality Reduction(피쳐가 너무 많은 경우). 전체 리스트는 링크 참고 아직 딥러닝은 지원은 아직 미약함 여기에는 RDD 기반과 데이터프레임 기반의 두 버전이존재 spark.mllib vs. spark.ml spark.mllib가 RDD 기반이고 spark.ml은 데이터프레임 기반 spark... 2024. 2. 14.
[Spark] Spark 내부동작과 클라우드 옵션(Part1. Spark 내부동작) Spark 파일 포맷 Execution Plan Bucketing과 Partitioning 요약 Spark 파일 포맷 데이터는 디스크에 파일로 저장됨: 일에 맞게 최적화 필요 (Unstructured, semi-structured는 사람이 읽을 수 있음, Structured는 사람이 읽을 수 없음) Spark의 주요 파일 타입 특징 CSV JSON PARQUET_2 AVRO 컬럼 스토리지 X X Y X 압축 가능 Y Y Y Y Splittable Y_1 Y_1 Y Y Human readable Y Y X X Nested structure support X Y Y Y Schema evolution X X Y Y Parquet 빼고 모두 행별로 저장한다. Splittable이라 함은 HDFS에서 저장할 때 .. 2024. 2. 13.
[Spark] Spark 프로그래밍: SQL Spark SQL Aggregation, JOIN, UDF Spark SQL 실습 Hive 메타스토어 사용하기 유닛 테스트 요약 Spark SQL SQL은 빅데이터 세상에서도 중요! 데이터 분야에서 일하고자 하면 반드시 익혀야할 기본 기술 구조화된 데이터를 다루는한 SQL은 데이터 규모와 상관없이 쓰임 (Data discovery issue : 잘못된 쿼리를 작성해서 문제가 생길 수 있음) 모든 대용량 데이터 웨어하우스는 SQL 기반 Redshift, Snowflake, BigQuery Hive/Presto Spark도 예외는 아님 Spark SQL이 지원됨 Spark SQL이란? Spark SQL은 구조화된 데이터 처리를 위한 Spark 모듈 데이터 프레임 작업을 SQL로 처리 가능 데이터프레임에 테이.. 2024. 2. 13.
반응형