【问题标题】:Data preparation to upload into Redis server准备上传到 Redis 服务器的数据
【发布时间】:2017-09-16 15:25:08
【问题描述】:

我有一个 10GB 的 .xml 文件,我想使用 mass insert 将其上传到 redis 服务器。我需要有关如何将此 .xml 数据转换为 redis 支持的某个键、值或任何其他数据结构的建议?我正在处理流转储堆栈,例如,如果我使用 cmets.xml。

数据模式: row Id="5" PostId="5" Score="9" Text="这是一个超级理论的人工智能问题。一个有趣的讨论!但不合适......" CreationDate="2014-05-14T00:23: 15.437" 用户 ID="34"

假设我想检索由特定用户 ID 或特定日期创建的所有 cmets,我该怎么做?

首先,

  1. 如何将此 .xml 日期准备为适合 Redis 的数据结构。

  2. 如何将其上传到 Redis。我在 Windows 上使用 Redis。命令 pipe 和 cat 似乎不起作用。我已经厌倦了使用 centos,但我更喜欢在 Windows 上使用 Redis。

【问题讨论】:

  • 您能否在问题本身中向我们提供示例数据行?
  • 我正在使用堆栈溢出的数据转储。

标签: redis bigdata


【解决方案1】:

在选择合适的数据结构之前,您需要了解您将进行什么类型的查询。例如,如果您有特定于用户的数据,并且您需要对每个用户的不同用户活动进行分组并汇总结果,则您需要使用不同的结构、构建索引、将数据拆分成块等等。

相对于大量聚合数据(45GB),我发现 ZRANGE 可用的 SortedSets,因为它比 LRANGE 具有更好的复杂性。您可以根据数据大小将数据分成块,并在线程中单独处理每个 ZRANGE,然后合并结果。

在该结构之上,您可以使用 LISTS 添加索引,您只需为相对少量的数据迭代数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-04
    • 2015-07-11
    • 1970-01-01
    • 2011-06-15
    • 1970-01-01
    • 2021-03-05
    • 2012-11-01
    相关资源
    最近更新 更多