전체 글 373

Bucketing과 Partitioning

Contents 1. Spark 파일 포맷 Parquet, Avro, csv, json 2. Execution Plan Spark이 우리가 만든 코드를 어떻게 실행할 지 보겠습니다. Action과 Transformation의 차이를 살펴봅니다. 하나의 액션이 하나의 잡이고 하나의 잡이 다수의 스테이지를 만들 수 있고 하나의 스테이지가 다수의 태스크를 만들 수 있습니다. 그리고 이런 Execution Plan을 Spark Web UI로 살펴볼 수 있습니다. 3. Bucketing과 Partitioning 데이터를 처리하기 쉬운 형태로 HDFS에 저장하는 방식에 대해 살펴보겠습니다. Bucketing과 Partitioning HDFS 데이터를 처리 형태에 맞춰 최적화할 수 있다면 처리 시간을 단축하고 리소스..

하둡과 Spark 2024.01.20

Spark 내부동작 (Execution Plan) - 실습

Contents 1. Spark 파일 포맷 Parquet, Avro, csv, json 2. Execution Plan Spark이 우리가 만든 코드를 어떻게 실행할 지 보겠습니다. Action과 Transformation의 차이를 살펴봅니다. 하나의 액션이 하나의 잡이고 하나의 잡이 다수의 스테이지를 만들 수 있고 하나의 스테이지가 다수의 태스크를 만들 수 있습니다. 그리고 이런 Execution Plan을 Spark Web UI로 살펴볼 수 있습니다. 3. Bucketing과 Partitioning 데이터를 처리하기 쉬운 형태로 HDFS에 저장하는 방식에 대해 살펴보겠습니다. Execution Plan Spark은 개발자가 만든 코드를 어떻게 변환하여 실행하는가? WordCount 코드 spark =..

하둡과 Spark 2024.01.20

Spark 내부동작 (Execution Plan)

Contents 1. Spark 파일 포맷 Parquet, Avro, csv, json 2. Execution Plan Spark이 우리가 만든 코드를 어떻게 실행할 지 보겠습니다. Action과 Transformation의 차이를 살펴봅니다. 하나의 액션이 하나의 잡이고 하나의 잡이 다수의 스테이지를 만들 수 있고 하나의 스테이지가 다수의 태스크를 만들 수 있습니다. 그리고 이런 Execution Plan을 Spark Web UI로 살펴볼 수 있습니다. 3. Bucketing과 Partitioning 데이터를 처리하기 쉬운 형태로 HDFS에 저장하는 방식에 대해 살펴보겠습니다. Execution Plan Spark은 개발자가 만든 코드를 어떻게 변환하여 실행하는가? 다음 데이터 프레임 연산을 자세히 보..

하둡과 Spark 2024.01.20

Spark 파일포맷

Contents 1. Spark 파일 포맷 Parquet, Avro, csv, json 2. Execution Plan Spark이 우리가 만든 코드를 어떻게 실행할 지 보겠습니다. Action과 Transformation의 차이를 살펴봅니다. 하나의 액션이 하나의 잡이고 하나의 잡이 다수의 스테이지를 만들 수 있고 하나의 스테이지가 다수의 태스크를 만들 수 있습니다. 그리고 이런 Execution Plan을 Spark Web UI로 살펴볼 수 있습니다. 3. Bucketing과 Partitioning 데이터를 처리하기 쉬운 형태로 HDFS에 저장하는 방식에 대해 살펴보겠습니다. Spark 파일포맷 Spark에서 사용가능한 파일 포맷을 알아보자 데이터는 디스크에 파일로 저장됨: 일에 맞게 최적화 필요 S..

하둡과 Spark 2024.01.20

Intro (Spark 내부동작)

Contents 1. Spark 파일 포맷 Parquet, Avro, csv, json 2. Execution Plan Spark이 우리가 만든 코드를 어떻게 실행할 지 보겠습니다. Action과 Transformation의 차이를 살펴봅니다. 하나의 액션이 하나의 잡이고 하나의 잡이 다수의 스테이지를 만들 수 있고 하나의 스테이지가 다수의 태스크를 만들 수 있습니다. 그리고 이런 Execution Plan을 Spark Web UI로 살펴볼 수 있습니다. 3. Bucketing과 Partitioning 데이터를 처리하기 쉬운 형태로 HDFS에 저장하는 방식에 대해 살펴보겠습니다.

하둡과 Spark 2024.01.20

유닛테스트

Contents 1. Spark SQL 소개 2. Aggregation, JOIN, UDF 3. Spark SQL 실습 4. Hive 메타스토어 사용하기 5. 유닛 테스트 유닛 테스트 DataFrame 코드에 테스트를 추가해보자 유닛 테스트란? 코드 상의 특정 기능 (보통 메소드의 형태)을 테스트하기 위해 작성된 코드 보통 정해진 입력을 주고 예상된 출력이 나오는지 형태로 테스트 CI/CD를 사용하려면 전체 코드의 테스트 커버러지가 굉장히 중요해짐 각 언어별로 정해진 테스트 프레임웍을 사용하는 것이 일반적 ● JUnit for Java ● NUnit for .NET ● unittest for Python unittest를 사용해볼 예정 https://www.udemy.com/course/apache-sp..

하둡과 Spark 2024.01.18

Hive - 메타스토어 사용하기

Contents 1. Spark SQL 소개 2. Aggregation, JOIN, UDF 3. Spark SQL 실습 4. Hive 메타스토어 사용하기 5. 유닛 테스트 Hive 메타 스토어 사용하기 Hive 메타스토어를 사용하는 방법을 알아보자 Spark 데이터베이스와 테이블 (1) 카탈로그: 테이블과 뷰에 관한 메타 데이터 관리 ● 기본으로 메모리 기반 카탈로그 제공 - 세션이 끝나면 사라짐 ● Hive와 호환되는 카탈로그 제공 - Persistent 테이블 관리 방식 ● 테이블들은 데이터베이스라 부르는 폴더와 같은 구조로 관리 (2단계) Spark 데이터베이스와 테이블 (2) 메모리 기반 테이블/뷰: ● 임시 테이블로 앞서 사용해봤음 스토리지 기반 테이블 ● 기본적으로 HDFS와 Parquet 포..

하둡과 Spark 2024.01.18

Spark SQL 실습 1 (JOIN)

Contents 1. Spark SQL 소개 2. Aggregation, JOIN, UDF 3. Spark SQL 실습 4. Hive 메타스토어 사용하기 5. 유닛 테스트 Spark SQL 실습 지금까지 배운 내용들을 실습해보자 실습 문제들 실습 대상 테이블 설명 1. JOIN 실습 2. 매출 사용자 10명 알아내기 (Ranking) 3. 월별 채널별 매출과 방문자 정보 계산하기 (Grouping) 4. 사용자별로 처음 채널과 마지막 채널 알아내기 (Windowing) 실습 사용 테이블 3개 설명 - 사용자 ID, 세션 ID 사용자 ID: 보통 웹서비스에서는 등록된 사용자마다 유일한 ID를 부여 -> 사용자 ID 세션 ID: 사용자가 외부 링크(보통 광고)를 타고 오거나 직접 방문해서 올 경우 세션을 생..

하둡과 Spark 2024.01.18