有没有办法将 cassandra 数据公开为 HDFS,然后在 HDFS 上执行 Shark/Hive 查询?
如果是,请提供一些将 cassandra db 转换为 HDFS 的链接。
有没有办法将 cassandra 数据公开为 HDFS,然后在 HDFS 上执行 Shark/Hive 查询?
如果是,请提供一些将 cassandra db 转换为 HDFS 的链接。
三个 cassandra 蜂巢存储
https://github.com/2013Commons/hive-cassandra用于 2.0 和 hadoop 2
https://github.com/dvasilen/Hive-Cassandra/tree/HIVE-0.11.0-HADOOP-2.0.0-CASSANDRA-1.2.9
https://github.com/richardalow/cassowary直接来自 sstable
在 Hive 中访问 Cassandra 数据的典型方法是使用 CqlStorageHandler。详细信息请参阅对 Cassandra CQL3 的 Hive 支持。
但是,如果您有某些理由直接访问数据,请查看Cassowary。它是“直接读取 SSTables 的 Cassandra 和 Shark 的 Hive 存储处理程序。这允许完全控制用于运行临时查询的资源,从而控制对实时 Cassandra 性能的影响。”
您可以使用 Tuplejump Calliope 项目。 https://github.com/tuplejump/calliope
使用 TumpleJump 代码中提供的存储处理程序在 Shark(如 Hive)中配置外部 Cassandra 表。
一切顺利!
您可以编写身份 MapReduce 代码,该代码从 CFS(cassandra 文件系统)获取输入并将数据转储到 HDFS。
在 HDFS 中拥有数据后,您可以映射配置单元表并运行查询。
我认为您正在尝试针对 Cassandra 中已经存在的数据运行 Hive/Shark。如果是这种情况,那么您不需要将其作为 HDFS 访问,但您需要一个配置单元处理程序来针对 Cassandra 使用它。
为此,您可以使用Tuplejump 的项目,CASH自述文件提供了有关如何构建和使用它的说明。如果你想把你的“大文件”放在 Cassandra 中并查询它们,就像你从 HDFS 做的那样,你将需要一个在 Cassandra 上运行的文件系统,比如DSE 中的 DataStax 的CFS,或 Tuplejump 的 SnackFS(出现在Calliope 项目早期访问中回购)
免责声明:我在 Tuplejump, Inc. 工作。