有没有办法将cassandra数据暴露为HDFS,然后在HDFS上执行shark / Hive查询?
如果是,请提供一些链接将cassandra db转换为HDFS。
答案 0 :(得分:0)
您可以编写身份MapReduce代码,该代码从CFS(cassandra文件系统)获取输入并将数据转储到HDFS。
在HDFS中获得数据后,您可以映射配置单元表并运行查询。
答案 1 :(得分:0)
在Hive中访问Cassandra数据的典型方法是使用CqlStorageHandler。 详细信息请参阅Hive Support for Cassandra CQL3。
但如果您有理由直接访问数据,请查看Cassowary。它是Cassandra和Shark的Hive存储处理程序,可直接读取SSTable。这样可以完全控制用于运行即席查询的资源,从而控制对实时Cassandra性能的影响。“
答案 2 :(得分:0)
我认为您正在尝试针对Cassandra中的数据运行Hive / Shark。如果是这种情况,那么您不需要将其作为HDFS访问,但是您需要一个hive-handler来对抗Cassandra。
为此,您可以使用Tuplejump's项目,CASH自述文件提供有关如何构建和使用它的说明。如果你想把你的“大文件”放在Cassandra中并查询它们,就像你从HDFS那样,你将需要一个在Cassandra上运行的文件系统,如DSE中存在的DataStax's CFS,或者Tuplejump的SnackFS(存在于Calliope Project早期访问回复)
免责声明:我为Tuplejump,Inc。工作。
答案 3 :(得分:0)
您可以使用Tuplejump Calliope项目。 https://github.com/tuplejump/calliope
使用TumpleJump代码中提供的存储处理程序在Shark(如Hive)中配置外部Cassandra表。
一切顺利!
答案 4 :(得分:0)
三个cassandra hive存储
https://github.com/2013Commons/hive-cassandra for 2.0 and 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