一、任务

1.1、商品零售购物篮分析

现代商品种类繁多,顾客往往会由于需要购买的商品众多而变得疲于选择,且顾客并不会因为商品选择丰富而选择购买更多的商品。

繁杂的选购过程往往会给顾客疲惫的购物体验。


1.2、了解顾客需求


1.3、任务目标

  • 创建订单表和物品分类表
  • 统计顾客数量和商品购买数量
  • 统计各类型商品的购买情况
  • 统计所有商品中排名前20的热销商品
  • 统计不同类别商品中排名前10的热销商品
  • 将同一个客户的订单整合为一列并写入HDFS

二、配置Hive的java开发环境

2.1、搭建开发环境

  • 在Eclipse中创建Java工程
  • 导入Hive安装包下lib目录中所有的Jar包
  • 导入Hadoop安装包下share\hadoop\common\libshare\hadoop\commonshare\hadoop\hdfs\libshare\hadoop\hdfsshare\hadoop\mapreduceshare\hadoop\mapreduce\lib的Jar包

启动远程服务

  • 在Linux端执行:hive --service hiveserver2 &
  • 查看:netstat -nplt | grep 10000


2.2、Hive连接

HiveServer2
目前Hive的Thrift服务端通常使用HiveServer2,它是HiveServer改进版本,它提供了新的ThriftAPI来处理JDBC或者ODBC客户端,可以进行Kerberos身份验证,支持多个客户端并发。

BeeLine
HiveServer2还提供了新的CLI:BeeLine,它是Hive 0.11引入的新的交互式CLI,基于SQLLine,可以作为Hive JDBC Client 端访问HiveServer2。

通过BeeLine连接hive
hive安装目录/bin/beeline -u jdbc:hive2://hiveServer2所在ip:端口号 -n 用户名
例如: beeline -u jdbc:hive2://192.168.128.130:10000 -n root

2.2.1、创建Connection连接

String driverName ="org.apache.hive.jdbc.HiveDriver";
String url="jdbc:hive2://192.168.128.10:10000/default";
String username="root";
String password=“root";Class.forName(driverName);
Connection connection = DriverManager.getConnection(url, username, password);
Statement stmt = connection.createStatement();
stmt.execute("CREATE DATABASE shop");
connection.close();


三、任务步骤

3.1、创建订单表和物品分类表


3.2、导入数据到订单表和物品分类表


3.3、统计顾客数量和商品销售量


3.4、统计各类型商品的购买情况

  • 关联订单表和类别表
  • 按商品类型分组统计并排序


3.5、统计所有商品中排名前20的热销商品

  • 按商品分组统计销售量
  • 排序并选出排名前20的商品


3.6、统计不同类别商品中排名前10的热销商品

  • 关联订单表和类别表
  • 按商品类型和商品分组统计各组各个商品的销售量
  • 对每种商品类型中的商品按销售量降序排序
  • 取出每种商品类型中排序前10的商品
row_number() over()分组排序功能


3.7、将同一个客户的订单整合为一列并写入HDFS

  • 通过HQL将表数据写入HDFS
collect_list(字段)   将某字段拼成列表
concat_ws(',',collect_list(字段))   设置拼接时的分隔符

学习笔记Hive(六) —— Hive开发应用相关推荐

  1. PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call

    您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...

  2. OpenCV学习笔记(六)(七)(八)(九)(十)

    OpenCV学习笔记(六)--对XML和YAML文件实现I/O操作 1. XML.YAML文件的打开和关闭 XML\YAML文件在OpenCV中的数据结构为FileStorage,打开操作例如: [c ...

  3. Intel VT学习笔记(六)—— VM-Exit Handler

    Intel VT学习笔记(六)-- VM-Exit Handler Reutrn To DriverEntry VM-Exit Handler External interrupt I/O instr ...

  4. 软件调试学习笔记(六)—— 硬件断点

    软件调试学习笔记(六)-- 硬件断点 硬件断点 设置硬件断点 触发硬件断点 处理硬件断点 实验:硬件断点的设置与处理 硬件断点 描述: 与软件断点与内存断点不同,硬件断点不依赖被调试程序,而是依赖于C ...

  5. Windows驱动开发学习笔记(六)—— Inline HOOK

    Windows驱动开发学习笔记(六)-- Inline HOOK SSDT HOOK Inline Hook 挂钩 执行流程 脱钩 实验一:3环 Inline Hook 实验二:0环 Inline H ...

  6. Windows进程与线程学习笔记(六)—— 线程切换

    Windows进程与线程学习笔记(六)-- 线程切换 主动切换 分析KiSwapContext 分析SwapContext 分析KiSWapThread 总结 时钟中断切换 系统时钟 分析INT 0x ...

  7. Windows保护模式学习笔记(六)—— 10-10-12分页

    Windows保护模式学习笔记(六)-- 10-10-12分页 基本概念 4GB内存空间 有效地址-线性地址-物理地址 有效地址与线性地址 物理地址 控制寄存器:Cr3 10-10-12分页 实验:通 ...

  8. main 函数解析(二)—— Linux-0.11 学习笔记(六)

    main函数解析(二)--Linux-0.11 学习笔记(六) 4.6 blk_dev_init函数 void blk_dev_init(void) {int i;for (i=0 ; i<NR ...

  9. 最大熵学习笔记(六)优缺点分析

    生活中我们经常听到人们说"不要把鸡蛋放到一个篮子里",这样可以降低风险.深究一下,这是为什么呢?其实,这里边包含了所谓的最大熵原理(The Maximum Entropy Prin ...

  10. Unix原理与应用学习笔记----第六章 文件的基本属性2

    Unix原理与应用学习笔记----第六章 文件的基本属性2 改变文件权限命令:chmod 提示:文件或目录创建后,就被赋予一组默认的权限.所有的用户都有读,只有文件的所有者才有写. 相对权限设置 Ch ...

最新文章

  1. 阿里员工离职潮的背后?
  2. 快速记忆python函数-python入门(误)速记
  3. 【NLP实战系列】朴素贝叶斯文本分类实战
  4. 手机计算机数据消失了怎么恢复,电脑突然黑屏闪退之后怎么恢复丢失的数据
  5. 解决eclipse中git插件中的cannot open git-upload-pack问题
  6. 前端初级html\css知识点总结
  7. 耗费360万美元开发“无坚不摧”的电脑,美国这回下血本了!
  8. arm linux 交叉编译boost库
  9. char赋值字符串常量和数值的区别
  10. 如何高效的将 DataReader 转成 List<T> ?
  11. mysql表分区数量限制_MySQL分区表的局限和限制详解
  12. 【重点】LeetCode 124. Binary Tree Maximum Path Sum
  13. 巴特沃斯滤波器原理及其仿真设计
  14. 关于SI4463和AIS的学习笔记
  15. java-练习题-黄金分割点
  16. vissim交通仿真实验(1)--仿真基础
  17. python开发要学什么_运维为什么要学编程?编程为什么是Python?
  18. 高通核心板,高通骁龙410系列 MSM8916
  19. android 触摸屏部分失灵,触摸屏失灵修复小技巧
  20. 家用投影仪不会选?记住这几个方面,帮你选到适合你的投影仪

热门文章

  1. mysql 5.6.34.rpm_离线安装mysql5.6及依赖_centos7离线安装mysql5.6.34
  2. 机器学习应用方向(二)~概念漂移(concept drift)
  3. sklearn 笔记:make_blobs 生成聚类数据
  4. numpy笔记 linalg
  5. 机器学习笔记:ResNet 及残差连接
  6. 文巾解题 525. 连续数组
  7. CentOS6.4之图解SSH无验证双向登陆配置
  8. 抖音数据统计_“彭十六elf”单条视频获赞200W+,荣登抖音TOP20丨红人榜
  9. python加绝对值_python如何使用绝对值
  10. 深度学习-循环神经网络(RNN)