问题标签 [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 回答
21 浏览

sum - BIGQUERY Sum Col1 基于 Col2 中的唯一条目和特定日期

我正在尝试根据特定日期对 BQ 中的 column1(invoice_value)求和,但我想避免 Column2(invoice_no)中的重复项。

到目前为止,我可以对 column1 求和,但我得到的总和包括 column2 中的几个重复项(invoice_no)

选择 SUM(invoices_value) 作为 INVOICES FROM my_data WHERE invoice_value 不为空且时间戳 >='2021-03-01' 且时间戳 <'2021-03-02'

帮助将不胜感激。

0 投票
0 回答
62 浏览

python - bigquery bq 工具查询换行无效标头值错误

目前正在尝试使用 bq 工具创建 Bigquery 视图,但似乎取决于我在查询中放置换行符的方式,它要么起作用,要么抛出 ValueError。

如果我执行:

它有效,但是如果我这样做:

我收到以下错误:

ValueError: Invalid header value b'/usr/bin/../lib/google-cloud-sdk/bin/bootstrapping/bq.py

这看起来很像系统中的错误,但是我很想知道是否有人知道解决方法?

0 投票
1 回答
84 浏览

google-bigquery - 用于扩展或增强 bq 命令行的 Google BigQuery bq 命令行 SDK

我有兴趣使用插件或包装器从 BigQuery 扩展 bq 命令行实用程序。挑战在于 Google 云存储 URI 会动态变化,我想确保在 bq 实用程序在预定时间运行之前处理好它。所以问题是基于python的工具bq是否有任何可以扩展其功能的SDK。

我到处梳理,但找不到任何有关它的信息。

太感谢了。

0 投票
1 回答
57 浏览

python-3.x - 在 Windows 上使用 bq load 和 python 子进程分隔的加载管道

我正在尝试使用 BQ LOAD 命令将表从 Google Cloud Storage 加载到 Bigquery。为此,我使用了一个使用 subprocess 库的 python 脚本。它工作正常,除了一个以竖线 (|) 作为分隔符的表。

我已经尝试了很多方法来避免这种情况,但没有任何好的结果。

如果我在 CMD (Windows) 中尝试这个,它可以工作:

但是如果我尝试在 python 中传递相同的参数,我会收到以下错误:

这是我正在使用的代码(在 Windows 中):

我怎样才能逃避或加载这个?谢谢!

0 投票
1 回答
135 浏览

google-cloud-platform - BigQuery 和 'bq load' - 使用 GMEK 覆盖某些表的默认数据集 CSEK

我在 Big Query 中有一个数据集,其中指定了默认的客户管理的加密密钥 (CMEK)。这是一项要求,并在默认情况下确保新表使用 CMEK 加密(除非特别豁免)。

我有一些数据要摄取到不需要 CMEK 的数据集中,而可以使用 Google 管理的加密密钥 (GMEK)。

主要原因是能够利用使用 CMEK 时不可用的功能,例如能够在 Big Query 中对 SQL 中的表使用通配符。

我的问题是:使用bq load命令行中的命令,当我将数据加载到 Big Query 时,如何使用 GMEK 覆盖默认键?

例如,如果反过来,我可以使用--destination_kms_key并指定我的 CMEK,但我在文档中看不到让我指定 GMEK 的选项。

这可能吗?

0 投票
0 回答
7 浏览

performance - BQ中的嵌套vs连接

如果这已经被问过了,我很抱歉。我认为这可能很明显,但我无法找到明确的答案。根据其文档,我了解 BQ 不喜欢加入:

嵌套的重复数据可以为您节省连接所需的通信带宽对性能的影响。它还为您节省了重复读取和写入相同数据所产生的 I/O 成本。

我试图找出为什么嵌套字段更好,但是如果我检查 BQ 架构,它会说数据存储在列级别。因此,如果所有内容都按列存储在不同的插槽中,我无法理解为什么单独的表会成为问题。

有人可以阐明一下吗?提前致谢

0 投票
1 回答
259 浏览

google-cloud-platform - 如何将值中包含换行符的 CSV 数据导入 GCloud Big Query 表?

我的bq load命令和错误

Excel 和我的用于 Csv 序列化的 node.js 模块可以很好地处理带有换行符的值的数据。

Papaparse,我的用于序列化的 npm 模块,'\r\n'用作分隔行的默认换行符,因此那里不应该有任何歧义。

这是一些示例 csv 数据,即 source.csv

bq 和 Cloud SDK 版本

我使用的是 289 版,因为他们修补了较新的版本,不允许您使用bq load:(将大小为 100 MB 或更大的文件(CSV、JSON 等)导入 BQ

0 投票
1 回答
99 浏览

gcloud - 如何添加 gcloud 配置使 bq 默认为 use_legacy_sql=false?

我现在迷失在谷歌文档中,一定有一些我遗漏的核心技巧。

命令行bq工具默认使用 Legacy SQL,可以通过添加参数来关闭许多命令--use_legacy_sql=false。我希望这是默认值,因此语句被解释为标准 SQL。

如何为bq命令配置此默认值和其他默认值?

0 投票
1 回答
78 浏览

regex - 在 BigQuery 中用逗号分割字符串

我想用逗号将 BQ 行中的字符串拆分为其他行。但我只需要在它只是一个没有空格的逗号的情况下才需要拆分。截至目前,我使用,例如,

但如果我有'Mon, 23,Tue,Wed, 25'我希望看到结果

我该怎么做?

0 投票
1 回答
351 浏览

google-bigquery - 在 BigQuery 中基于另一个表的架构创建一个空表

我们有一个 BigQuery 数据集,其中包含一些很长的表(包含数据)列表。由于我正在接管一个数据管道,我想通过测试来熟悉它,我想复制这些数据集/表而不复制截断表。本质上,我想使用它们的模式在测试数据集中重新创建这些表。这如何在bq客户端完成?