Sparkからデータを収集する
第1章の演習「tibbleの構造を調べる」で、tibbleはデータのコピーを保持しないことを学びました。データはSparkに置かれたままで、tibbleはSparkから取得したい内容の情報を保持しているだけです。
データをSparkからRに移したい場面はさまざまあります。すでに見てきたように、データを表示する際には一部のデータがSparkからRに移されます。また、グラフを作成したい場合や、Sparkで利用できないモデリング手法を使いたい場合にも、データを収集する必要があります。(Rは、あらゆるプログラミング言語の中でも最も豊富なモデルの選択肢を備えています。)
データをSparkからRに移すには、collect() を呼び出します。
この演習はコースの一部です
sparklyr を使った Spark 入門(R)
演習の手順
Spark接続は spark_conn として作成済みです。Sparkに保存されたトラックのメタデータに紐付いたtibbleは、track_metadata_tbl として事前に定義されています。
track_metadata_tblの行をartist_familiarityが0.9より大きい条件で絞り込み、結果をresultsに代入しましょう。resultsのクラスを表示して、tbl_lazy(リモートデータ用)であることを確認しましょう。- 結果を収集して
collectedに代入しましょう。 collectedのクラスを表示して、tbl_df(ローカルデータ用)であることを確認しましょう。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# track_metadata_tbl has been pre-defined
track_metadata_tbl
results <- track_metadata_tbl %>%
# Filter where artist familiarity is greater than 0.9
___
# Examine the class of the results
___
# Collect your results
collected <- results %>%
___
# Examine the class of the collected results
___