使用 Bigquery 进行网络分析,如何过滤掉恶意的不良数据,如机器人等

Posted

技术标签:

【中文标题】使用 Bigquery 进行网络分析,如何过滤掉恶意的不良数据,如机器人等【英文标题】:Using Bigquery for web analytics, how to filter out malicious bad data like bots etc 【发布时间】:2019-04-30 23:28:10 【问题描述】:

我正在使用 bigquery 分析网络流量,但在弄清楚如何从机器人程序和恶意请求中过滤掉真实用户时遇到了一些问题。

我可以根据 IP 过滤掉,但是如果我必须包含所有不好的 ip,它很快就会变成一个很长的查询。所以这听起来不是一个好的解决方案。

我可以避免它进入 BigQuery,但他们的问题是我只是在一段时间后才注意到它是不良/恶意/垃圾邮件数据,我无法阻止它首先获得它。我可以生成一个查询来查找机器人并获取结果并将其反馈给摄取,以阻止这些机器人进入 bigquery,但这听起来像是其他大多数人都有的经验。

我还可以在 Bigquery 中提取数据,运行查询以查找恶意用户,然后使用清理后的数据创建一个新表。这也可能是一个解决方案,但我缺少其他人如何做到这一点的经验。

如果它只是一小部分,您必须接受数据集中的噪声还是我应该采取什么措施?

【问题讨论】:

嗨,Kevin,这是一个有点笼统的问题,我不确定是否与 BigQuery 密切相关,因为这更像是一个面向安全的问题。如果您能告诉我们您使用什么技术来构建和托管您的网站,也许会有助于集中注意力 这更像是一个二元逻辑回归,回答这个问题是垃圾邮件是还是否。cloud.google.com/bigquery/docs/bigqueryml-intro 【参考方案1】:

按 IP 过滤是个好主意。这里唯一要做的就是在表中保留错误的 IP 地址,这样当添加更多 IP 时,您的查询就不会增长。

SELECT * FROM my_visit_history
WHERE ip_addr NOT IN (SELECT ip FROM blacklisted_ips);

-- Or with a view to further simplify your future query:
CREATE VIEW my_clean_visit_history AS
SELECT * FROM my_visit_history
WHERE ip_addr NOT IN (SELECT ip FROM blacklisted_ips);


【讨论】:

以上是关于使用 Bigquery 进行网络分析,如何过滤掉恶意的不良数据,如机器人等的主要内容,如果未能解决你的问题,请参考以下文章

Bigquery如何在List操作期间过滤数据集中的表

如何计算Firebase中的MAU?我需要BigQuery吗?

使用 BigQuery 进行实时分析

如何进行 bigquery 传输:数据集投影

如何计算 Firebase 中的 MAU?我需要 BigQuery 吗?

如何通过 Firebase 中的某些用户事件过滤 BigQuery 中的保留计算