hive - 在滚动 7 天计数中色调不同的用户
问题描述
我花了 3 天时间研究这个并试图弄清楚但没有运气。现在我正在考虑一次将数据加载到一个新表中(这会花费太长时间并且真的不想这样做)。
我有一个表格,其中包含一个网站的综合浏览量。它位于 Hive 表中,我使用 Hue 访问数据。它具有不同的用户 ID、会话 ID、日期和页面。我们每天在大约 30 个不同的页面上获得大约 1600 万次浏览。
我正在尝试创建页面查看次数、不同用户数和 7 天滚动不同用户数。因此,一天中有不同的用户,在那天之前的一周中有不同的用户。下面的例子。
我试图通过语句使用分区,但没有运气。我尝试将表连接到自身以及将其连接到 date_dimension 表,但是每天有 16M 行的表 Hue 最终挂起并且从未完成查询
这是我只有一天的代码,但我需要将其扩展为整个去年,而不是一次将数据输入到新表中。显然需要替换硬编码的日期。
SELECT '2019-04-07' AS Temp_Date
, t.pageview
, COUNT (DISTINCT CASE WHEN t.dates = '2019-04-07' THEN User_ID END) AS Users
, COUNT (DISTINCT User_ID) AS 7Day_Users
, COUNT (CASE WHEN t.dates = '2019-04-07' THEN User_ID END) AS Views
, COUNT (*) AS 7Day_Views
FROM(
SELECT pageview
, User_ID
, Date
FROM ar3.t59_4_1
WHERE Date BETWEEN '2019-04-01' AND '2019-04-07'
) t
GROUP BY '2019-04-07'
,t.pageview
当前代码的示例结果表:
Temp_Date pageview Users 7Day_users Views 7Day_views
2019-04-07 Home 5467 28754 8765 51624
2019-04-07 About 150 548 324 3429
2019-04-07 Store 26345 128754 33247 354324
2019-04-07 Blog 856 28754 8765 54324
2019-04-07 FAQ 32 187 65 478
实际结果要长得多。预期的结果是每天都有这个。
Temp_Date pageview Users 7Day_users Views 7Day_views
2019-04-07 Home 5467 28754 8765 51624
2019-04-07 About 150 548 324 3429
2019-04-07 Store 26345 128754 33247 354324
2019-04-07 Blog 856 28754 8765 54324
2019-04-07 FAQ 32 187 65 478
2019-04-06 Home 5467 28754 8765 51624
2019-04-06 About 150 548 324 3429
2019-04-06 Store 26345 128754 33247 354324
2019-04-06 Blog 856 28754 8765 54324
2019-04-06 FAQ 32 187 65 478
2019-04-05 Home 5467 28754 8765 51624
2019-04-05 About 150 548 324 3429
2019-04-05 Store 26345 128754 33247 354324
2019-04-05 Blog 856 28754 8765 54324
2019-04-05 FAQ 32 187 65 478
2019-04-04 Home 5467 28754 8765 51624
2019-04-04 About 150 548 324 3429
2019-04-04 Store 26345 128754 33247 354324
2019-04-04 Blog 856 28754 8765 54324
2019-04-04 FAQ 32 187 65 478
...etc. (continues for all days in past 12 months)
解决方案
推荐阅读
- google-cloud-platform - 您能否配置要监控的资源,或者 Stackdriver Logging 是否会自动显示所有正在使用的资源?
- vespa - 在 vespa 中应该如何进行预输入搜索?
- java - Hibernate session 成功更新对象,但偶尔不会
- vue.js - 如何在 Visual Studio 2017 中为 vuejs 数据绑定获取智能感知?
- design-patterns - 适配器模式如何解决依赖关系?
- java - 对方法中的变量所做的更改在主方法 JAVA 中未更改
- python - 散景:如何使用 GeoJSONDataSource 和 CategoricalColorMapper 为补丁字形添加图例?
- php - 如何解决连接问题的redis错误?
- android - 当我得到照片时,我怎样才能有好的质量?
- node.js - 将客户数据存储在两个数据库中