问题标签 [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.
sql - 尝试在 BQ 中执行每小时运行一次的查询
所以目前,一位聪明的数据科学家在这里设置了一个每小时运行一次的查询:
创建日期以这种格式显示:2021-11-05T01:32:57
所以我只是写了一个单独的查询(不同的表),如果没有选择一个间隔但运行良好但失败:
错误是:
对于参数类型的运算符 >= 没有匹配的签名:TIMESTAMP、DATETIME。支持的签名:ANY >= ANY at [7:5]
TransactionTimestamp 以这种格式显示:
2021-11-05 03:14:22 UTC
我只是困惑如何格式化?
google-cloud-platform - 从 BQ 到云 SQL 的数据传输
每天将所有记录从 BigQuery 表传输到 Cloud SQL 表的最佳方法是什么(每天预期的大约记录数超过 255801312 [2.55 亿])。我知道我们可以创建从 BQ 到 CloudSQL 的数据流管道,但是如此大量的数据将运行数小时和数小时。在谷歌云中实施的任何最佳解决方案?
sql - 使用部分来自现有数据的值创建新列,并使用连接 SQL/BQ
主表:
ID | 表名 |
---|---|
1 | tb_1 |
2 | tb_1 |
3 | tb_1 |
4 | tb_2 |
5 | tb_2 |
6 | tb_2 |
tb_1:
援助 | tb1_id |
---|---|
4 | 44 |
5 | 55 |
6 | 66 |
tb_2:
投标 | tb2_id |
---|---|
1 | 11 |
2 | 22 |
3 | 33 |
输出:
ID | 表名 | tb1_id | tb2_id |
---|---|---|---|
1 | tb_1 | 1 | 11 |
2 | tb_1 | 2 | 22 |
3 | tb_1 | 3 | 33 |
4 | tb_2 | 44 | 4 |
5 | tb_2 | 55 | 5 |
6 | tb_2 | 66 | 6 |
是否可以使用三个表创建上述输出?例如:当在主表中创建一个新列tb1_id时,这些值是从tb_1 表派生的,这样,如果在主表中有ID下的元素被标记为table_name 列下的tb_1则值tb1_id将与ID列相同,但是对于非tb_1表,它应该取自tb_1表。
sql - 一周的数据总和
目前,我在工作中有一个这样的查询:
所以这个查询每天运行一次。非常简单,效果很好。我的问题是,我怎么能说,SUM the PurchaseAmount(所以分离购买)到 1000 美元一周?这甚至可能吗?
因此,原始查询的示例结果将是:
列 A(用户 ID | 采购量 |
---|---|
1 | 600 美元 |
1 | 800 美元 |
2 | 700 美元 |
3 | 1100 美元 |
我希望返回:1 和 3,因为这些是总和超过 1000 美元的“ID”。(当然,更复杂的是,这些购买是在一周内发生的;不是一天。)
sql - SQL:创建数据透视表
我有一个如下所示的表:
类别 | 特征_a | 特征_b |
---|---|---|
前20名 | 3 | 5 |
前10名 | 2 | 6 |
前10名 | 1 | 7 |
前20名 | 4 | 8 |
我要做的是创建一个如下所示的数据透视表:
特征 | 前20名 | 前10名 |
---|---|---|
特征_a | 7 | 3 |
特征_b | 13 | 13 |
第二个表中的每个值都是每个类别的每个特征的总和。我在这里阅读数据透视表上的文档,但它对我需要得到的东西没有帮助。知道如何实现吗?(注意:我不必使用“pivot”功能,如果它可以通过任何其他功能来实现)
google-bigquery - 如何使用气流中的本地 bq 运算符实现 python 任务
在处理项目时遇到了一种情况,我们想使用气流执行一些任务,但我们不允许使用 python 运算符,但被指示使用本地 BigQuery 运算符。任何人都可以帮助我设置气流变量或如何编写将由 BQ 操作员执行的条件代码之类的代码。是否可以 ?如果不是,那么我的下一个问题是,是否有可能使用 BQ 运算符从 BQ 表中获取结果并将其分配给一个 python 变量,所以想要同时使用 BQ 和 python 运算符,有什么办法吗?
sql - 带表的 SQL 计数
我有一张桌子:
ID | 帐户 |
---|---|
1 | 22 |
1 | 22 |
2 | 44 |
3 | 22 |
如您所见,有很多重复项。我基本上需要编写一个执行两件事的查询:
- 将单独的 ID 与关联的帐户匹配 - 所以 1、3 是 22
- 计算它们链接的次数——所以在上面的例子中,两次。
编辑:
我想要的结果是 Account 22 与 ID 和这些 ID 列表链接的次数。
sql - 如何检查列值的变化?
我需要尝试检查一些设备 ID 是否正常工作。这些值(15 个字符,随机数字字符串 + 字母)对于用户来说大多保持不变。但是,这些设备 ID 会时不时地发生变化。我正在尝试检测它们何时发生变化。有没有办法用 SQL 编写这种动态查询?说,也许用 CASE 声明?
用户 | 设备 | 日期 |
---|---|---|
1 | 23127dssds1272d | 10-11 |
1 | 23127dssds1272d | 10-11 |
1 | 23127dssds1272d | 10-12 |
1 | 23127dssds1272d | 10-12 |
1 | 04623jqdnq3000x | 10-12 |
command-line-interface - 使用 Bq 命令行命令加载 BigQuery 外部表时出错
我试图使用Bq load 加载BigQuery 外部表通过 Bq 命令行命令。执行 Bq 加载命令 - bq load --source_format=NEWLINE_DELIMITED_JSON {provided dataset_name}.{provided bq external_table_name} gs://{provided bucket_name} /{provided folder_name}/{provided folder_name}/{provided folder_name}/20220107/* 错误我得到的是:错误处理作业 '*:bqjob_r6bde3e8976b407bd_0000017e4295db78_1': bq_project_name:bq_dataset_name.bq_external_table_name is not allowed for this operation,因为它目前是外部的。任何人都遇到过这个错误,我没有找到我需要传递的任何参数来告诉 Bq 这是 Google 的 Bq 负载文档中的外部表。对此有任何见解真的会有所帮助吗?我尝试使用带有 external_table=True 的 GoogleCloudStorageToBigQueryOperator 加载外部表,但这也会产生一个错误,提示“' BigQuery 作业失败。错误是:{}'.format(err.content
@MikeKarp - 我上面的帖子有两个问题,一个是使用失败的 Bq load 命令加载 Bq 外部表,从这个尝试我的问题是是否可以使用 Bq load 加载 Bq 外部表?第二个是我试图加载通过 terraform 创建的外部表(提供外部表所需的源 uri 路径)使用带有 external_table=True 的 GoogleCloudStorageToBigQueryOperator 失败,“代码”:409,\n“消息”:“表已经存在。来自第二个不确定为什么当外部表已经通过 Terraform 在我的 GCP 项目中创建时,GoogleCloudStorageToBigQueryOperator 试图再次创建表
pandas - 从熊猫数据框导入后,字符串在 BiqQuery 表中变为浮点数
我有一个带有以下数据类型的熊猫数据框:
我使用以下方法将其上传到 BigQuery 表:
itemId
除了a 列string
变成 afloat
并且所有前导 0:s (我需要)因此被删除(无论有什么)之外,一切似乎都运行良好。
我当然可以为我的表定义一个模式,但我想避免这种情况。我错过了什么?