Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Matplotlib를 사용하여 PySpark SQL 결과를 플롯하는 방법은 무엇입니까?


Matplotlib를 사용하여 PySpark SQL 플롯 결과, 다음 단계를 수행할 수 있습니다-

  • 그림 크기를 설정하고 서브플롯 사이 및 주변 여백을 조정합니다.
  • Spark 기능의 주요 진입점인 인스턴스를 가져옵니다.
  • Hive에 저장된 데이터와 통합되는 Spark SQL 변형의 인스턴스를 가져옵니다.
  • 레코드 목록을 튜플로 만듭니다.
  • 로컬 Python 컬렉션을 배포하여 RDD를 형성합니다.
  • 목록 레코드를 DB 스키마로 매핑합니다.
  • 스키마 인스턴스를 가져와 "my_table"에 항목을 만듭니다.
  • 표에 레코드를 삽입합니다.
  • SQL 쿼리를 읽고 레코드를 검색합니다.
  • 가져온 레코드를 데이터 프레임으로 변환합니다.
  • 이름으로 색인 설정 속성을 지정하고 플롯합니다.
  • 그림을 표시하려면 show()를 사용하세요. 방법.

예시

from pyspark.sql import Row
from pyspark.sql import HiveContext
import pyspark
import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

sc = pyspark.SparkContext()
sqlContext = HiveContext(sc)

test_list = [(1, 'John'), (2, 'James'), (3, 'Jack'), (4, 'Joe')]
rdd = sc.parallelize(test_list)
people = rdd.map(lambda x: Row(id=int(x[0]), name=x[1]))
schemaPeople = sqlContext.createDataFrame(people)
sqlContext.registerDataFrameAsTable(schemaPeople, "my_table")

df = sqlContext.sql("Select * from my_table")
df = df.toPandas()
df.set_index('name').plot()

plt.show()

출력

Matplotlib를 사용하여 PySpark SQL 결과를 플롯하는 방법은 무엇입니까?