对使用sqoop和hadoop连接器导入的couchbase数据运行查询

对使用sqoop和hadoop连接器导入的couchbase数据运行查询,hadoop,couchbase,sqoop,Hadoop,Couchbase,Sqoop,我使用sqoop和hadoop couchbase连接器将一些数据从couchbase导入hdfs 如中所述 couchbase不支持查询 我想要一个使用hadoop连接器运行查询的解决方案 对于ex: 我有2份db文件,如下所示: {'doctype':'a'} 及 {'doctype':'b'} 我只需要获取属于docType=a的文档 有什么方法可以做到这一点吗?如果你想从Couchbase中选择数据,你不需要hadoop连接器…你可以使用Couchbase视图来过滤doc.doctype

我使用sqoop和hadoop couchbase连接器将一些数据从couchbase导入hdfs

如中所述 couchbase不支持查询

我想要一个使用hadoop连接器运行查询的解决方案

对于ex: 我有2份db文件,如下所示:

{'doctype':'a'}

{'doctype':'b'}

我只需要获取属于docType=a的文档


有什么方法可以做到这一点吗?

如果你想从Couchbase中选择数据,你不需要hadoop连接器…你可以使用Couchbase视图来过滤doc.doctype=='a' 看

另一方面,我建议使用Couchbase的新功能。它是一种非常灵活的查询语言(类似于SQL),请参见联机


注意:如果您查看N1QL的兼容性以运行它的v2.2及更高版本,请参阅您将需要部署Couchbase N1QL查询服务器并指向现有的CB v2.2群集。请参阅:

针对上述需求为Sqoop建议另一种替代方案,称为“Couchdoop

Couchdoop使用视图从Couchbase获取数据。因此,我们可以根据需要编写查询,并使用Couchdoop访问视图并获取数据


为我工作。

您能澄清一下,“使用hadoop连接器运行查询”-您想从hdfs或couchbase中选择数据吗?我想从hdfs中选择数据。使用sqoop+couchbase hadoop连接器,bucket中的所有数据都显示在HDFS上。我只需要一些特定的数据。谢谢你的回答,但正如我在问题中所说的,我需要从couchbase获得满足某些条件的特定数据,这些数据必须使用hadoop连接器导入HDFS。Sqoop提供了“查询”选项,但这仅适用于RDBMS,不适用于couchbase。我需要一个相当于Couchbase的“查询”。我想没有。我们可能必须首先以文本格式从couchbase导入HDFS,然后运行PIG脚本或配置单元查询,并将结果放回数据库。如果我错了,请纠正我。现在你想做什么就更清楚了。尝试查看最新的Couchbase v3 N1QL()。它提供了查询功能,也许有计划将N1QL与Sqoop的查询框架集成在一起。看起来很自然,太好了。非常感谢。但我只能使用Couchbase V2.2。因此,我正在为我当前的需求编写PIG脚本。但不管怎样,知道这件事很好。太好了。如果您考虑N1QL运行的兼容性,它有v2.2及更高版本:您将需要部署Couchbase N1QL查询服务器,并指向现有的CB v2.2集群。请看:您是否可以添加您在N1QL上的上述发现作为答案。我可以接受它,它可以帮助其他面临上述疑问的人。