[TIL] day37

Hyebin·2022년 3월 3일
0

TIL

목록 보기
38/47

TIL

spark SQL이란?

구조화된 데이터 처리를 위한 Spark 모듈이다.
데이터 프레임을 SQL로 처리 가능하게 해준다.

외부 데이터베이스 기반으로 데이터 프레임 생성을 위해선,

  1. SparkSession을 생성할때 외부 데이터베이스에 맞는 JDBC jar을 지정해준다.
spark = SparkSession \
	.builder \
    .appName("Python Spark SQL basic example") \
    .config("spark.jar", << JDBC jar 지정
    .getOrCreate()
...
  1. Spark Session의 read함수를 호출한다. ==> spark.read
    (로그인 관련 정보와 읽어오고자 하는 테이블 혹은 SQL 지정)
    데이터 프레임으로 리턴된다.

SQL 사용방법

데이터프레임을 기반으로 테이블 뷰 생성

  • createOrReplaceTempView: sparkSession이 살아있는 동안 존재
  • createGlobalTempView: spark 드라이버가 살아있는 동안 존재

sql함수로 SQL 결과를 데이터 프레임 형태로 받을수있다!

df.createOrReplaceTempView("name")
df = spark.sql("
	SELECT gender, count(1) FROM name GROUP BY 1
    ")
print(df.collect())
collect: spark df를 가지고 작업을 하다가 이걸 받아서 로컬에서 print 하고 싶을 경우에는 
		collect()로 불러줘야 한다.
profile
공부중입니다 :D

0개의 댓글

관련 채용 정보