如何使用Python或其他语言将数据从cassandra导出到Json文件?

时间:2017-08-10 07:35:00

标签: python json cassandra cqlsh

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

4 个答案:

答案 0 :(得分:1)

您只需在json之后添加select即可获得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

答案 1 :(得分:1)

DataStax现在提供可以与DSE和Cassandra一起使用的tool called DSBulk,并且经过了充分优化,可以将数据加载到DSE / Cassandra和从中卸载数据。它还支持以JSON格式输出,如下所示:

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

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

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