我有一个包含许多重复项的表 - 许多行具有相同的id
,可能唯一的区别是requested_at
列.
我想select *
从表中做一个,但只返回一行id
- 最近请求的行.
我已经研究过,group by id
但后来我需要为每一列做一个聚合.这是容易requested_at
- max(requested_at) as requested_at
-其他的都很难.
我如何确保获得与title
最近更新的行对应的等值?
是否有任何文档介绍如何处理仅附加数据库(例如 BigQuery)以进行实时分析(例如每天更新的 1 亿到 10 亿移动用户配置文件),并将停机时间降至几秒钟。
(1)有一篇文章http://hortonworks.com/blog/four-step-strategy-incremental-updates-hive/关于如何实现增量更新,我想知道BigQuery中是否存在类似的解决方案。
如果我需要附加版本列(例如版本1、2、3)等,有没有快速的方法来计算版本?
(2) 如何将停机时间最小化到几秒钟我喜欢消除 BigQuery 表中的重复记录中提到的解决方案 ,我认为它部分解决了我的挑战。
如果 mydataset.mytable 有 1 亿到 10 亿条唯一的移动用户记录,并且少于几秒的停机时间是不能容忍的,是否有办法消除停机时间?例如虚拟视图?在“bq query --replace”和“bq query cp”期间,表mydataset.mytable是否可以访问,或者该表是否会被锁定,直到替换和查询完成。谢谢。
bq query --allow_large_results --replace --destination_table=mydataset.mytable \
'SELECT * FROM mydataset.mytable
WHERE key NOT IN (SELECT key FROM mydataset.update)'
Run Code Online (Sandbox Code Playgroud)
bq cp --append_table mydataset.update mydataset.mytable