【问题标题】:formating gcloud spanner queries格式化 gcloud spanner 查询
【发布时间】:2021-11-11 22:36:30
【问题描述】:

直到最近,我的 gcloud spanner 查询在屏幕上很好地呈现为列,每个输出行代表查询中的一行。然而最近,由于某些未知原因,输出现在显示为在屏幕下方以单列显示的行数据:值对,例如

PKey: 9moVr4HmSy6GGIYJyVGu3A==

Ty: Pf

IsNode: Y

P: None

IX: X

我尝试了各种 --format 命令行选项,但可惜未能成功生成原始的每行输出格式,即在屏幕上显示的列如下所示

PKey                     Ty   IsNode   P   IX    <-- columns names

9moVr4HmSy6GGIYJyVGu3A== Pf    Y      None  X.  <--- row data

我应该使用什么格式选项?

gcloud 查询示例:

gcloud spanner databases execute-sql test-sdk-db --instance=test-instance --sql="Select * from Block "

谢谢

【问题讨论】:

  • 我刚刚对此进行了测试,默认情况下我的输出是类似表格的输出。您可以将gcloud --version 的输出添加到您的问题中吗?对于我的安装,我正在运行 Google Cloud SDK 360.0.0

标签: gcloud google-cloud-spanner


【解决方案1】:

gcloud 如果将结果写入文件,则将结果格式化为表格,否则通常使用formatting rules

因此,在 shell 中查看表格的一种简单方法是在某处 tee 它:

gcloud spanner databases execute-sql test-sdk-db --instance=test-instance --sql="Select * from Block " \
| tee /dev/null

如果由于某种原因你不能这样做,你总是可以通过一些--format 手术获得相同的结果。打印列名:

gcloud spanner databases execute-sql test-sdk-db --instance=test-instance --sql="Select * from Block " \
--format 'csv[no-heading, delimiter=" "](metadata.rowType.fields.name)'

并打印行:

gcloud spanner databases execute-sql test-sdk-db --instance=test-instance --sql="Select * from Block " \
--format 'csv[no-heading, delimiter="\n"](rows.map().flatten(separator=" "))'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-22
    • 1970-01-01
    相关资源
    最近更新 更多