我需要將couchbase數據遷移到HDFS,但db和Hadoop集羣不能彼此訪問。所以我不能以推薦的方式使用sqoop。有沒有辦法使用sqoop將couchbase數據導入本地文件(而不是HDFS)。如果可以,我可以這樣做,然後使用ftp傳輸本地文件,然後再次使用sqoop將它們傳輸到HDFS。Couchbase到本地文件導出
如果這是一個不好的解決方案,那麼是否有任何其他方式我可以在本地文件中傳輸所有的cb數據。在這個cb集羣上創建視圖是一項艱鉅的任務,我想避免使用它。
我需要將couchbase數據遷移到HDFS,但db和Hadoop集羣不能彼此訪問。所以我不能以推薦的方式使用sqoop。有沒有辦法使用sqoop將couchbase數據導入本地文件(而不是HDFS)。如果可以,我可以這樣做,然後使用ftp傳輸本地文件,然後再次使用sqoop將它們傳輸到HDFS。Couchbase到本地文件導出
如果這是一個不好的解決方案,那麼是否有任何其他方式我可以在本地文件中傳輸所有的cb數據。在這個cb集羣上創建視圖是一項艱鉅的任務,我想避免使用它。
替代解決方案(也許不是優雅,但它的工作原理):
您可以使用隨Couchbase安裝附帶的cbbackup實用程序將所有數據導出到備份文件。默認情況下,備份實際上是以SQLite格式存儲的,所以您可以將它們移動到Hadoop集羣,然後使用任何JDBC SQLite驅動程序分別使用Sqoop從每個* .cbb文件導入數據。我實際上寫了一個關於這個的blog,你可以看看。
爲了讓你開始,這裏有很多JDBC SQLite drivers在那裏。
您可以使用couchbase kafka適配器將數據從couchbase傳輸到kafka,也可以從kafka傳輸,您可以將其存儲在任何您喜歡的文件系統中。 CouchbaseKafka適配器使用TAP協議將數據推送到kafka。
這似乎是一個非常可行的解決方案:)感謝提示。一個問題 ; cbbackup如何照顧副本?換句話說,如果我們從所有節點中取出cbbackup,它是否會包含相同數據的多個副本,或者它會在內部計算出來? – user3385957
不,cbbackup僅導出活動數據並忽略副本。 –