gpt4 book ai didi

mysql - 将 BQ 查询的输出分配给变量

转载 作者:行者123 更新时间:2023-11-29 05:07:29 25 4
gpt4 key购买 nike

我正在尝试在 BigQuery 中查询分区的总数并将结果存储在 mysql 表中。我这样做是为了监控目的。

#!/bin/sh
query1="bq query --format=csv 'SELECT COUNT(1) as Count FROM [dataset.tablename] WHERE _PARTITIONTIME = TIMESTAMP(\"$date\")'"
eval result=\$\($query1\)
echo "$result"

bq_insertquery="insert into <<table>>(<<column>>) values(${result})"
echo $bq_insertquery | mysql -u root -p <<dbname>>

在 mysql 表中插入时出现错误。这可能是因为变量 $result 包括 header 和值,即

变量 $result 保存:带有标题的值

如果我只获取值,看起来 myquery 将能够插入数据。我应该如何只为 shell 变量赋值,然后再使用它?

编辑:任何 sql 输出都包含 column_name 和值。我分配用于存储来自 BigQuery 的值的变量也包含两者,即 column_name 和 value。我正在寻找有助于提取值(value)的东西。

最佳答案

只需添加 --quiet 标志(在作业运行时忽略状态更新),并将其通过管道传输到 awk:

query1="bq query --quiet --format=csv 'SELECT COUNT(1) as Count FROM [dataset.tablename] WHERE _PARTITIONTIME = TIMESTAMP(\"$date\")' | awk '{if(NR>1)print}'"

enter image description here

关于mysql - 将 BQ 查询的输出分配给变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45351830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com