코드
from pyspark.sql import SparkSession
if __name__ == "__main__":
spark = SparkSession\
.builder\
.appName("0_save_file")\
.getOrCreate()
sc = spark.sparkContext
lines = sc.parallelize(['i love you', 'you are my friend', 'my name is park'])
print(f'lines : {lines.collect()}' )
# pairs = lines.map(lambda s: s.split(" ")) # 띄어쓰기로 나누기
# pairs = pairs.filter(lambda x: len(x) > 3) # 단어의 개수가 3개를 초과하는 것만 필터
# pairs = lines.flatMap(lambda x: x.split(" ")).map(lambda word: (word, 1)) # 모든 단어를 map 하기
pairs = lines.flatMap(lambda x: x.split(" ")).map(lambda word: (word, 1)).groupByKey().mapValues(sum).sortByKey(True)
print(f'pairs : {pairs.collect()}' )
spark.stop()
결과
'Data Engineering > Spark' 카테고리의 다른 글
[Spark] csv 파일을 읽어서 스파크 데이터프레임으로 만드는 방법 (0) | 2022.05.29 |
---|---|
[Spark] 간단한 DataFrame 만드는 방법 (0) | 2022.05.29 |
[Spark] RDD의 문장들을 띄어쓰기로 단어를 나누고 카운트하는 방법 (0) | 2022.05.29 |
[Spark] RDD를 필터처리하는 방법 (0) | 2022.05.29 |
[Spark] RDD에 있는 문장을 띄어쓰기로 나누는 방법 (0) | 2022.05.29 |