sbt
cassandra
spark-cassandra-connector
将存在于json檔案中的資料導入到cassandra資料庫,目前由cassandra提供的官方工具是json2sstable,由于對cassandra本身了解不多,這個我還沒有嘗試成功。
但想到spark sql中可以讀取json檔案,而spark-cassadra-connector又提供了将rdd存入到資料庫的功能,我想是否可以将兩者結合一下。
為了減少複雜性,繼續使用實戰3中的keyspace和table,
與實戰3中描述一緻。
以spark自帶的person.json檔案為例,内容如下所示
假設person.json檔案存儲在$spark_home目錄,在啟動spark-shell之後,執行如下語句
注意:
jsonfile傳回的是jsonrdd,其中每一個成員是row類型,并不行直接将savetocassandra作用于jsonrdd,需要先作一步轉換即map過程
map中使用到的getxxx函數是在事先已知資料類型的情況下取出其值
最後savetocassandra觸發資料的存儲過程
另外一個地方值得記錄一下,如果在cassandra中建立的表使用了uuid作為primary key,在scala中使用如下函數來生成uuid
使用cqlsh來檢視資料是否已經真正的寫入到test.kv表中。
本次實驗結合了以下知識:
本文簡要介紹如何使用spark-cassandra-connector将json檔案導入到cassandra資料庫,這是一個使用spark的綜合性示例。
假設已經閱讀技術實戰之3,并安裝了如下軟體
jdk
scala
spark sql
spark rdd的轉換函數
根據論壇上的資訊,在sparkrelease計劃中,在spark 1.3中有将sparkr納入到發行版的可能。本文就提前展示一下如何安裝及使用sparkr.
sparkr的出現解決了r語言中無法級聯擴充的難題,同時也極大的豐富了spark在機器學習方面能夠使用的lib庫。sparkr和spark mllib将共同建構出spark在機器學習方面的優勢地位。
使用sparkr能讓使用者同時使用spark rdd提供的豐富api,也可以調用r語言中豐富的lib庫。
先決條件:
已經安裝好openjdk 7
安裝好了r
<b>安裝步驟:</b>
<b>步驟1</b>: 運作r shell
<b>步驟2</b>:在r shell中安裝rjava
<b>步驟3</b>: 在r shell中安裝devtools
<b>步驟4</b>: 安裝好rjava及devtools,接下來安裝sparkr
安裝完sparkr之後,可以用wordcount來檢驗安裝正确與否。
步驟1:在r shell中加載sparkr
步驟2:初始化sparkcontext及執行wordcount
如果想将sparkr運作于叢集環境中,隻需要将master=local,換成spark叢集的監聽位址即可
時間匆忙,還有兩件事情沒有來得及細細分析。
sparkr的代碼實作
如果很好的将r中支援的資料挖掘算法與spark并行化處理能力很好的結合