2017-10-06 25 views
0

spark 1.6不會觸發sqlContext.read.json動作嗎?如何避免使用json格式記錄讀取序列文件

  1. 讀取的輸入序列文件
  2. sqlcontext.read.json()來轉換成數據幀從數據幀和緩存以上
  3. 選擇子集的數據。

我面臨的問題是,當火花到達第2步時,它似乎觸發了操作,因此讀取輸入數據並創建數據幀。

但是當我到達第3步,因爲它實現了一個緩存觸發動作來實現DF,它再次讀取輸入數據,因此浪費了兩次讀輸入數據的時間。

我不想緩存輸入數據。

如何避免兩次讀取輸入數據?

回答

0

一種替代方法是在sqlcontext.read.json()之後保存讀取的數據幀並讀回,然後爲後續進程執行緩存。

你可以做dataframe checkpointing或將它保存到HDFS來實現。

這將消除輸入序列文件的多次讀取

相關問題