是否有可能從本地HDFS(可以說是192.168.0.10)遷移/複製/複製/移動已處理文件(使用PIG)到cassandra(192.168.0.20)?HDFS到Cassandra
我腦子裏想的是,我從字面上創建了一個java應用程序來解析文件並將它們重新插入到cassandra中。
有沒有其他辦法呢?
非常感謝!
是否有可能從本地HDFS(可以說是192.168.0.10)遷移/複製/複製/移動已處理文件(使用PIG)到cassandra(192.168.0.20)?HDFS到Cassandra
我腦子裏想的是,我從字面上創建了一個java應用程序來解析文件並將它們重新插入到cassandra中。
有沒有其他辦法呢?
非常感謝!
編寫一個Java程序將Hadoop數據遷移到Cassandra表中實際上是一種矯枉過正。如果你偶爾執行相同的操作,情況會變得更糟。
相反,我們可以利用Hive的一個非常有用的功能,它可以幫助我們將Hive表與外部數據源集成在一起。它存儲處理器API蜂巢,這與像卡桑德拉/甲骨文/ MySQL的等
已經有一個Hive-Cassandra Storage Handler API
實現可用,我們可以很好地重用外部數據源的集成,請找到下面的網址相同。
https://github.com/tuplejump/cash/tree/master/cassandra-handler
的想法是創建,其被配置與關於遠程卡桑德拉主機/表的信息存儲處理機規格蜂巢外部表。
對此外部表執行的任何寫入/讀取都將由Hive通過與Cassandra進行會話的mapreduce作業處理。
我希望這是整合Hive和Cassandra的理想方式,它只需要我們很少的努力,而且效率也很高。
希望這會有所幫助。
有幾種方法可以將數據從Hadoop移動到Cassandra。
總之豬是更容易的方式從HDFS加載數據到卡桑德拉。 豬有一種名爲CassandraStorage的存儲類型。它允許我們將數據並行加載到Cassandra中。
請訪問以下鏈接瞭解更多信息: https://wiki.apache.org/cassandra/HadoopSupport#Pig
謝謝納迦!我現在仍然試圖用豬來做這件事,但有這個錯誤1070:無法使用導入:[,org.apache.pig.builtin。,org.apache.pig.impl.builtin。]解決CassandraStorage。 – kenlz
歡迎@kenlz,您必須將此CassandraStorage jar添加到豬類路徑中。你能否檢查CassandraStorage是否可用於儲蓄? – Naga
我固定它通過註冊罐子豬,但我現在有這個錯誤錯誤2245:無法從loadFunc org.apache.cassandra.hadoop.pig.CqlNativeStorage獲取架構 似乎沒完沒了 – kenlz
謝謝你的分享!它絕對比編寫Java程序更好!我想我會用Pig cassandra擴展來解決,因爲大多數HDFS中的文件都來自豬。 – kenlz