Couchbase到本地文件导出

时间:2015-05-12 17:32:13

标签: couchbase sqoop2 sqoop

我需要将couchbase数据迁移到HDFS,但db和Hadoop集群彼此无法访问。所以我不能以推荐的方式使用sqoop。有没有办法使用sqoop将couchbase数据导入本地文件(而不是HDFS)。如果可以,我可以这样做,然后使用ftp传输本地文件,然后再次使用sqoop将它们传输到HDFS。

如果这是一个糟糕的解决方案,那么还有其他方法可以传输本地文件中的所有cb数据。在这个cb集群上创建视图是一项艰巨的任务,我想避免使用它。

3 个答案:

答案 0 :(得分:0)

替代解决方案(可能不那么优雅,但它有效):

  1. 使用Couchbase备份实用程序:cbbackup并在本地保存所有数据。
  2. 将备份文件传输到HDFS可访问的网络主机。
  3. 在可以访问HDFS的网段中安装Couchbase,并使用Couchbase从备份过程恢复来填充该实例。
  4. 对可访问HDFS的Couchbase实例使用Scoop(以推荐方式)。

答案 1 :(得分:0)

您可以使用Couchbase安装附带的cbbackup实用程序将所有数据导出到备份文件。默认情况下,备份实际上以SQLite格式存储,因此您可以将它们移动到Hadoop集群,然后使用任何JDBC SQLite驱动程序使用Sqoop单独从每个* .cbb文件导入数据。我实际上刚刚写了一篇blog,你可以看一下。

为了帮助您入门,这里有许多JDBC SQLite drivers

答案 2 :(得分:0)

您可以使用couchbase kafka适配器将数据从couchbase传输到kafka,并从kafka传输,您可以存储在任何您喜欢的文件系统中。 CouchbaseKafka适配器使用TAP协议将数据推送到kafka。

https://github.com/paypal/couchbasekafka