본문 바로가기
728x90

BigData101

[Spark Tuning] CSV vs Parquet(columnar format) in spark 성능비교하기 [File 크기] 컬럼 수: 21개의 컬럼 레코드 수: 총 3,647,595 rows(records) csv: 578MB parquet: 44.7MB (gz.parquet: 34.6MB) [비교 관점] spark에서의 성능이란 file을 스캔할 때 스캔한 양(읽어들인 양)과 스캔시간이 중요 [CSV vs Parquet 특징 비교] (json은 덤ㅎㅎ) 1. CSV csv는 일반적인 text, 즉 row단위로 읽는 file format 1) 1개의 column select df_csv.select(F.col("Exam_No")).show(100000) Physical plan == Physical Plan == CollectLimit (3) +- * Project (2) +- Scan csv (1) (1).. 2023. 1. 25.
[Airflow] Airflow cluster, celery executor + flower + RabbitMQ 환경 구성하기 이번 포스트에는 AWS EC2 3대로 구성된 airflow cluster를 CeleryExecutor로 설치해보겠습니다. 서버 구성 스펙 OS - Amazon linux2 AMI (HVM) - Kernel 5.10, SSD Volume type instance type - t2.Large 2vCPUs, 8GiB Memory storage - 30GB gp2 node 1: postgresql, redis, airflow webserver, airflow scheduler, airflow flower, airflow worker(queue1) node 2: airflow worker(queue2) node 3: airflow worker(queue3) 네트워크 SG group inboud rules outb.. 2023. 1. 9.
[Airflow] docker-compose.yml로 airflow 설치하기 이번 포스트에는 docker-compose.yml를 이용하여 간단하게 airflow를 설치해보겠습니다. airflow 개념과 용어에 대해 공부하고 싶으신 분은 아래의 링크를 참조해주세요. https://spidyweb.tistory.com/295 [BigData] Apache Airflow 설치 및 실습 하기 series (1) Airflow란? DAG란? 안녕하세요 이번 포스트에는 Airflow의 개념에 대해서 알아보고 어떤 역할을 하는지, 그리고 핵심인 DAG파일에 대해서 알아보겠습니다. 1. Apahce Airflow란? 에어비앤비에서 python기반으로 개발한 워크 spidyweb.tistory.com 1. docker 설치 https://spidyweb.tistory.com/277 [Docker.. 2023. 1. 7.
[Spark Tuning] PartitionFilters vs PushedFilter 비교, predicate pushdown vs projection pushdown 이번 포스트에서는 spark에서 partitionfilter의 개념과 언제 적용되는지, 그리고 확인하는 방법을 확인하고 PushedFilter와의 차이점,마지막으로 PushedFilter의 종류 predicate과 projection의 차이를 알아보겠습니다. 1. PartitionFilters vs PushedFilters PartitionFilters란 특정 파티션에서만 데이터를 가져오고 관련 없는 파티션은 모두 생략합니다. 데이터 스캔 생략은 성능의 큰 향상을 가져다 줍니다. PushedFilters 보다 선행된다. PartitionFilter기술은 조건에 사용된 컬럼이 파티션되어 있고 스파크가 필터 조건을 충족하는 특정 디렉터리만 스캔할 때 사용됩니다. PushedFilters란 PushedFilt.. 2023. 1. 1.
[Data Engineering] 데이터 엔지니어가 읽으면 좋을 책 추천 목록(+ 내가 읽은 순서, 읽을 순서) 이번 포스트에는 데이터엔지니어 오픈톡방 및 지인들에게 추천 받은 책 목록을 분야별로 분류하여 소개해 드리겠습니다. 또한 제가 책을 읽은 순서와 아직 읽지는 못한 책의 읽어야 할 순서도 정리해보겠습니다. 1. SQL 데이터 업계에 있어 가장 중요한 언어라고 생각되는 SQL, 예전에 저희 회사 이사님께서 말씀하시길 결국 하이브, 스파크도 사람들이 SQL사용하는게 편하기 때문에 그거에 맞게 생긴 프레임워크이거나, SQL을 사용할 수 있게 지원하는 방향으로 간다. SQL의 컨셉 for oracle 저자: 변동구 http://www.yes24.com/Product/Goods/6357997 SQL의 컨셉 for ORACLE - YES24 이 책은 SQL 초중급자를 대상으로 한다. SQL의 기본 개념과 문법을 알고,.. 2022. 9. 9.
[Spark] PySpark read & write + partitioning 간단한 예시문제 python read&write 과 partition에 대해 아래의 링크에서 받은 파일로 다음과 같은 문제를 만들었습니다. https://github.com/udacity/data-analyst/blob/master/projects/bike_sharing/201508_trip_data.csv 혹은 아래의 링크에서 201508_trip_data.csv 파일 다운로드 후 Spark에서 Data Read https://github.com/Spidyweb-3588/python_skillup/tree/main/201508data 문법적인 자유도에 관한 문제를 보시려면 아래의 링크를 참조해주세요 2022.03.26 - [BigData/Spark & Spark Tuning] - [Spark] 스파크의 문법적 자유도,.. 2022. 8. 23.
[Spark] 스파크의 문법적 자유도, 스키마 조작, dummy 생성 이번 포스트에서 다룰 것 스파크의 다양한 문법을 소개 스키마를 정의하여 dataframe 만들기 dummy데이터 생성 아래의 링크에서 201508_trip_data.csv 파일 다운로드 후 Spark에서 Data Read https://github.com/Spidyweb-3588/python_skillup/tree/main/201508data read&write + 파티션 조작에 관한 간단한 문제예시를 보시려면 아래의 링크를 참조해주세요. 2022.08.23 - [BigData/Spark & Spark Tuning] - [Spark] PySpark read & write + partitioning 간단한 예시문제 1. Start_Station,End_Station 컬럼을 4가지 방법으로 조회 #1. cs.. 2022. 3. 26.
[Spark] Install PySpark with PiP & 파일 읽고, 쓰기 실습 이번 포스트는 예전에 포스트했었던 spark를 설치하여 jupyter notebook 환경에서 pyspark를 사용하는 것보다 활용하기 쉬운 pip를 통해 pyspark를 다운로드하고 확인하고, 실습해보겠습니다. 예전 포스트 링크 2021.02.17 - [BigData/Spark & Spark Tuning] - [PySpark] Spark 환경 설정 with Anaconda(Jupyter Notebook) Python(Pyspark Standalone mode) on windows [PySpark] Spark 환경 설정 with Anaconda(Jupyter Notebook) Python(Pyspark Standalone mode) on windows 이번 포스트는 windows 10에 jupyter n.. 2022. 2. 24.
[Project] ETL Daily batch project(공공데이터 코로나 API, Python, PySpark, Airflow, AWS) 이번 포스트에는 정해진 시간에 EC2를 띄우는 EC2 image builder 생성 및 결론과 보완할 점, 추가로 해볼 기능을 정리하겠습니다. 어떤 프로젝트인지 잘 모르시는 분은 아래의 링크를 참고해주세요. 2022.02.17 - [BigData/Project] - [Project] ETL Daily batch project(공공데이터 코로나 API, Python, PySpark, Airflow, AWS) 1. 프로젝트 개요 EC2에 환경 구성이 되지 않으신 분은 아래의 링크를 참고해주세요 2022.02.17 - [BigData/Project] - [Project] ETL Daily batch project(공공데이터 코로나 API, Python, PySpark, Airflow, AWS) 4. EC2 서.. 2022. 2. 17.
728x90