我需要将couchbase数据迁移到HDFS,但db和Hadoop集群彼此无法访问。所以我不能以推荐的方式使用sqoop。有没有办法使用sqoop将couchbase数据导入本地文件(而不是HDFS)。如果可以,我可以这样做,然后使用ftp传输本地文件,然后再次使用sqoop将它们传输到HDFS。
如果这是一个糟糕的解决方案,那么还有其他方法可以传输本地文件中的所有cb数据。在这个cb集群上创建视图是一项艰巨的任务,我想避免使用它。
答案 0 :(得分:0)
替代解决方案(可能不那么优雅,但它有效):
答案 1 :(得分:0)
您可以使用Couchbase安装附带的cbbackup实用程序将所有数据导出到备份文件。默认情况下,备份实际上以SQLite格式存储,因此您可以将它们移动到Hadoop集群,然后使用任何JDBC SQLite驱动程序使用Sqoop单独从每个* .cbb文件导入数据。我实际上刚刚写了一篇blog,你可以看一下。
为了帮助您入门,这里有许多JDBC SQLite drivers。
答案 2 :(得分:0)
您可以使用couchbase kafka适配器将数据从couchbase传输到kafka,并从kafka传输,您可以存储在任何您喜欢的文件系统中。 CouchbaseKafka适配器使用TAP协议将数据推送到kafka。