问题标签 [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 投票
0 回答
241 浏览

powershell - 这个 Google BigQuery Data Transfer 'bq mk --transfer_config' 命令的语法有什么问题?

我正在尝试使用bqCLI 按照此处的说明创建 BigQuery 数据传输服务,但由于某种原因,当我在 PowerShell 中运行它时,我不断收到此错误:

文件名、目录名或卷标语法不正确。

这是我的命令

我已经尝试了所有正常的事情,比如用\,""等转义双引号。似乎错误在于--params部分,因为没有它,命令实际上会通过,但显然失败,因为--params是必需的。我在网上看到的所有示例都显示相同的语法。

怎么了?

0 投票
3 回答
591 浏览

google-cloud-platform - 为项目自动设置的 BQ 审计日志接收器

每次新建项目,在项目中使用BQ,都需要手动设置BQ logs sink,包括filter:

BQ 日志接收器示例

日志过滤器

问题 - 有没有办法自动化它,一旦为新项目创建 BQ 资源,它会自动创建一个接收器?它应该有:

接收器名称:BQLogsDataset_[ProjectNameOrID]

目的地:bigquery.googleapis.com/projects/billing/datasets/BQLogsDataset

作家身份:会创建一个合适的身份

将应用过滤器:resource.type="bigquery_resource" logName="projects/[ProjectNameOrID]/logs/cloudaudit.googleapis.com%2Fdata_access"

可能有人已经实现了类似的或有任何其他解决方案,每次创建具有 BQ 资源的新项目时,如何不要忘记启用 BQ 日志记录?

谢谢你!

0 投票
2 回答
244 浏览

google-bigquery - 更新 bigquery 表/视图的标签

我正在尝试使用以下 bq 命令向我的 bigquery 表/视图添加标签。

bq update --set_label primary_keys:a,b project-id:dataset.tablename

如果我只有一个键 (a) 作为主键,该命令可以正常工作。但是,当我尝试插入以逗号分隔的多个键(a,b)时,它会引发无效字符错误。有没有办法在用逗号分隔的同一标签中添加多个键。

0 投票
2 回答
833 浏览

gcloud - 在 Windows 命令提示符下检测到 BiqQuery,但在 Bash 上未检测到

我已经在我的 Windows 10 机器上安装了 Cloud SDK,并且能够在我的命令提示符下运行诸如“gcloud”、“gsutil”和“bq”之类的命令。但是,当我在 Bash 上运行“gsutil”或“bq”时,这是我得到的错误。

$ bq

bash: bq: command not found

然后我将此位置添加到 PATH C:\Users\User\AppData\Local\Google\Cloud SDK\google-cloud-sdk\bin,之后我似乎能够调用gsutilbq使用gsutil.cmdand bq.cmd。但当然,我更喜欢直接调用 bq / gsutil 。

以前有人遇到过这个问题吗?谢谢!

0 投票
0 回答
469 浏览

bash - Windows 10 的 Git Bash 在运行“bq query”而不是“bq mk”等时遇到路径错误

我在下面描述的所有内容实际上都适用于 Windows 命令提示符,但我在 Git Bash 上遇到了一些错误。我已经在使用最新版本的 git 了git version 2.25.0.windows.1

基本上,当我尝试执行时bq query ...,我的 Bash 会遇到一些 PATH 错误,由于某种原因,当我运行其他 bq / gsutil / gcloud 命令时不会发生这种错误。

似乎当我运行时bq query...,Bash 停止扫描 PATH 中“Cloud SDK”字样的空格(请参阅 下的位置where bq)。

我执行时出现错误bq mk dataset,但关键是该命令有效。

那么为什么只bq query ...遇到PATH错误呢?

到目前为止,我的 gcloud 和 gsutil 似乎都可以正常运行。

0 投票
1 回答
496 浏览

join - 在 CLI 上使用 bq 从 BigQuery 标准 SQL 连接表中打印出漂亮的值表?

bq有没有办法使用标准 SQL 使用命令行工具来漂亮地格式化 Big Query“值表”结果集?这可以在标准 SQL 的 BigQuery 控制台中按预期工作,但在 bq 中则不行。我找不到方便的解决方法。它也可以使用 Legacy SQL 按预期工作。

我的用例:我正在探索 BigQuery 中包含大量列的表。BigQuery 中的匿名查询要求所选列具有唯一名称,否则您会收到消息“不支持结果中的重复列名称。发现重复:...”。当我只是在探索数据时,这是一个非常严格的要求。幸运的是,BigQuery Web 控制台中有一种方法可以通过在选择表达式中使用值表来解决这个问题......

...这会产生以下表格结果集,其中列自动枚举,非常好...

表格结果集

但是,在命令行上传递完全相同的查询bq如下(为方便起见,通过此处的文档)。通常,我将查询放在一个文件中并将其重定向到bq,例如,bq query --use_legacy_sql=false < bq_test4.sql

--format...无论传递给bq...的任何选项如何,都会产生相同的基本结果集

这样的结果集对我没有帮助。

好的,我可以将 json 转换为表格结果集...

...这会导致,而这正是 Legacy SQL 会产生的...

必须枚举列违背了我的用例的意图。

在使用标准 SQL 时,有什么方法可以避免在加入之前或加入之后枚举列?

0 投票
1 回答
114 浏览

firebase - Bigquery crashlytics 数据集计划间隔

我们目前正在调查 Firebase<>BigQuery(非沙盒)以进行监控。我们已经使用 Firebase 集成连接了我们的一个项目,并收集了几天的数据。

只有数据总是休息一天,这是有道理的,因为传输只每 24 小时运行一次。但试图通过 bq cli 改变它:

导致 400 错误:

我们可能会觉得这对于这种数据集/Firebase 项目是不可能的,但我们看不到任何明确的答案。

0 投票
2 回答
72 浏览

google-bigquery - BigQuery CLI:加载命令处于待处理状态

我的电脑上有一个 csv 文件。我想将此 CSV 文件加载到 BigQuery 表中。我正在从终端使用以下命令:

我的终端中的命令没有给出任何输出。在 GCP 界面中,我看到没有创建任何作业,这让我认为请求甚至没有到达 GCP。在日志文件(来自 --apilog 参数)中,我获得了有关正在发出的请求的信息,并以此结束:

就是这样。不管我等多久,什么都没有发生。

0 投票
1 回答
782 浏览

python - 使用 Python 子进程模块从命令行运行 BigQuery - 致命命令 'bq ls redacted:dataid' 未知

我需要使用 Python 的 Subprocess 模块通过 Google Cloud SDK 运行 BigQuery CLI 命令。当我从命令行运行以下命令时,事情会按我的预期工作:

在此处输入图像描述

我曾尝试在以下场景中运行此 bq 命令但没有成功:

  • 与 Windows cmd.exe 文件的完整路径一起使用
  • 与 bq.cmd 文件的完整路径一起使用
  • 在第一次运行 bq.cmd 文件的完整路径后,仅使用 bq 命令

这是我列出的第二个示例中的代码,因为我认为它最接近正确?

这是错误消息:

致命命令 'bq -q ls redacted:dataid' 未知
运行 'bq.py help' 以获得帮助

谢谢!

0 投票
1 回答
633 浏览

google-cloud-platform - Google Cloud Platform - 使用多个服务帐户

我正在尝试使用 bq cli 使用大查询将数据导出到 GCS。目前有两个项目,每个项目都有自己的服务帐户。我已经通过传递密钥 json 文件使用 gcloud auth active-service-account 对服务帐户进行了身份验证。在运行我的工作时,我使用以下命令明确设置项目和帐户

在JOB1内

gcloud 配置设置账户 account1

gcloud 配置设置项目 project1

bq 提取 --destination_format NEWLINE_DELIMITED_JSON table1 gs://path1

在JOB2内

gcloud 配置设置帐户 account2

gcloud 配置设置项目 project2

bq 提取 --destination_format NEWLINE_DELIMITED_JSON table2 gs://path2

当 job1 和 job2 并行运行时,JOB1 失败,错误 account2 无法访问 project1,类似地,在某些情况下,JOB2 失败,错误 account1 is not have access to project2。我们已经确定它正在发生,因为当我们设置帐户时,它会更改服务器内(而不是会话内)的默认帐户,因此并行运行的另一个作业失败。您能否帮助我们如何在同一服务器中并行使用多个服务帐户执行 bq 命令