본문 바로가기

Spark8

[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.
[Spark] Spark 프로그래밍: DataFrame (2) 개발/실습 환경 소개 Spark DataFrame 실습 요약 +) : Spark vs. Pandas 개발/실습 환경 소개 Spark 개발 환경 옵션 Local Standalone Spark + Spark Shell : 한대에서 돌아가는 local모드의 프로그램 Python IDE – PyCharm, Visual Studio Databricks Cloud – 커뮤니티 에디션을 무료로 사용 다른 노트북 – 주피터 노트북, 구글 Colab, 아나콘다 등등 (colab의 사양이 나쁘지않고, 브라우저를 통해 사용이 용이하다.) Local Standalone Spark Spark Cluster Manager로 local[n : thread 갯수] 지정 master를 local[n]으로 지정 master는 클러스터 .. 2024. 2. 12.
[Spark] Spark 프로그래밍: DataFrame (1) Spark 데이터 처리 Spark 데이터 구조: RDD, DataFrame, Dataset 프로그램 구조 Spark 데이터 처리 Hive, Presto 보다 더 많은 기능을 제공하기 위해 Spark 사용 외부 데이터(RDB, NoSQL)로부터 주기적인 ETL을 해서 가지고 온다. (Airflow 등..) Spark에서 바로 처리하는 방법도 존재한다. (Spark Streaming) 데이터 병렬처리가 가능하려면? 데이터가 먼저 분산되어야함: (자신만의) 파일시스템이 따로 존재하지 않아서, 분산환경 시스템을 가져야함 하둡 맵의 데이터 처리 단위는 디스크에 있는 데이터 블록 (128MB) (128MB가 너무 크거나 작으면) hdfs-site.xml에 있는 dfs.block.size 프로퍼티로 결정한다. Spa.. 2024. 2. 11.
반응형