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

问题描述 投票:0回答:5

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

python json cassandra cqlsh
5个回答
4
投票

您只需在

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


2
投票

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

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



0
投票
我同样需要将 cassandra 表导出为 JSON,并为其构建了一个

命令行工具


0
投票
    通过将
  1. cqlsh
     放在 
    json
     之后,以 JSON 形式获取 
    select
     输出。我使用了安装了 
    cqlsh
     的容器,但如果您本地安装了 
    cqlsh
    ,那么您可以使用它。
  2. 使用
  3. grep
     仅获取包含 JSON 的行。
  4. 用 jq 将其放入对象数组中。
  5. 将其发送到文件。
cqlsh_output="$(container run --rm cassandra:5 -- /opt/cassandra/bin/cqlsh db -e 'use my_keyspace; select JSON id, my_column from my_table')" echo "${cqlsh_output}" \ | grep '{' \ | jq --slurp -M '.' \ >./my_table.json
    
© www.soinside.com 2019 - 2024. All rights reserved.