【问题标题】:Cassandra SSTables generation memory consumption / available compression?Cassandra SSTables 生成内存消耗/可用压缩?
【发布时间】:2013-05-16 02:49:41
【问题描述】:

我正在使用 DataStax 网站上提供的批量加载示例生成 Cassandra SSTable。 http://www.datastax.com/dev/blog/bulk-loading

我的问题是 SSTable 文件理想地消耗了多少磁盘空间?就我而言,我的数据 CSV 文件为 40 GB,SStables 为这个特定文件消耗的总磁盘空间约为 250GB。创建这些表时我缺少什么吗?是否有任何可用于生成 sstables 的压缩选项?

我使用 sstableloader 加载 sstables 的第二步工作正常,数据可用于在 CQL 中查询。

另外,我想知道除了我上面提到的bulkload方法之外,是否还有其他技术可以将大数据导入cassandra。

【问题讨论】:

    标签: cassandra bulk-load


    【解决方案1】:

    首先检查是否启用了压缩。如何检查?

    如果 sstable 被压缩,它将有一个 CompressionInfo.db 组件(即组成 sstable 的文件之一,以 --压缩信息.db)。如果没有这样的文件,那么它不是 压缩。

    更多压缩相关信息,check this

    转到最后一个问题,还有其他替代批量加载方法的方法,请使用 COPY 命令。见documentation

    【讨论】:

    • 谢谢阿比。我了解在创建列族期间可以指定的压缩参数;但这会影响我使用 Cassandra IO API 生成 SStables 的方式吗?生成 sstable 所需的唯一参数是键空间和列族名称。另外,我之前尝试过 COPY 命令,但它要求 CSV 具有引用的结构,例如“aa”、“bb”……你能分享一下你在 Cassandra 中加载数据时使用的技术吗?
    • 是的,它肯定会起作用。试试这个,不,除了这两个之外没有其他加载机制。
    • @amey 我不使用批量加载作业。我更喜欢手动操作,使用线程,因为我必须维护很多计数器列。
    • 那么您是否使用 Hector/Astyanax 进行批量插入?性能如何,从某种意义上说,10GB 数据需要多长时间?
    • 取决于系统规范,在我的情况下,我最多可以写 2000 条记录/核心/秒,因为我的记录非常复杂。现在您可以想象加载 10 GB 数据的确切时间
    猜你喜欢
    • 2021-12-28
    • 2012-02-13
    • 2015-04-10
    • 1970-01-01
    • 2014-10-01
    • 1970-01-01
    • 2020-07-22
    • 2021-12-13
    • 2013-07-09
    相关资源
    最近更新 更多