我想将数据从Cassandra导出到Json文件,因为Pentaho不支持我的Cassandra 3.10版本
答案 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