【问题标题】:CQL: formatting output for "describe"?CQL:“描述”的格式化输出?
【发布时间】:2017-04-12 16:29:01
【问题描述】:

我正在尝试编写一些脚本来自动化 Scylla(Cassandra 的一个端口)中的一些繁重的工作,并且对 CQL 不太了解。有没有办法获得“描述键空间”?每行输出一个键空间而不是列式列表?同样,“describe tables;”也可以这样吗?

【问题讨论】:

  • 为什么需要一行?
  • 代码简洁;如果我的脚本可以使 cqlsh 吐出格式良好的数据,它可以直接迭代,那么我不必在处理之前调用 sed/awk/etc。但是,我刚刚发现 bash 仍然可以智能地将“正常”输出解释为可迭代列表,因此这对于我的目的并不是特别必要。
  • 驱动程序元数据上的 to 字符串将提供它。谁知道这是否适用于 scylla

标签: cassandra formatting cql scylla


【解决方案1】:

备份keyspace names,例如:

$ cqlsh <host> -u <username> -p <passwod> -e "DESC KEYSPACES" > keyspace_name_list.cql

您在keyspace_name_list.cql 中的备份将如下所示-

abc def ghi jkl
mno pqr stu jhk
abd abf thi

然后写一个循环,一行一行地打印keyspace names。例如[python]:

file = open("keyspace_name_list.cql","r")
for line in file:
    for keyspace_name in line.split():        
        print keyspace_name

它将print你的keyspace names一个接一个地排成一行,看起来像-

abc 
def
ghi
jkl
mno 
pqr 
stu 
jhk
abd
abf
thi

注意:如果需要,您可以将每个 print 附加到不同的文件中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-16
    • 2011-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-21
    相关资源
    最近更新 更多