PySpark의 DataFrame 시각화

PySpark로 배우는 빅데이터 기초

Upendra Devisetty

Science Analyst, CyVerse

데이터 시각화란?

  • 데이터 시각화는 데이터를 그래프나 차트로 표현하는 방법입니다

  • Python의 오픈 소스 시각화 도구:

    • Matplotlib, Seaborn, Bokeh 등
  • PySpark DataFrame으로 그래프를 그리는 방법은 세 가지입니다

    • pyspark_dist_explore 라이브러리

    • toPandas()

    • HandySpark 라이브러리

PySpark로 배우는 빅데이터 기초

Pyspark_dist_explore로 데이터 시각화

  • Pyspark_dist_explore 라이브러리는 DataFrame을 빠르게 탐색할 수 있습니다

  • 사용 가능한 함수: hist(), distplot(), pandas_histogram()

test_df = spark.read.csv("test.csv", header=True, inferSchema=True)
test_df_age = test_df.select('Age')
hist(test_df_age, bins=20, color="red")
PySpark로 배우는 빅데이터 기초

Pandas로 DataFrame 시각화하기

  • pandas DataFrame으로는 차트를 쉽게 만들 수 있습니다
test_df = spark.read.csv("test.csv", header=True, inferSchema=True)
test_df_sample_pandas = test_df.toPandas()
test_df_sample_pandas.hist('Age')
  • 참고: 데이터가 큰 경우 toPandas() 사용은 권장되지 않습니다
PySpark로 배우는 빅데이터 기초

pandas DataFrame vs PySpark DataFrame

  • pandas DataFrame은 메모리 내 단일 서버 구조이며, PySpark 연산은 병렬로 실행됩니다

  • pandas는 연산 시 즉시 결과가 생성되며, PySpark DataFrame은 지연 계산(lazy evaluation)입니다

  • pandas DataFrame은 변경 가능하고, PySpark DataFrame은 변경 불가능합니다

  • pandas API가 PySpark DataFrame API보다 지원 기능이 더 많습니다

PySpark로 배우는 빅데이터 기초

HandySpark로 시각화

  • HandySpark는 PySpark 사용성을 높이기 위한 패키지입니다
    • 데이터 접근이 쉬움
    • 분산 계산 유지
test_df = spark.read.csv('test.csv', header=True, inferSchema=True)
hdf = test_df.toHandy()
hdf.cols["Age"].hist()
PySpark로 배우는 빅데이터 기초

DataFrame을 시각화해 보겠습니다

PySpark로 배우는 빅데이터 기초

Preparing Video For Download...