데브코스 TIL/빅데이터, 스트리밍 데이터 처리 32

Hive 메타 스토어

강의 카탈로그 "카탈로그"는 테이블과 뷰에 관한 메타 데이터를 관리합니다. 메모리 기반 카탈로그 기본 Hive 호환 카탈로그 제공 : Persistent 데이터베이스를 통해 테이블을 폴더 구조로 관리 테이블 종류 메모리 기반 테이블/뷰 임시 테이블 스토리지 기반 테이블 HDFS Parquet 포맷 사용 Hive 호환 메타스토어 사용 테이블 종류 Managed Table : 실제 데이터 및 메타 데이터 관리 Unmanaged(External) Table : 메타 데이터 관리 Hive 메타 스토어 구현 스토리지 기반 카탈로그 SparkSession 생성시 enableHiveSupport() 호출 default 데이터베이스 생성 Managed Table 테이블 생성 daaframe.saveAsTable(tab..

Spark SQL 실습 3

실습 실습 3. 사용자별로 처음 채널과 마지막 채널 알아내기 테이블을 데이터프레임으로 로딩 데이터프레임별 테이블 이름 지정 !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으로 로딩하기 u..

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 SQL 소개

강의 Spark SQL "Spark SQL"은 구조화된 데이터 처리를 위한 Spark 모듈 입니다. 데이터프레임에 테이블 이름을 지정하여 sql 함수 사용 HQL(Hive Query Language)와 호환 가능 가독성 용이 및 다수의 사람이 사용 가능 최적화 적절 포팅 및 접근권한 체크 용이 사용 방법 데이터프레임 기반 테이블 뷰 생성 createOrReplaceTempView : Spark Session이 존재하는 동안 존재 createOrReplaceGlobalTempView : Spark 드라이버가 존재하는 동안 존재 Spark Session의 sql 함수로 SQL 결과를 데이터프레임으로 저장 함수 Aggregation Group by : SUM, MIN, MAX, AVG, COUNT Window..

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