小编N.N*_*.N.的帖子

我应该何时更喜欢批量分析而非交互式分析?

使用批量查询而不是交互式模式查询的动机是定价,但随着更新的价格变化,不再存在成本差异 - 那么是否还有其他激励(配额,性能,其他......)来使用批量查询?

google-bigquery

14
推荐指数
1
解决办法
1454
查看次数

如何提高BigQuery中GeoIP查询的性能?

我已经在BigQuery中加载了我的应用程序日志,我需要根据这些日志中的IP地址计算国家/地区.

我在我的表和从MaxMind下载的GeoIP映射表之间编写了一个连接查询.

理想的查询将OUTER JOIN使用范围过滤器,但BQ=在连接条件下支持.因此查询执行INNER JOIN并处理每一侧的缺失值JOIN.

我修改了原始查询,因此可以在维基百科公共数据集上运行.

有人可以帮助我让这个跑得更快吗?

SELECT id, client_ip, client_ip_code, B.Country_Name as Country_Name

FROM
    (SELECT id, contributor_ip as client_ip, INTEGER(PARSE_IP(contributor_ip)) AS client_ip_code, 1 AS One
    FROM [publicdata:samples.wikipedia] Limit 1000) AS A1

JOIN 
    (SELECT From_IP_Code, To_IP_Code, Country_Name, 1 AS One
    FROM

        -- 3 IP sets: 1.valid ranges, 2.Gaps, 3. Gap at the end of the set
        -- all Ranges of valid IPs:
        (SELECT From_IP_Code, To_IP_Code, Country_Name FROM [QA_DATASET.GeoIP]) …
Run Code Online (Sandbox Code Playgroud)

performance geoip google-bigquery

11
推荐指数
2
解决办法
3931
查看次数

在视图中使用TABLE_DATE_RANGE函数

我很兴奋本周早些时候发布的新特色.

我去创建一个视图,联合我的"最后90天"表.这种视图非常有用,可以显着简化任何编码.我使用了新的TABLE_DATE_RANGE函数.

我写:

SELECT 
 *
FROM 
(TABLE_DATE_RANGE(mydataset.mytableprefix, 
                    DATE_ADD(CURRENT_TIMESTAMP(), -90, 'DAY'),
                    CURRENT_TIMESTAMP()))
Run Code Online (Sandbox Code Playgroud)

运行查询时它运行正常,当我点击"保存视图"时,我收到一条红色错误消息说:

Failed to create view. Not Found: Table myproject:mydataset.mytableprefix
Run Code Online (Sandbox Code Playgroud)

如果使用特定字段而不是Select*,也会发生这种情况.

在视图中是否有TABLE_DATE_RANGE的使用限制?

google-bigquery

11
推荐指数
1
解决办法
2463
查看次数

"我的别名"是一个内联表,因此不能位于外连接的外部

我正在尝试运行类似于的查询:

Select Table1.a,Table1.b,Table2.c
From 
(Select a, max(x) as b
from Tbl1 
group by a
) as Table1
LEFT JOIN EACH Table2
ON 
Join Condition
Run Code Online (Sandbox Code Playgroud)

我得到"Table1是一个内联表,所以不能在外连接的外部."

当将Join从外部更改为Inner时,它可以工作(因此没有语法问题......).

有人可以解释这个消息,我应该做些什么来避免它?

谢谢

google-bigquery

6
推荐指数
1
解决办法
563
查看次数

将TABLE_DATE_RANGE函数与表装饰器一起使用

是否有任何方法可以将TABLE_DATE_RANGE或TABLE_QUERY与表装饰器一起使用?

我想从一组表中提取所有"新记录"(在过去2小时内添加).

非常感谢

google-bigquery

6
推荐指数
1
解决办法
754
查看次数

totalBytesBilled与totalBytesProcessed不同

我正在使用条纹BigQuery开发人员工具,并注意到"查询成本"中的一些奇怪的行为.在深入挖掘细节时,我在totalBytesBilled和totalBytesProcessed属性中发现了一个奇怪的行为.但我理解它有点麻烦......

从BigQuery资源:

  • statistics.query.totalBytesBilled:为作业计费的总字节数.
  • statistics.query.totalBytesProcessed:为作业处理的总字节数.

这两个属性的描述非常模糊......

根据我过去的经验,我预计在消耗配额的免费部分后,这两个是相同的.

样本数据集的示例查询

SELECT word,    word_count 
FROM [publicdata:samples.shakespeare] S
LIMIT 1000
Run Code Online (Sandbox Code Playgroud)

回:

   "totalBytesProcessed": "2650191",
   "totalBytesBilled": "10485760",
Run Code Online (Sandbox Code Playgroud)
  1. 有人可以更好地解释这些属性是什么,它们之间有什么区别?
  2. 为什么一些(非常小的)查询我得到的totalBytesBilled明显高于totalBytesProcessed?
  3. 他们是如何计算的?
  4. 有关优化查询以最小化"totalBytesBilled"的任何提示
  5. https://cloud.google.com/bigquery/pricing#on_demand中,它说:"高计算层适用于相对于扫描的字节数消耗非常大的计算资源的查询.例如,包含非常大数量的查询JOIN或CROSS JOIN子句,或具有大处理要求的复杂用户定义函数(UDF)." 你能更具体一点吗?有多少是"非常多的加入条款"?什么使UDF"复杂"?

谢谢

google-bigquery

5
推荐指数
1
解决办法
1425
查看次数

BigQuery资料位置设定

有没有类似于“云存储数据位置设置”或“数据存储数据位置设置”的确定“ BigQuery数据位置设置”的方法?

对于在美国境外运营的公司,使用在美国托管的服务时,显然存在一些法律和税收问题。我们的法律顾问已要求我将BigQuery位置配置为位于欧盟。但是我找不到在哪里配置它。

谢谢

google-bigquery

4
推荐指数
1
解决办法
1278
查看次数

窗口函数 Over 子句

在 Over Clause 文档中提到了“行”和“范围”。

OVER (
      [PARTITION BY <expr>]
      [ORDER BY <expr>]
      [ROWS <expr> | RANGE <expr>]
     )
Run Code Online (Sandbox Code Playgroud)

但是,我找不到关于它们的功能或任何使用示例的详细说明。有人可以解释一下它们是什么以及如何使用它们吗?

google-bigquery

4
推荐指数
1
解决办法
4365
查看次数

标签 统计

google-bigquery ×8

geoip ×1

performance ×1