Mur*_*ali 3 export resultset google-cloud-platform google-cloud-spanner
我是 google spanner 的新手,我运行了一个查询并发现了大约 50k 行数据。我想将该结果集导出到本地计算机(例如 .csv)或 Google 工作表中。以前我使用过 TOAD,其中有一个导出按钮,但在这里我没有看到任何这些选项。有什么建议请。
该gcloud spanner databases execute-sql命令允许您在命令行上运行 SQL 语句并将输出重定向到文件。全局参数--format=csv应以 CSV 格式输出。
https://cloud.google.com/spanner/docs/gcloud-spanner https://cloud.google.com/sdk/gcloud/reference/
不幸的是,由于数据在引擎盖下的布局方式(数组而不是地图)gcloud spanner databases execute-sql不太兼容。--format=csv它不太漂亮,但这是有效的:
SQL_STRING='select * from your_table'
gcloud spanner databases execute-sql [YOURDB] --instance [YOURINSTANCE] \
--sql=SQL_STRING --format json > data.json
jq '.metadata.rowType.fields[].name' data.json | tr '\n' ', ' > data.csv
echo "" >> data.csv
jq '.rows[] | @csv' data.json >> data.csv
Run Code Online (Sandbox Code Playgroud)
这会将 json 形式的查询转储到 data.json,然后将列名称写入 CSV,然后是换行符,最后是行内容。作为奖励,jq 默认安装在 cloudshell 上,因此不应携带任何额外的依赖项。
| 归档时间: |
|
| 查看次数: |
7743 次 |
| 最近记录: |