【问题标题】:How to export data from cassandra to Json file using Python or other language?如何使用 Python 或其他语言将数据从 cassandra 导出到 Json 文件?
【发布时间】:2018-01-18 07:47:23
【问题描述】:

我想将数据从 Cassandra 导出到 Json 文件,因为 Pentaho 不支持我的 Cassandra 3.10 版本

【问题讨论】:

  • Cassandra 有 jdbc 驱动,所以 Pentaho 可以把 Cassandra 当作典型的 SQL 数据库。我们在其中一个项目中使用了 Pentaho+Cassandra,但我不确定 Cassandra 的版本。

标签: python json cassandra cqlsh


【解决方案1】:

您只需在select 之后添加json 即可获得json 格式的结果:

cqlsh:cycling> select json name, checkin_id, timestamp from checkin;
 [json]
------------------------------------------------------------------------------------------------------------------
 {"name": "BRAND", "checkin_id": "50554d6e-29bb-11e5-b345-feff8194dc9f", "timestamp": "2016-08-28 21:45:10.406Z"}
  {"name": "VOSS", "checkin_id": "50554d6e-29bb-11e5-b345-feff819cdc9f", "timestamp": "2016-08-28 21:44:04.113Z"}
(2 rows)

取自https://docs.datastax.com/en/cql/3.3/cql/cql_using/useQueryJSON.html

【讨论】:

  • 但是我想要json文件不只是json格式,我怎么能保存这个json?
【解决方案2】:

DataStax 现在提供可与 DSE 和 Cassandra 一起使用的 tool called DSBulk,并且已针对 DSE/Cassandra 加载和卸载数据进行了高度优化。它也支持以 JSON 格式输出,如下所示:

dsbulk unload -k keyspace -t table -url out_dir -c json

更多卸载数据的例子,可以在this blog post找到,这是DSBulk系列博文的一部分。例如,您可以指定要卸载表的哪些列等。

【讨论】:

    【解决方案3】:

    我同样需要将 cassandra 表导出为 JSON,并为它构建了一个 command line tool

    【讨论】:

      【解决方案4】:

      您可以使用 bash 重定向来获取 json 文件。

      cqlsh -e "select JSON * from ${keyspace}.${table}" | awk 'NR>3 {print $0}' | head -n -2 > table.json

      【讨论】:

        猜你喜欢
        • 2019-10-18
        • 1970-01-01
        • 2019-10-25
        • 1970-01-01
        • 2015-09-01
        • 2021-10-01
        • 2016-11-27
        • 1970-01-01
        • 2022-10-20
        相关资源
        最近更新 更多