【问题标题】:How to store small files in Cassandra?如何在 Cassandra 中存储小文件?
【发布时间】:2012-03-02 10:00:40
【问题描述】:

我有几千个单独的 html 文件本地存储在一个目录中,每个文件最多几个 KBytes。

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

【问题讨论】:

    标签: file cassandra hector


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      我想将它们存储在 Cassandra 的单个节点中,我该怎么做 想用 Hector 以编程方式做这件事吗?

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

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

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

      【讨论】:

        猜你喜欢
        • 2012-05-25
        • 1970-01-01
        • 2017-08-24
        • 1970-01-01
        • 1970-01-01
        • 2015-05-25
        • 2019-06-04
        • 2022-12-01
        • 2012-11-16
        相关资源
        最近更新 更多