pyspark

·AI/AI Project
Pyspark MLlib에 필요한 라이브러리 호출 import pandas import numpy import os import matplotlib.pyplot as plt import seaborn as sns plt.rc('font',family = "AppleGothic") plt.rcParams['axes.unicode_minus'] = False # PySpark - SQL from pyspark.sql import SparkSession from pyspark.sql.functions import mean,col,split,regexp_extract,when,lit,isnan,count # Pyspark - ML 파이프라인 from pyspark.ml import Pipeline # Featu..
스파크 SQL은 관계형 처리와 스파크의 함수형 프로그래밍 API를 통합하는 아파치 스파크의 기본 구성 요소입니다. 스파크 SQL을 사용하면 스파크 프로그래머는 더 빠른 성능 및 관계형 프로그래밍 이점을 활용할 수 있을 뿐만 아니라 복잡한 분석 라이브러리(ex.ML)을 호출 할 수 있습니다. 사용자 정의함수 Apache Spark는 대량의 내장 함수를 제공하기도 하지만, 데이터 엔지니어와 과학자도 자신의 기능을 정의할 수 있는 유연성 또한 제공합니다. 이를 사용자 정의함수(user-defined function,UDF)라고 합니다. Spark SQL UDF 사용자만의 PySpark UDF를 생성하는 이점은 사용자도 스파크 SQL 안에서 이를 사용할 수 있습니다. 이를 통해 내부를 이해하지 않고도 스파크 S..
스파크 SQL 특징 스파크 SQL은 다음과 같은 특징을 갖습니다. 상위 수준의 정형화 API가 엔진으로 제공된다. 다양한 정형 데이터를 읽거나 쓸수 있다.(ex) JSON, csv, Parquet) BI의 데이터 소스나 MySQL 및 PostgreSQL과 같은 RDBMS의 데이터를 JDBC/ODBC 커넥터를 사용하여 쿼리할 수 있습니다. 스파크의 기능에 접근할 수 있는 SparkSession을 사용하면 쉽게 클래스를 가져오고 코드에서 인스턴스를 생성할 수 있습니다. 이에따라 SQL 쿼리를 실행하기 위해선 spark라고 선언된 SparkSession 인스턴스에서 spark.sql("SELECT * FROM myTableName")과 같은 sql() 함수를 사용합니다. from pyspark.sql impo..
from pyspark.sql import SparkSession from pyspark.sql.types import IntegerType, StringType, ArrayType, StructField, StructType # 기본 데이터 생성 data = [ [1, "Jules", "Damji", "asdv", "1/4/2016", 4536, ["twitter", "LinkedIN"]], [2, "Brooke", "asi", "asdv", "1/4/2017", 4546, ["twitter", "LinkedIN", "FB"]], [3, "Jules", "Damji", "asdv", "1/4/2018", 4556, ["twitter", "LinkedIN", "web"]] ] # main if __nam..
스파크 : RDD RDD는 스파크에서 가장 기본적인 추상적 부분입니다. RDD에는 세 가지의 핵심 특성이 있습니다. 의존성 dependency 결과를 새로 만들어야 하는 경우에 스파크는 이 의존성 정보를 참고하고 연산을 다시 반복하면서 RDD를 다시 만들 수 있습니다. 파티션(지역성 정보 포함) 스파크에게 작업을 나눠서 executor들에 분산하여 파티션별로 병렬 연산을 할 수 있는 능력을 부여합니다. 연산 함수: Partition => Iteratior[T] RDd에 저장되는 데이터를 Iterator[T] 형태로 만들어 주는 연산함수를 갖고 있습니다. 이러한 모델은 연산식 자체가 스파크에 투명하지 않았습니다. 예를들어 사용자가 연산 함수 안에서 조인, 필터링, 선택, 집계 등에서 스파크에서는 람다 표현..
스파크 애플리케이션 개념의 이해 애플리케이션 API를 써서 스파크 위에서 돌아가는 사용자 프로그램, 드라이버 프로그램과 클러스터의 실행기로 이뤄짐. 스파크 애플리케이션의 핵심에는 스파크 드라이버 프로그램이 있으며, 이 드라이버는 SparkSession 객체를 만듬SparkSession 스파크 코어 기능들과 상호 작용할 수 있는 진입점을 제공하며 그 API로 프로그래밍을 할 수 있게 해주는 객체. Job 스파크 액션(ex. save(),collect())에 대한 응답으로 생성되는 여러 태스크로 이뤄진 병렬 연산. 스파크 셸로 상호작용하는 작업 동안, 드라이버는 스파크 애플리케이션을 하나 이상의 스파크 잡으로 변환하고, 각 잡은 DAG로 변환됨. stage 각 job은 스테이지라 불리는 서로 의존성을 가지는..
Apache Spark 등장 배경 Spark는 Hadoop 에서 사용되는 MapReduce 형태의 클러스 컴퓨팅 한계를 극복하고자 등장하게 되었습니다. MapReduce는 Disk로부터 데이터를 읽은 후, Map을 통해 흩어져 있는 데이터를 key-value로 묶고 Reduce를 통해 원하고자 하는 데이터를 가공하여 Disk에 저장하게 되는 과정을 거치고 있는데, 이는 File 기반의 Disk I/O가 성능이 좋지 못하였고, Disk 대신 Memory 연산을 통해 성능을 향상 시키고자 Spark가 등장하게 되었습니다. Apache Spark란 Apache Spark는 통합 컴퓨팅 엔진이며 클러스터 환경에서 데이터를 병렬로 처리하는 라이브러리 집합입니다. 분산 클러스터 컴퓨팅 프레임워크로 Fault Tol..
Shine_sunho
'pyspark' 태그의 글 목록