_실습 18

Spark SQL 실습 1

실습 실습 1. 총 매출이 가장 많은 사용자 10명 찾기 테이블을 데이터프레임으로 로딩 데이터프레임별 테이블 이름 지정 !cd /usr/local/lib/python3.8/dist-packages/pyspark/jars && wget https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/1.2.20.1043/RedshiftJDBC42-no-awssdk-1.2.20.1043.jar from pyspark.sql import SparkSession spark = SparkSession \ .builder \ .appName("Python Spark SQL #1") \ .getOrCreate() # Redshift와 연결 및 DataFrame으로 로딩하기 url..

Spark 프로그래밍 실습 5

실습 실습 5. Redshift 연결해보기 테이블을 Redshift에서 Spark로 로드 DataFrame, SparkSQL 사용해서 조인 MAU(Monthly Active User) 계산 # JDBC Redshift Driver 다운로드 경로 설정 !cd /usr/local/lib/python3.8/dist-packages/pyspark/jars && wget https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/1.2.20.1043/RedshiftJDBC42-no-awssdk-1.2.20.1043.jar from pyspark.sql import SparkSession spark = SparkSession \ .builder \ .appName("PyS..

Spark 프로그래밍 실습 4

실습 실습 4. Stackoverflow 서베이 기반 인기 언어 찾기 입력 데이터 : LanguageHaveWorkedWith, LanguageWantToWorkWith 필드는 ;를 구분자로 사용 별개 레코드로 분리 가장 많이 사용되는 언어 top 50과 가장 많이 쓰고 싶은 언어 top 50 계산 # 파일 다운로드 !wget https://s3-geospatial.s3-us-west-2.amazonaws.com/survey_results_public.csv from pyspark.sql import SparkSession spark = SparkSession \ .builder \ .appName("Python Spark SQL basic example") \ .config("spark.jars", "..

Spark 프로그래밍 실습 3

실습 실습 3. 텍스트를 파싱해서 구조화된 데이터로 변환하기 입력 데이터 : 텍스트 데이터 출력 데이터 : 구조화된 데이터 Regex 이용 # 파일 다운로드 !wget https://s3-geospatial.s3.us-west-2.amazonaws.com/transfer_cost.txt from pyspark.sql import SparkSession from pyspark import SparkConf conf = SparkConf() conf.set("spark.app.name", "PySpark DataFrame #3") conf.set("spark.master", "local[*]") spark = SparkSession.builder\ .config(conf=conf)\ .getOrCreate(..

Spark 프로그래밍 실습 1/2

실습 실습 1. 헤더가 없는 CSV 파일 처리하기 입력 데이터 : 헤더 없는 CSV 파일 데이터에 스키마 지정 SparkConf 사용 measure_type값이 TMIN인 레코드의 stationId별 최소 온도 # 파일 다운로드 !wget https://s3-geospatial.s3-us-west-2.amazonaws.com/1800.csv 판다스 import pandas as pd pd_df = pd.read_csv( "1800.csv", names=["stationID", "date", "measure_type", "temperature"], usecols=[0, 1, 2, 3] ) pd_minTemps = pd_df[pd_df['measure_type'] == "TMIN"] pd_stationTem..