问题标签 [bq]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
313 浏览

python-3.x - 预期类型'_SpecialForm [str]',改为'str'

我正在尝试创建 BQ 表架构,如本页所示

但是我得到了所有的编译错误mode="REQUIRED"

除了 bq 模块,我没有看到任何特殊的导入。

编码:

顺便说一句,python BQ 库是否允许创建没有模式的表(就像 Java 一样?)。如果是这样 - 类型如何隐含为"TIMESTAMP"而不是"STRING"

0 投票
1 回答
55 浏览

python-3.x - 已经在 Pycharm 终端中设置后,我仍然得到: Please set GOOGLE_APPLICATION_CREDENTIALS

我正在尝试创建一个 bq 客户端 python。

我创建了 GCP json 密钥并将其导出到GOOGLE_APPLICATION_CREDENTIALS.

我尝试在 PyCharm IDE 中运行以下命令:

导出 GOOGLE_APPLICATION_CREDENTIALS="/home/.....7e7a385.json" echo $GOOGLE_APPLICATION_CREDENTIALS /home/...7e7a385.json GOOGLE_APPLICATION_CREDENTIALS="/home/....7e7a385.json"

(按照这篇文章https://stackoverflow.com/a/67224391/311130

之后我仍然收到此错误:

0 投票
1 回答
41 浏览

sql - 更新 BQ 表中 5K 行的高效语法

我正在尝试使用 python 客户端更新 bq 中的 ~5K 行。

这是我目前的尝试:

如何将 映射account id list到如下看起来更有效的字符串(?)

UPDATE mytable SET somefield=( CASE WHEN (id=100) THEN 'some value removed' WHEN (id=101) THEN 'some value removed' END ) WHERE id IN (100,101);

我试过了:

另外 bq 自动时间戳是否会在更新时起作用(在插入时适用于我)。

仅删除具有这些 ID 的所有行并以新状态重新插入是否更好?

0 投票
1 回答
48 浏览

sql - Python 构造 CASE WHEN 更新 SQL 语句

我尝试更新 BQ 中的 2K 行

我收到这个错误。我知道这太模糊了,不可能像这样调试。

timeout=300.0, headers={'X-Server-Timeout': '300.0', 'Accept-Encoding': 'gzip', 'Content-Type': 'application/json', 'X-Goog-API-Client' :'gl-python/3.8.10 grpc/1.39.0 gax/2.0.0 gapic/2.26.0 gccl/2.26.0','用户代理':'gl-python/3.8.10 grpc/1.39.0 gax/2.0.0 gapic/2.26.0 gccl/2.26.0'})),最后一个例外:('连接中止。',RemoteDisconnected('远程结束关闭连接没有响应'))

我正在尝试消除错误。我的 BQ 更新在语法上是否正确?

BQ 更新超时是多少?

0 投票
2 回答
57 浏览

google-cloud-platform - 代码无法使用 DML 更新 BQ 上的表,但使用 RPC 插入和删除成功

我写了一些代码,使用服务帐户在 google-cloud 上写入 BQ。

一件很奇怪的事情是,只有使用 DML 的“更新”操作才会失败。(其他插入、删除RPC调用成功)。

我收到此错误仅用于更新:

User does not have bigquery.jobs.create permission in project ABC.

0 投票
0 回答
37 浏览

sql - 删除BQ中没有rowId但只有ts的旧重复行

我有一个 BQ 表,其中包含相同 ad_id 的重复(x2 次)行。

我想删除 ts > 120 min 的旧行,其中有一个具有相同 ad_id 的新行(架构包含timestamp, ad_id, value. But there is not rowId)。

这是我的尝试,有更好的方法吗?

0 投票
1 回答
139 浏览

sql - 根据时间戳删除 BQ 中的旧重复行

我有一个 BQ 表,其中包含相同 ad_id 的重复(x2 次)行。

我想删除 ts > 120 min 的旧行,其中有一个具有相同 ad_id 的新行(架构包含timestamp, ad_id, value. But there is not rowId)。

这是我的尝试,有更好的方法吗?

数据示例:

我想把它清理成:

我看到了这篇文章,但是 BQ 不支持row-id.

我看到了这个帖子。但是如何在没有 ts 间隔的情况下修改它(因为它是未知的)。

0 投票
1 回答
131 浏览

python - 将事件流式传输到大查询 - 数据流 - 将 **epoch 时间戳** (int) 插入时间戳列的最佳方式

我正在尝试使用数据流 Apache Beam(python)将流中的事件写入 Big Query 表,但时间戳格式存在问题。

我有一个带有纪元时间戳(int)值的事件(json),我想将它插入到带有时间戳列的 BIG QUERY 表中。

最好的方法是什么?我可以在不解析每个事件的情况下做到这一点吗?我可以声明收到的时间戳的格式吗?

例如 :

进入表:

0 投票
0 回答
11 浏览

sql - 我们可以使用“bg”来获取谷歌云存储桶中两个 CSV 的更改 n 数据以进行优化吗?

cat compare_data_gse_query.sql | bq 查询 --use_legacy_sql=False

(1) 普惠制成本优化。许多 SQL 查询确实需要更改。(2)如何比较GSC中的CSV数据(今天|昨天)变化 - Google Storage

(3) 避免使用 SQL *。'bq' CLI 中是否有任何实用程序可以处理?

0 投票
0 回答
41 浏览

google-bigquery - BQ 脚本在作曲家中失败

我正在尝试使用 bigquery.Client 运行一个 bq 脚本,但出现以下错误,

语法错误:预期输入结束,但得到字符串文字

在此处输入图像描述