学习笔记Hive(六) —— Hive开发应用
一、任務(wù)
1.1、商品零售購(gòu)物籃分析
現(xiàn)代商品種類(lèi)繁多,顧客往往會(huì)由于需要購(gòu)買(mǎi)的商品眾多而變得疲于選擇,且顧客并不會(huì)因?yàn)樯唐愤x擇豐富而選擇購(gòu)買(mǎi)更多的商品。
繁雜的選購(gòu)過(guò)程往往會(huì)給顧客疲憊的購(gòu)物體驗(yàn)。
1.2、了解顧客需求
1.3、任務(wù)目標(biāo)
- 創(chuàng)建訂單表和物品分類(lèi)表
- 統(tǒng)計(jì)顧客數(shù)量和商品購(gòu)買(mǎi)數(shù)量
- 統(tǒng)計(jì)各類(lèi)型商品的購(gòu)買(mǎi)情況
- 統(tǒng)計(jì)所有商品中排名前20的熱銷(xiāo)商品
- 統(tǒng)計(jì)不同類(lèi)別商品中排名前10的熱銷(xiāo)商品
- 將同一個(gè)客戶(hù)的訂單整合為一列并寫(xiě)入HDFS
二、配置Hive的java開(kāi)發(fā)環(huán)境
2.1、搭建開(kāi)發(fā)環(huán)境
- 在Eclipse中創(chuàng)建Java工程
- 導(dǎo)入Hive安裝包下lib目錄中所有的Jar包
- 導(dǎo)入Hadoop安裝包下share\hadoop\common\lib、share\hadoop\common、share\hadoop\hdfs\lib、share\hadoop\hdfs、share\hadoop\mapreduce、share\hadoop\mapreduce\lib的Jar包
啟動(dòng)遠(yuǎn)程服務(wù):
- 在Linux端執(zhí)行:hive --service hiveserver2 &
- 查看:netstat -nplt | grep 10000
2.2、Hive連接
HiveServer2
目前Hive的Thrift服務(wù)端通常使用HiveServer2,它是HiveServer改進(jìn)版本,它提供了新的ThriftAPI來(lái)處理JDBC或者ODBC客戶(hù)端,可以進(jìn)行Kerberos身份驗(yàn)證,支持多個(gè)客戶(hù)端并發(fā)。
BeeLine
HiveServer2還提供了新的CLI:BeeLine,它是Hive 0.11引入的新的交互式CLI,基于SQLLine,可以作為Hive JDBC Client 端訪(fǎng)問(wèn)HiveServer2。
通過(guò)BeeLine連接hive
hive安裝目錄/bin/beeline -u jdbc:hive2://hiveServer2所在ip:端口號(hào) -n 用戶(hù)名
例如: beeline -u jdbc:hive2://192.168.128.130:10000 -n root
2.2.1、創(chuàng)建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();三、任務(wù)步驟
3.1、創(chuàng)建訂單表和物品分類(lèi)表
3.2、導(dǎo)入數(shù)據(jù)到訂單表和物品分類(lèi)表
3.3、統(tǒng)計(jì)顧客數(shù)量和商品銷(xiāo)售量
3.4、統(tǒng)計(jì)各類(lèi)型商品的購(gòu)買(mǎi)情況
- 關(guān)聯(lián)訂單表和類(lèi)別表
- 按商品類(lèi)型分組統(tǒng)計(jì)并排序
3.5、統(tǒng)計(jì)所有商品中排名前20的熱銷(xiāo)商品
- 按商品分組統(tǒng)計(jì)銷(xiāo)售量
- 排序并選出排名前20的商品
3.6、統(tǒng)計(jì)不同類(lèi)別商品中排名前10的熱銷(xiāo)商品
- 關(guān)聯(lián)訂單表和類(lèi)別表
- 按商品類(lèi)型和商品分組統(tǒng)計(jì)各組各個(gè)商品的銷(xiāo)售量
- 對(duì)每種商品類(lèi)型中的商品按銷(xiāo)售量降序排序
- 取出每種商品類(lèi)型中排序前10的商品
3.7、將同一個(gè)客戶(hù)的訂單整合為一列并寫(xiě)入HDFS
- 通過(guò)HQL將表數(shù)據(jù)寫(xiě)入HDFS
總結(jié)
以上是生活随笔為你收集整理的学习笔记Hive(六) —— Hive开发应用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 学习笔记Hive(五) —— Hive应
- 下一篇: 学习笔记Hive(七)—— 自定义函数