日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

学习笔记Hive(六) —— Hive开发应用

發(fā)布時(shí)間:2025/3/21 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 学习笔记Hive(六) —— Hive开发应用 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、任務(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的商品
row_number() over()分組排序功能


3.7、將同一個(gè)客戶(hù)的訂單整合為一列并寫(xiě)入HDFS

  • 通過(guò)HQL將表數(shù)據(jù)寫(xiě)入HDFS
collect_list(字段) 將某字段拼成列表 concat_ws(',',collect_list(字段)) 設(shè)置拼接時(shí)的分隔符

總結(jié)

以上是生活随笔為你收集整理的学习笔记Hive(六) —— Hive开发应用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。