2013-05-01 38 views
3

我正在嘗試使用cassandra作爲後端存儲來構建數據服務層。我是Cassandra的新手,不確定cassandra使用什麼客戶端 - thrift或cql 3?我們有很多mapreduce作業使用亞馬遜彈性mapreduce(EMR),它將以大批量從cassandra讀取/寫入數據。在Cassandra中總數據量將超過100 TB,數十億行。 mapreduce作業可能會讀取或寫入較高的qps(> 1000 qps)。要求如下:什麼cassandra客戶端用於haoop集成?

我找不到那回答這個問題的信息任何權威來源。感謝你能幫助解決這個問題,因爲我確信這對大多數人來說是一個普遍問題,並且會使整個社區受益。

非常感謝提前。

-Prateek

+0

首先忘記節儉,其卡桑德拉的基礎API的,嘗試一些封裝API的,簡單的代碼。 (原生CQL驅動程序,Astyanax,Hector,Pelops)。所有都是基於Java的 – abhi 2013-05-02 06:48:53

回答

1

Hadoop和Cassandra的都是用Java編寫的所以肯定挑一個基於Java的驅動程序。至於簡單的代碼去,我會去Astyanax,他們的維基頁面是非常好的,文件是全面的堅實。是的,atyanax確實允許您在運行時定義列,但請注意基於節儉的API正在被cql apis所取代。

如果你想要走下純粹的cql3路線,我建議你使用datastax's驅動程序。它允許異步連接並不斷更新(view the logs)。代碼也非常乾淨,儘管文檔還沒有那麼完備,但是你可以看看源代碼中的測試。

不過說實話,大約有,你應該閱讀,雖然它們並形成了自己的意見的API這麼多的問題:

也爲了表現這裏的一些基準測試(他們是過時的!),顯示cql正在趕上(並且在我有點超車時牛逼來準備的語句)節儉: