Bigtable(或BigQuery)是日志相关性分析的正确平台吗?

时间:2015-09-25 11:13:08

标签: google-bigquery bigtable google-cloud-bigtable

我面临着根据以下要求分析不同系统日志文件的挑战:

  • 几百个系统
  • 每天有数百万条不同格式的日志

除了许多其他目标之外,我面临的最大挑战是对所有当前系统日志上的所有传入日志以及部分历史日志事件进行实时关联分析。

目前,我们正专注于MongoDB,ElasticSearch,Hadoop,......以应对这一挑战。

另一方面,我已经阅读了一些关于Google Bigtable和Bigquery的有趣内容。

所以我的问题是,Bigtable和/或Bigquery是一个值得关注的解决方案,以便进行实时分析吗?

我没有使用这两种产品的经验,因此我希望能提供一些提示,了解这些Google解决方案是否可以满足我的要求。

THX& BR bdriven

编辑:

  太宽泛了。你需要显示你需要做的实际分析。 bigquery会比nosql自制便宜得多。

我们的目标是开发一个系统,该系统能够根据当前日志事件(或不同日志事件的组合)及其过去与其他系统行为的交互生成警告。

因此,我们必须能够针对大量非结构化历史数据对当前事件进行快速相关分析。

我知道这个需求描述可能不是最具体的,但我们在这个项目的开头就是正确的。 所以这个问题的目标是为我们的下一次团队会议提供一些论据,我们是否应该考虑仔细研究Bigtable / Bigquery。

1 个答案:

答案 0 :(得分:3)

BigQuery最喜欢的功能之一是它能够运行相关性。

这是我几年前写的BigQuery教程的相关性:http://nbviewer.ipython.org/gist/fhoffa/6459195

例如,根据航班延误排名并找到最相关的机场:

SELECT a.departure_state, b.departure_state, corr(a.avg, b.avg) corr, COUNT(*) c
FROM
(SELECT date, departure_state, AVG(departure_delay) avg , COUNT(*) c
FROM [bigquery-samples:airline_ontime_data.flights]  
GROUP BY 1,2 HAVING c > 5  
) a
JOIN
(SELECT date, departure_state , 
AVG(departure_delay) avg, COUNT(*) c FROM [bigquery-samples:airline_ontime_data.flights] 
GROUP BY 1,2 HAVING c > 5  ) b
ON a.date=b.date
WHERE a.departure_state < b.departure_state
GROUP EACH BY 1, 2
HAVING c > 5
ORDER BY corr DESC;

在接下来的5分钟内自己尝试一下!快速入门教程:https://www.reddit.com/r/bigquery/comments/3dg9le/analyzing_50_billion_wikipedia_pageviews_in_5/