전체 글 373

UDF 실습

Contents 1. Spark SQL 소개 2. Aggregation, JOIN, UDF 3. Spark SQL 실습 4. Hive 메타스토어 사용하기 5. 유닛 테스트 Aggregation, JOIN, UDF 다양한 Aggregation과 JOIN 방식과 UDF에 대해 살펴보자 UDF 실습 앞서 UDF를 실습 하나의 레코드로부터 다수의 레코드 만들어내기 Order 데이터의 items 필드에서 다수의 Order Item 레코드를 만들기 실습 !pip install pyspark==3.3.1 py4j==0.10.9.5 from pyspark.sql import SparkSession spark = SparkSession \ .builder \ .appName("Python Spark UDF") \ .ge..

하둡과 Spark 2024.01.18

UDF(User Defined Function)

Contents 1. Spark SQL 소개 2. Aggregation, JOIN, UDF 3. Spark SQL 실습 4. Hive 메타스토어 사용하기 5. 유닛 테스트 Aggregation, JOIN, UDF 다양한 Aggregation과 JOIN 방식과 UDF에 대해 살펴보자 UDF(User Defined Function) 사용해보기 데이터프레임의 경우 .withColumn 함수와 같이 사용하는 것이 일반적 Spark SQL에서도 사용 가능함 Aggregation용 UDAF(User Defined Aggregation Function)도 존재 GROUP BY에서 사용되는 SUM, AVG와 같은 함수를 만드는 것 PySpark에서 지원되지 않음. Scalar/Java를 사용해야 함 UDF란 무엇인가?..

하둡과 Spark 2024.01.18

Aggregation - JOIN

Contents 1. Spark SQL 소개 2. Aggregation, JOIN, UDF 3. Spark SQL 실습 4. Hive 메타스토어 사용하기 5. 유닛 테스트 Aggregation, JOIN, UDF 다양한 Aggregation과 JOIN 방식과 UDF에 대해 살펴보자 Aggregation 함수 ❖ DataFrame이 아닌 SQL로 작성하는 것을 추천 ❖ 뒤에서 실습시 예를 몇 가지 SQL로 살펴볼 예정 ❖ Group By SUM, MIN, MAX, AVG, COUNT ❖ Window ROW_NUMBER, FIRST_VALUE, LAST_VALUE ❖ Rank JOIN SQL 조인은 두 개 혹은 그 이상의 테이블들을 공통 필드를 가지고 머지 스타 스키마로 구성된 테이블들로 분산되어 있던 정보..

하둡과 Spark 2024.01.18

Spark SQL 소개

Contents 1. Spark SQL 소개 2. Aggregation, JOIN, UDF 3. Spark SQL 실습 4. Hive 메타스토어 사용하기 5. 유닛 테스트 Spark SQL 소개 Spark SQL과 Spark DataFrame의 차이점 Spark SQL의 일반적인 사용법 이해 처음에 맵리듀스가 등장할 때는 SQL이 필요가 없다고 생각했지만 생산성이 떨어지며 다시 SQL을 중시 SQL은 빅데이터 세상에서도 중요! 데이터 분야에서 일하고자 하면 반드시 익혀야할 기본 기술 구조화된 데이터를 다루는한 SQL은 데이터 규모와 상관없이 쓰임 모든 대용량 데이터 웨어하우스는 SQL 기반 Redshift, Snowflake, BigQuery Hive/Presto Spark도 예외는 아님 Spark SQ..

하둡과 Spark 2024.01.18

Spark DataFrame 실습 4

Contents 1. Spark 데이터 처리 2. Spark 데이터 구조: RDD, DataFrame, Dataset 3. 프로그램 구조 4. 개발/실습 환경 소개 5. Spark DataFrame 실습 Spark DataFrame 실습 앞서 배운 내용들을 바탕으로 다양한 코딩 연습을 해보자 실습 4. Stackoverflow 서베이 기반 인기 언어 찾기 stackoverflow CSV파일에서 다음 두 필드는 ;를 구분자로 프로그래밍 언어를 구분 LanguageHaveWorkedWith LanguageWantToWorkWith 이를 별개 레코드로 분리하여 가장 많이 사용되는 언어 top 50와 가장 많이 쓰고 싶은 언어 top 50를 계산해보기 실습 !pip install pyspark==3.3.1 py..

하둡과 Spark 2024.01.18

Spark DataFrame 실습 3

Contents 1. Spark 데이터 처리 2. Spark 데이터 구조: RDD, DataFrame, Dataset 3. 프로그램 구조 4. 개발/실습 환경 소개 5. Spark DataFrame 실습 Spark DataFrame 실습 앞서 배운 내용들을 바탕으로 다양한 코딩 연습을 해보자 실습 3. 텍스트를 파싱해서 구조화된 데이터로 변환하기 Regex를 이용해서 아래와 같이 변환해보는 것이 목표 입력: “On 2021-01-04 the cost per ton from 85001 to 85002 is $28.32 at ABC Hauling” ○ regex 패턴: “On (\S+) the cost per ton from (\d+) to (\d+) is (\S+) at (.*)” ■ \S (non-whi..

하둡과 Spark 2024.01.17

Spark DataFrame 실습 2

Contents 1. Spark 데이터 처리 2. Spark 데이터 구조: RDD, DataFrame, Dataset 3. 프로그램 구조 4. 개발/실습 환경 소개 5. Spark DataFrame 실습 Spark DataFrame 실습 앞서 배운 내용들을 바탕으로 다양한 코딩 연습을 해보자 실습 2. 워밍업 2 - 헤더 없는 CSV 파일처리하기 입력 데이터: 헤더 없는 CSV 파일 https://s3-geospatial.s3-us-west-2.amazonaws.com/customer-orders.csv 데이터에 스키마 지정하기 cust_id, item_id, amount_spent를 데이터 컬럼으로 추가하기 (모두 숫자) cust_id를 기준으로 amount_spent의 합을 계산하기 실습 Spark ..

하둡과 Spark 2024.01.17

Spark DataFrame 실습 1

Contents 1. Spark 데이터 처리 2. Spark 데이터 구조: RDD, DataFrame, Dataset 3. 프로그램 구조 4. 개발/실습 환경 소개 5. Spark DataFrame 실습 Spark DataFrame 실습 앞서 배운 내용들을 바탕으로 다양한 코딩 연습을 해보자 실습 1. 워밍업 - 헤더가 없는 CSV 파일 처리하기 입력 데이터: 헤더 없는 CSV 파일 https://s3-geospatial.s3-us-west-2.amazonaws.com/1800.csv 데이터에 스키마 지정하기 SparkConf 사용해보기 measure_type값이 TMIN인 레코드 대상으로 stationId별 최소 온도 찾기 판다스와 비교 csv 파일 상위 4개 레코드 샘플로 헤더가 없는 상태 실습 헤더..

하둡과 Spark 2024.01.17