이를 코드로 어떻게 구현할까요? 분산 컴퓨팅 프레임워크인 아파치 스파크를 사용해 분할 및 정복 전략을 구현해 봅시다.

    1. 아파치 스파크를 사용하려면 아파치 스파크 런타임 컨텍스트를 생성해야 합니다.

    [in :]

    import findspark
    findspark.init()
    from pyspark.sql import SparkSession
    spark = SparkSession.builder.master("local[*]").getOrCreate()
    sc = spark.sparkContext

    2. 예제에 사용할 단어 리스트를 만듭니다. 리스트를 스파크의 네이티브 자료 구조인 탄력적 분산 데이터셋(Resilient Distributed Dataset, RDD)으로 변환합니다.

    [in :]

    wordsList = ['python', 'java', 'ottawa', 'ottawa', 'java', 'news']
    wordsRDD = sc.parallelize(wordsList, 4)
    # wordsRDD에 담긴 요소를 불러 모아 출력합니다.
    print(wordsRDD.collect())

    3. map 함수를 사용하여 단어를 키-값 쌍으로 바꿉니다.

    [in :]

    wordPairs = wordsRDD.map(lambda w: (w, 1))
    print(wordPairs.collect())

    [out:]

    [('python', 1), ('java', 1), ('ottawa', 1), ('ottawa', 1), ('java', 1), ('news', 1)]

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.