如何在Cassandra中存储小文件?

时间:2012-02-09 21:39:42

标签: file cassandra hector

我在目录中存储了几千个单独的html文件,每个文件最多只有几KB。

我想将它们存储在Cassandra的单个节点中,我将如何以编程方式使用Hector?我使用什么API来设置columnFamily来处理静态文件以及我应该如何设置架构?谢谢!

2 个答案:

答案 0 :(得分:4)

  

我想将它们存储在Cassandra的单个节点中,我该怎么办?   关于用Hector以编程方式进行的操作?

您需要在cassandra中创建一个键空间。您可以使用带有命令create keyspace的cassandra-cli或使用hector方法addKeyspace()在集群节点中创建它。

  

我使用哪些API来设置columnFamily来处理静态文件   我应该如何设置架构?

您可以使用BasicColumnDefinition在cassandra中创建列族。查看示例代码here,了解如何在键空间中添加列族。您可能会有一个名为html_doc的列系列,其列名为html文件名,值类型为AsciiType或UTF8Type(或默认的BytesType)。需要以标准java方式读取html文档,您可以看到如何为列插入值 here

答案 1 :(得分:1)

如果您的文件每个只有几K,那么可以轻松地进入一列 请参阅入门指南:Getting started with Hector

  • 设置一次密钥空间/列族。
  • 将文件读入字符串或字节数组。
  • 使用ColumnFamilyUpdater将文件写入列(可能是“FileBody”作为列名?),使用文件名作为键。
  • 对每个文件重复。