当前位置: 首页 > news >正文

Hive课后练习题

10.5 课后练习

10.5.1 第一题

我们有如下的用户访问数据

userId visitDate visitCount
u01 2017/1/21 5
u02 2017/1/23 6
u03 2017/1/22 8
u04 2017/1/20 3
u01 2017/1/23 6
u01 2017/2/21 8
u02 2017/1/23 6
u01 2017/2/22 4

要求使用sql统计出每个用户的累计访问次数,如下表所示

用户id 月份 小计 累计
u01 2027-01 11 11
u01 2027-02 12 23
u02 2027-01 12 12
u03 2027-01 8 8
u04 2027-01 3 3
  1. 创建表

    create table action(user_id string,visit_date string,visit_count int
    )
    row format delimited fields terminated by '\t';
    
  2. 加载数据

    [atguigu@hadoop102 data]$ vim action.txt
    ---
    u01	2017/1/21	5
    u02	2017/1/23	6
    u03	2017/1/22	8
    u04	2017/1/20	3
    u01	2017/1/23	6
    u01	2017/2/21	8
    u02	2017/1/23	6
    u01	2017/2/22	4
    ---
    
    load data local inpath '/opt/module/hive-3.1.2/data/action.txt' into table action;
    
  3. 查询语句SQL作答

    select 
    user_id, 
    year_month, 
    visit_subtotal, 
    sum(visit_subtotal) over(partition by user_id order by visit_subtotal desc) visit_total
    from 
    (select user_id, year_month, sum(visit_count) as visit_subtotal
    from (select user_id, date_format(regexp_replace(visit_date, '/', '-'), 'yyyy-MM') year_month, visit_count
    from action) t
    group by user_id, year_month) t2;
    

    在这里插入图片描述

10.5.2 第二题

有50W个京东店铺,每个顾客访问任何一个店铺的任何一个商品时都会产生一条访问日志,访问日志存储的表名为visit,访问的客户id为 user_id,被访问的店铺名称为shop,请统计

① 每个店铺的UV(访客数)

② 每个店铺访问次数top3的访客信息。输出店铺名称、访客id、访客次数

  1. 建表

    create table visit(user_id string, shop string)
    row format delimited fields terminated by '\t';
    
  2. 加载数据

http://www.lryc.cn/news/605924.html

相关文章:

  • 【Leetcode】2683. 相邻值的按位异或
  • 《Java 程序设计》第 16 章 - JDBC 数据库编程
  • rabbitmq的安装和使用-windows版本
  • MFC CChartCtrl编程
  • Python爬虫07_Requests爬取图片
  • 【Java23种设计模式】:模板方法模式
  • 【C语言】深度剖析指针(三):回调机制、通用排序与数组指针逻辑
  • PostgreSQL面试题及详细答案120道(01-20)
  • 前端方案设计:实现接口缓存
  • 什么是网络安全?网络安全包括哪几个方面?学完能做一名黑客吗?
  • 网络与信息安全有哪些岗位:(4)应急响应工程师
  • Amazon RDS for MySQL成本优化:RDS缓存降本实战
  • 前缀和-1314.矩阵区域和-力扣(LeetCode)
  • 隐私灯是否“可信”?基于驱动层的摄像头指示机制探析
  • 【1】数据可视化分析方法
  • 20250731在荣品的PRO-RK3566开发板的Android13下跑通敦泰的FT8206触控芯片
  • Google政策大更新:影响金融,Ai应用,社交,新闻等所有类别App
  • 新手教程:用外部 PostgreSQL 和 Zookeeper 启动 Dolphinscheduler
  • 25.(vue3.x+vite)两个pinia如何互相调用
  • Docker 初学者需要了解的几个知识点 (七):php.ini
  • LoggerFactory(日志门面框架核心工厂类)详解
  • 【C#设计模式】深入理解常见迭代器模式(Iterator Pattern)
  • 安装 docker compose v2版 笔记250731
  • docker离线安装mysql镜像
  • 内存网格、KV存储和Redis的概念、使用场景及异同
  • 分布式锁ZK与redis
  • Redis 存在哪些问题
  • 【问题】Docker 容器内的应用(如n8n),访问不到外部主机的应用(如mysql)
  • 【单片机】【分布式】从单机到分布式:Redis如何成为架构升级的关键力量
  • react调用接口渲染数据时,这些表格里的数据是被禁选的