代码之家  ›  专栏  ›  技术社区  ›  Bruno Bronosky

我怎么能在不知道我会找到什么的情况下询问卡桑德拉?

  •  0
  • Bruno Bronosky  · 技术社区  · 7 年前

    仅仅输入这个标题就让我怀疑自己是否处在一个维度中,在这个维度中,我对数据库的所有了解都是错误的。

    CREATE TABLE stream (
      source_id uuid,
      yyyymmdd int,
      event_type text,
      time timestamp,
      data text,
      PRIMARY KEY ((source_id, yyyymmdd, event_type), time)
    )
    

    我知道里面可能有什么 yyyymmdd 但是对于其他的分区键,我没有。如果不知道source_id和event_type的可能值是什么,我就无法查询它。我最终想知道的是:

    什么是最古老的 最新的 出生年月日 在数据库里?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Horia    7 年前

    在cqlsh中,转到您的键空间( use <keyspace_name> )然后跑

    copy stream(yyyymmdd) to 'stream-yyyymmdd.csv' with NUMPROCESSES = 1 and MAXREQUESTS = 1;
    

    或者,如果不想运行,请在copy命令中的表名前面加上keyspace_name(<keyspace_name>.stream) 使用键空间名称; .

    here . NUMPROCESSES是工作进程数。最大值为16。默认值:-1。MAXREQUESTS是每个工作进程可以并行处理的最大请求数。默认值:6。

    然后进行排序并提取第一行和最后一行

    sort -n -o stream-yyyymmdd-sorted.csv stream-yyyymmdd.csv
    head -1 stream-yyyymmdd-sorted.csv
    tail -1 stream-yyyymmdd-sorted.csv
    

    高温高压