Google bigquery 使用Bigquery进行web分析,如何过滤出恶意坏数据,如机器人等

Google bigquery 使用Bigquery进行web分析,如何过滤出恶意坏数据,如机器人等,google-bigquery,Google Bigquery,我正在使用bigquery来分析web流量,在弄清楚如何从机器人程序和恶意请求中过滤出真实用户时遇到了一些问题 我可以根据IP进行筛选,但如果我必须包含所有不好的IP,那么它将很快成为一个很长的查询。所以这听起来不是一个好的解决方案 我可以避免它进入BigQuery,但问题是我只是在一段时间后才注意到它是坏的/恶意的/垃圾邮件数据,我无法阻止它首先获取它。我可以生成一个查询来查找机器人,并将结果反馈给ingest以阻止它们进入bigquery,但这听起来像是大多数人都有过的经历 我还可以接收Bi

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

我可以根据IP进行筛选,但如果我必须包含所有不好的IP,那么它将很快成为一个很长的查询。所以这听起来不是一个好的解决方案

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

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


如果数据集中的噪音占很小的百分比,您必须接受吗?或者我应该采取什么措施?

通过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);



嗨,Kevin,这是一个有点一般性的问题,我不确定是否与BigQuery紧密相关,因为这更像是一个面向安全的问题。如果你能告诉我们你用什么技术来建立和托管你的网站,这可能会有助于集中精力。这更像是一个二元逻辑回归,回答这样的问题:这是垃圾邮件是还是不是。