사전준비
바탕화면 우클릭 : git bash here
→ cd pyspk_project
→ code .
→ git bash 터미널
pyspark 실습(1)
→ source venv/Scripts/activate
→ chapter01_get_starged 폴더에서 파일 생성
→ 파일 생성 : step04_structype.py
키워드 : Struct Type
구글링 : Spark Struct Type, Spark Struct
참고 링크 :
https://spark.apache.org/docs/latest/api/python/reference/api/pyspark.sql.types.StructType.html
→ 코드 작성
from struct import Struct
from pyspark.sql import SparkSession
from pyspark.sql import functions as func
from pyspark.sql.types import StructType, StructField, IntegerType, LongType
# 세션 할당 (필수)
# spark = SparkSession.builder.appName("")
spark = SparkSession.builder.appName("PopularMovies").getOrCreate()
# 스키마 작성 (u.logs 데이터)
schema = StructType(
[
StructField("userID", IntegerType(), True),
StructField("movieID", IntegerType(), True),
StructField("rating", IntegerType(), True),
StructField("timestamp", LongType(), True)
]
)
print("Schema is done")
# 데이터 불러오기
movies_df = spark.read.option("sep", "\\t").schema(schema).csv("ml-100k/u.logs")
# 내림차순으로 인기있는 영화 정렬
# movieID 그룹바이. count() orderby
toMovieIds = movies_df.groupBy("movieID").count().orderBy(func.desc('count'))
print(movies_df.show(10))
# 세션 종료
spark.stop()