始める無料で始める

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
___
コードを編集して実行