스파크완벽가이드 - 10장 Spark SQL
·
DataPipeline/Spark
10장 Spark SQL- 시스템 함수 사용 및 사용자 정의 함수를 사용할 수 있음- 워크로드 최적화하기 위해 쿼리 실행 계획 분석 가능- DataFrame과 Dataset API와 통합되어있어 SQL 데이터 변환 시 동일한 실행 코드로 컴파일 됨  10.3 빅데이터 SQL: 스파크 SQL- 스파크 2.0 버전은 하이브의 HiveQL을 지원하는 자체 개발 SQL 파서가 포함되어 있음- 스파크 SQL은 OLTP가 아닌 OLAP로 동작하므로 매우 낮은 지연 시간이 필요한 쿼리 수행에는 맞지 않음- 스파크와 하이브와의 관계 ㄴ 하이브 메타스토어는 여러 세션에서 사용할 테이블 정보를 보관하고 있음 ㄴ 스파크 SQL은 하이브 메타스토어를 사용하므로 하이브와 연동 가능 ㄴ 하이브 메타스토어에 접속하려면 몇가지 설정..
스파크완벽가이드 - 9장 데이터 소스
·
DataPipeline/Spark
스파크 핵심 외부 데이터소스- CSV- JSON- PARQUET- ORC- JDBC/ODBC- TEXT FILE- 파일 옵션    ㄴ https://spark.apache.org/docs/latest/sql-data-sources-csv.html CSV Files - Spark 3.5.1 Documentation spark.apache.org  9.1 데이터소스 API 구조읽기 모드데이터 읽기 핵심 구조- DataFrameReader.format(...).option("key","value").schema(...).load()- DataFrameReader는 SparkSession의 read 속성으로 접근읽기 모드 지정 값- 포맷- 스키마- 읽기 모드 ㄴ permissive : 오류레코드 null..
스파크완벽가이드 - 8장 조인
·
DataPipeline/Spark
8.1 조인 표현식- 스파크는 왼쪽과 오른쪽 데이터셋에 있는 하나 이상의 키값을 비교하여 데이터셋을 조인 함- 스파크는 일치하는 키가 없는 로우는 조인에 포함시키지 않음  8.2 조인 타입- inner join- outer join - left outer join - right outer join- left semi join- left anti join- natural join- cross join- 예제를 위한 Data 생성person = spark.createDataFrame([ (0, "Bill Chambers", 0, [100]), (1, "Matei Zaharia", 1, [500, 250, 100]), (2, "Michael Armbrust", 1, [250, 100])])\ ..
스파크완벽가이드 - 6장 다양한 데이터 타입 다루기
·
DataPipeline/Spark
다양한 데이터 타입- boolean- 수치- 문자열- data와 timestamp- null 값- 복합 데이터- 사용자 정의 함수  6.1 API는 어디서 찾을까- DataFrame은 Row 타입을 가진 Dataset이므로 결국에는 Dataset 메서드를 참조함- org.apache.spark.sql.functions 데이터 타입과 다양한 함수를 제공- 분석에 사용할 DataFramedf = spark.read.format("csv")\ .option("header", "true")\ .option("inferSchema", "true")\ .load('/Users/myName/Test/Spark_ref/sparkGuide/data/2010-12-01.csv')df.printSchema(..
스파크완벽가이드 - 5장 구조적 API 기본 연산
·
DataPipeline/Spark
- DataFrame은 Row 타입의 레코드와 연산 여러 컬럼으로 구성- 스키마는 각 컬럼명과 데이터의 타입을 정의- 파티셔닝은 DataFrame이나 Dataset이 클러스터에서 물리적으로 배치되는 형태를 정의- 예제를 위한 DataFrame 생성df = spark.read.format('json').load('/Users/myname/Test/Spark_ref/sparkGuide/data/2015-summary.json')df.printSchema()root |-- DEST_COUNTRY_NAME: string (nullable = true) |-- ORIGIN_COUNTRY_NAME: string (nullable = true) |-- count: long (nullable = true)  5.1 스..
스파크완벽가이드 - 4장 구조적 API 개요
·
DataPipeline/Spark
구조적 API에는 3가지 분산 컬렉션 API가 있음- Dataset- DataFrame- SQL Table & View3가지 핵심 개념- 타입형 / 비타입형 API 개념과 차이점- 핵심용어    ㄴ 카탈리스트 / 카탈로그 / 실행 계획 / 조건절 푸쉬 다운- 스파크가 구조적 API의 데이터 흐름을 해석하고 클러스터에서 실행하는 방식  4.1 DataFrame과 Dataset- DataFrame과 Dataset은 잘 정의된 로우와 컬럼을 가지는 분산 테이블 형태의 컬렉션- 값 없음은 null 로 표시  4.2 스키마- 스키마는 DataFrame의 컬럼명과 데이터 타입을 지정- 스키마는 데이터소스에서 얻거나 (schema on read) 직접 정의- 예제from pyspark.sql.types import ..
스파크완벽가이드 - 2장 스파크 간단히 살펴보기
·
DataPipeline/Spark
2.1 스파크 기본 아키텍처클러스터- 클러스터는 여러 컴퓨터의 자원을 모아 하나의 컴퓨터 처럼 사용- 스파크는 클러스터에서 작업을 조율할 수 있는 역할을 하는 프레임워크 드라이버 프로세스- 클러스터 노드 중 하나에서 실행되며 main() 함수를 실행- 필수적으로 존재 익스큐터 프로세스- 드라이버가 할당한 작업을 수행 후, 드라이버 노드에 보고하는 두가지 역할 수행  모드 실행 예제클러스터 모드 실행 예제from pyspark.sql import SparkSessionspark = SparkSession.builder \ .appName("MySparkApp") \ # 애플리케이션 이름 설정 .master("spark://:") \ # 마스터 노드의 주소 설정 .config("spark..
스파크완벽가이드 - 1장 아파치 스파크란
·
DataPipeline/Spark
1. 스파크 기능 구성2. 컴퓨팅 엔진- 스파크는 저장소 시스템의 데이터를 연산하는 역할을 수행- 영구 저장소 역할은 수행하지 않으며 대신에 AWS S3, Hadoop, 카산드라, 카프카 등의 저장소를 지원 3. 스파크 설치하기# homebrew로 설치 ( MAC )brew install apache-spark# spark 경로 확인brew info apache-spark# spark version 확인spark-submit --version# spark shell 실행 pysparkspark-shell
wave35
'DataPipeline/Spark' 카테고리의 글 목록 (3 Page)