목록하둡과 Spark (42)
터칭 데이터
요약 ● 데이터 분석에 SQL이 필수적 ● Spark에는 Spark SQL 모듈이 존재 ○ 데이터프레임을 SQL로 처리 가능 ● Hive 메타스토어와 같이 많이 사용 ● 코드와 SQL 검증을 위한 유닛 테스트 작성

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..

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 포..

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: 사용자가 외부 링크(보통 광고)를 타고 오거나 직접 방문해서 올 경우 세션을 생..

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..

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란 무엇인가?..

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 조인은 두 개 혹은 그 이상의 테이블들을 공통 필드를 가지고 머지 스타 스키마로 구성된 테이블들로 분산되어 있던 정보..
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 프로그래밍: SQL Spark SQL UDF 유닛 테스트 Contents 1. Spark SQL 소개 2. Aggregation, JOIN, UDF 3. Spark SQL 실습 4. Hive 메타스토어 사용하기 5. 유닛 테스트