ベースRDDを作成して変換する
非構造化データ(ログ行、画像、バイナリファイルなど)の量は爆発的に増えており、PySpark は RDD を通じてこの種のデータを分析するのに最適なフレームワークです。この3部構成の演習では、Complete Works of William Shakespeare から最もよく出現する単語を計算するコードを書きます。
単語数カウントプログラムの手順は次のとおりです。
Complete_Shakespeare.txtファイルからベースRDDを作成します。- RDD の変換を使って、ベースRDDの各要素から単語の長いリストを作成します。
- ストップワードをデータから取り除きます。
- 各要素が
('w', 1)のタプルになるように、ペアRDDを作成します。 - ペアRDDの要素をキー(単語)でグループ化し、値を合計します。
- キー(単語)と値(出現回数)を入れ替え、キーが回数、値が単語になるようにします。
- 最後に、RDD を降順でソートし、最も頻度の高い単語トップ10とその出現回数を表示します。
この最初の演習では、Complete_Shakespeare.txt ファイルからベースRDDを作成し、変換して単語の長いリストを作ります。
作業スペースにはすでに SparkContext sc が用意されています。Complete_Shakespeare.txt へのパスを保持する変数 file_path も読み込まれています。
この演習はコースの一部です
PySparkで学ぶBig Data入門
演習の手順
file_pathから行を読み込む RDDbaseRDDを作成します。baseRDDを変換して単語の長いリストにし、新しいsplitRDDを作成します。splitRDDに含まれる単語の総数を数えます。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create a baseRDD from the file path
baseRDD = sc.____(file_path)
# Split the lines of baseRDD into words
splitRDD = baseRDD.____(lambda x: x.split())
# Count the total number of words
print("Total number of words in splitRDD:", splitRDD.____())