開始使用免費開始

將資料複製到 Spark

在你能用 Spark 做任何實際工作之前,必須先把資料放進去。sparklyr 提供一些函式(例如 spark_read_csv())可將 CSV 檔案讀入 Spark。更一般地說,能從 R 複製資料到 Spark 也很實用。這可以用 dplyrcopy_to() 函式完成。要特別留意:複製資料本質上很慢。事實上,在處理大型資料集時,許多效能最佳化策略,都是設法避免把資料從一個位置複製到另一個位置。

copy_to() 需要兩個引數:Spark 連線(dest),以及要複製到 Spark 的資料框(df)。

把資料複製到 Spark 之後,你可能會想確認是否真的成功。你可以使用 src_tbls() 列出儲存在 Spark 中的所有資料框;它只需要一個 Spark 連線引數(x)。

在整個課程中,你會探索來自 Million Song Dataset 的曲目中繼資料。雖然 Spark 可以輕鬆擴展到遠超過 1,000,000 筆資料,但為了保持操作簡潔且介面回應快,你將使用 1,000 首曲目的子集。為了釐清術語:「track」指的是資料集中的一列。對於這個 1,000 筆曲目的資料集來說,這等同於一首「song」(不過完整的百萬列資料集中有些歌曲是重複的)。

本練習屬於課程

使用 R 的 sparklyr:Spark 入門

檢視課程

練習說明

track_metadata(包含 1,000 首曲目的歌曲名稱、藝人名稱與其他中繼資料)已在你的工作環境中預先定義。

  • 使用 str() 探索 track_metadata 資料集。
  • 連線到本機的 Spark 叢集,並把連線物件存成 spark_conn
  • 使用 copy_to()track_metadata 複製到 Spark 叢集。
  • 使用 src_tbls() 檢視 Spark 中可用的資料框。
  • 中斷與 Spark 的連線。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Load dplyr
___

# Explore track_metadata structure
___

# Connect to your Spark cluster
spark_conn <- spark_connect("___")

# Copy track_metadata to Spark
track_metadata_tbl <- ___(___, ___, overwrite = TRUE)

# List the data frames available in Spark
___(___)

# Disconnect from Spark
spark_disconnect(___)
編輯並執行程式碼