国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Hive實戰(zhàn)練習(xí)(包含數(shù)據(jù)集)

這篇具有很好參考價值的文章主要介紹了Hive實戰(zhàn)練習(xí)(包含數(shù)據(jù)集)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

數(shù)據(jù)集直鏈下載(100MB): https://www.123pan.com/s/T1n0Vv-mTc3d

1.0數(shù)據(jù)說明

hive數(shù)據(jù)集,Hive入門進階,hive,hadoop,數(shù)據(jù)倉庫

hive數(shù)據(jù)集,Hive入門進階,hive,hadoop,數(shù)據(jù)倉庫

2.0建表

1.創(chuàng)建數(shù)據(jù)庫

create database db_exercise;

2.切換到數(shù)據(jù)庫

use db_exercise;

3.創(chuàng)建原始數(shù)據(jù)表:gulivideo,gulivideo_user

create table gulivideo_ori(
    videoid string,
    uploader string,
    age int,
    category array<string>,
    length int,
    views int,
    rate float,
    ratings int,
    comments int,
    relatedId array<string>)
row format delimited fields terminated by "\t"
collection items terminated by "&";
create table gulivideo_user(
 uploader string,
 videos int,
 friends int)
row format delimited
fields terminated by "\t";

4.上傳數(shù)據(jù)到hdfs

hdfs dfs -put data/user/user.txt   /user/hive/warehouse/db_exercise.db/gulivideo_ori
hdfs dfs -put data/video/*   /user/hive/warehouse/db_exercise.db/gulivideo_ori

3.0實戰(zhàn)練習(xí)

3.1統(tǒng)計視頻觀看數(shù) Top10

select videoid,views
from gulivideo_ori
order by views desc
limit 10;

3.2統(tǒng)計視頻類別熱度 Top10

(1)即統(tǒng)計每個類別有多少個視頻,顯示出包含視頻最多的前 10 個類別。

(2)我們需要按照類別 group by 聚合,然后 count 組內(nèi)的 videoId 個數(shù)即可。

(3)因為當(dāng)前表結(jié)構(gòu)為:一個視頻對應(yīng)一個或多個類別。所以如果要 group by 類別,需要先將類別進行列轉(zhuǎn)行(展開),然后再進行 count 即可。

(4)最后按照熱度排序,顯示前 10 條。

select t1.category_name,count(t1.videoId) hot
from(
    select videoid,category_name
    from gulivideo_ori lateral view explode(category)  gulivideo_orc_tmp AS category_name
    )t1
group by t1.category_name
order by hot desc
limit 10;

3.3統(tǒng)計出視頻觀看數(shù)最高的 20 個視頻的所屬類別以及類別包含Top20 視頻的個數(shù)

(1)先找到觀看數(shù)最高的 20 個視頻所屬條目的所有信息,降序排列

(2)把這 20 條信息中的 category 分裂出來(列轉(zhuǎn)行)

(3)最后查詢視頻分類名稱和該分類下有多少個 Top20 的視頻

select
    t2.category_name,
    COUNT(t2.videoid) video_sum
from(
        select
           t1.videoid,
           category_name
        from (
             select videoid,views,category
             from gulivideo_ori
             order by views desc
             limit 20
             )t1
        lateral VIEW explode(t1.category) t1_tmp AS category_name
        )t2
GROUP BY t2.category_name;

3.4統(tǒng)計每個類別中的視頻熱度 Top10,以 Music 為例

(1)要想統(tǒng)計 Music 類別中的視頻熱度 Top10,需要先找到 Music 類別,那么就需要將category 展開,所以可以創(chuàng)建一張表用于存放 categoryId 展開的數(shù)據(jù)。

(2)向 category 展開的表中插入數(shù)據(jù)。

(3)統(tǒng)計對應(yīng)類別(Music)中的視頻熱度。

SELECT
 t1.videoid,
 t1.views,
 t1.category_name
FROM
    (
    SELECT
     videoId,
     views,
     category_name
    FROM gulivideo_ori
    lateral VIEW explode(category) gulivideo_orc_tmp AS category_name
    )t1
WHERE
 t1.category_name = "Music"
ORDER BY
 t1.views
DESC
LIMIT 10;

3.5統(tǒng)計每個類別視頻觀看數(shù) Top10

SELECT
     t2.videoid,
     t2.views,
     t2.category_name,
     t2.rk
FROM
    (
    SELECT
         t1.videoid,
         t1.views,
         t1.category_name,
     rank() over(PARTITION BY t1.category_name ORDER BY t1.views DESC ) rk
    FROM
        (
        SELECT
             videoid,
             views,
             category_name
        FROM gulivideo_ori
        lateral VIEW explode(category) gulivideo_orc_tmp AS category_name
        )t1
    )t2
WHERE t2.rk <=10;

3.6統(tǒng)計上傳視頻最多的用戶 Top10以及他們上傳的視頻觀看次數(shù)在前 20 的視頻

SELECT
 t2.videoid,
 t2.views,
 t2.uploader
FROM
    (
        SELECT
         uploader,
         videos
        FROM gulivideo_user
        ORDER BY videos DESC
        LIMIT 10
    ) t1
JOIN gulivideo_ori t2
ON t1.uploader = t2.uploader
ORDER BY t2.views DESC
LIMIT 20;

hive數(shù)據(jù)集,Hive入門進階,hive,hadoop,數(shù)據(jù)倉庫文章來源地址http://www.zghlxwxcb.cn/news/detail-605216.html

到了這里,關(guān)于Hive實戰(zhàn)練習(xí)(包含數(shù)據(jù)集)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【項目實戰(zhàn)】基于Hadoop大數(shù)據(jù)電商平臺用戶行為分析與可視化系統(tǒng)Hive、Spark計算機程序開發(fā)

    【項目實戰(zhàn)】基于Hadoop大數(shù)據(jù)電商平臺用戶行為分析與可視化系統(tǒng)Hive、Spark計算機程序開發(fā)

    注意:該項目只展示部分功能,如需了解,評論區(qū)咨詢即可。 在當(dāng)今數(shù)字化時代,電商行業(yè)成為全球商業(yè)生態(tài)系統(tǒng)的關(guān)鍵組成部分,電商平臺已經(jīng)深入各行各業(yè),影響了人們的購物方式和消費習(xí)慣。隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,電商平臺產(chǎn)生了大量的用戶數(shù)據(jù),包括點擊、購

    2024年02月04日
    瀏覽(111)
  • 大數(shù)據(jù)之Hadoop數(shù)據(jù)倉庫Hive

    大數(shù)據(jù)之Hadoop數(shù)據(jù)倉庫Hive

    Hive 是一個構(gòu)建在 Hadoop 之上的數(shù)據(jù)倉庫,它可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射成表,并提供類 SQL 查詢功能,用于查詢的 SQL 語句會被轉(zhuǎn)化為 MapReduce 作業(yè),然后提交到 Hadoop 上運行。 特點: 簡單、容易上手 (提供了類似 sql 的查詢語言 hql),使得精通 sql 但是不了解 Java 編程的人也

    2024年02月01日
    瀏覽(28)
  • HDFS 跨集群數(shù)據(jù)同步(hive,hadoop)

    兩個不同的HDFS 集群數(shù)據(jù)遷移( A集群的數(shù)據(jù) - B 集群) 采用的是 SHELL 腳本 ?按表進行; 日期分區(qū)進行; #!/bin/bash ##################### #創(chuàng)建人:DZH #創(chuàng)建日期: 2020-04 #內(nèi)容: 數(shù)據(jù)遷移 ##################### ##################################### [ \\\"$#\\\" -ne 0 ] FILE=$1 path=$(cd `dirname $0`; pwd) ############## 獲取執(zhí)

    2024年04月27日
    瀏覽(104)
  • 【大數(shù)據(jù)進階第三階段之Hive學(xué)習(xí)筆記】Hive的數(shù)據(jù)類型與數(shù)據(jù)操作

    【大數(shù)據(jù)進階第三階段之Hive學(xué)習(xí)筆記】Hive的數(shù)據(jù)類型與數(shù)據(jù)操作

    目錄 1、Hive數(shù)據(jù)類型 1.1、基本數(shù)據(jù)類型 1.2、集合數(shù)據(jù)類型 1.3、類型轉(zhuǎn)化 2、DDL數(shù)據(jù)定義 2.1、創(chuàng)建數(shù)據(jù)庫 2.2、查詢數(shù)據(jù)庫 2.3刪除數(shù)據(jù)庫 2.4、創(chuàng)建表 2.4.1、內(nèi)部表 2.4.2、外部表 2.4.3管理表與外部表的互相轉(zhuǎn)換 2.5、分區(qū)表(partition) 2.6、修改表 2.6.1重命名表 2.6.2增加/修改/替換

    2024年01月16日
    瀏覽(17)
  • 大數(shù)據(jù)技術(shù)之Hadoop學(xué)習(xí)(七)——Hive數(shù)據(jù)倉庫

    大數(shù)據(jù)技術(shù)之Hadoop學(xué)習(xí)(七)——Hive數(shù)據(jù)倉庫

    目錄 素材 一、數(shù)據(jù)倉庫簡介 1、數(shù)據(jù)倉庫的認(rèn)識 (1)數(shù)據(jù)倉庫是面向主題的。 (2)數(shù)據(jù)倉庫是隨時間變化的。 (3)數(shù)據(jù)倉庫相對穩(wěn)定 (4)OLTP和OLAP 2、數(shù)據(jù)倉庫的結(jié)構(gòu) (1)數(shù)據(jù)源 (2)數(shù)據(jù)存儲及管理 (3)OLAP 服務(wù)器 (4)前端工具 3、數(shù)據(jù)倉庫的數(shù)據(jù)模型 (1)星狀模

    2024年02月17日
    瀏覽(59)
  • Spark、RDD、Hive 、Hadoop-Hive 和傳統(tǒng)關(guān)系型數(shù)據(jù)庫區(qū)別

    Spark、RDD、Hive 、Hadoop-Hive 和傳統(tǒng)關(guān)系型數(shù)據(jù)庫區(qū)別

    Hive Hadoop Hive 和傳統(tǒng)關(guān)系型數(shù)據(jù)庫區(qū)別 Spark 概念 基于內(nèi)存的分布式計算框架 只負(fù)責(zé)算 不負(fù)責(zé)存 spark 在離線計算 功能上 類似于mapreduce的作用 MapReduce的缺點 運行速度慢 (沒有充分利用內(nèi)存) 接口比較簡單,僅支持Map Reduce 功能比較單一 只能做離線計算 Spark優(yōu)勢 運行速度快

    2024年02月13日
    瀏覽(24)
  • hive查看數(shù)據(jù)庫出現(xiàn)org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

    hive查看數(shù)據(jù)庫出現(xiàn)org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

    在啟動hive后,使用show databses查看數(shù)據(jù)庫時發(fā)現(xiàn),出現(xiàn)了這個錯誤 根據(jù)搜索查找以及分析得知:可能是hive的數(shù)據(jù)庫MySQL在安裝的時候沒有初始化,初始化數(shù)據(jù)庫即可 schematool -dbType mysql -initSchema? 1.在MySQL中刪除元數(shù)據(jù) drop database metastore; 2.進入hive中的bin里面?,輸入格式化命令

    2024年02月07日
    瀏覽(25)
  • 大數(shù)據(jù)Hadoop之——部署hadoop+hive+Mysql環(huán)境(window11)

    大數(shù)據(jù)Hadoop之——部署hadoop+hive+Mysql環(huán)境(window11)

    目錄 一、安裝JDK8 1)JDK下載地址 2)設(shè)置環(huán)境變量 二、Hadoop安裝(window10環(huán)境) 1)下載Hadoop3.1.3 2)Hadoop配置環(huán)境變量 3)在hadoop解壓目錄下創(chuàng)建相關(guān)目錄 4)修改Hadoop配置文件 1、core-site.xml文件:添加以下配置 2、hdfs-site.xml文件:添加以下配置,路徑改成自己的安裝路徑 3、

    2024年02月08日
    瀏覽(52)
  • 詳解數(shù)據(jù)庫、Hive以及Hadoop之間的關(guān)系

    詳解數(shù)據(jù)庫、Hive以及Hadoop之間的關(guān)系

    數(shù)據(jù)庫是一個用于存儲和管理數(shù)據(jù)的系統(tǒng)。 數(shù)據(jù)庫管理系統(tǒng)(DBMS)是用于管理數(shù)據(jù)庫的軟件。 數(shù)據(jù)庫使用表和字段的結(jié)構(gòu)來組織和存儲數(shù)據(jù)。 關(guān)系型數(shù)據(jù)庫是最常見的數(shù)據(jù)庫類型,使用SQL(Structured Query Language)進行數(shù)據(jù)操作和查詢。 數(shù)據(jù)庫管理系統(tǒng)(DBMS):數(shù)據(jù)庫管理系

    2024年03月15日
    瀏覽(27)
  • Hadoop內(nèi)hive之間,hive與DB、ES等之間數(shù)據(jù)交互的問題與解決方案

    之前做大數(shù)據(jù)處理,經(jīng)常遇到各種問題。很多時候是項目作業(yè)簡單項配置問題,也可能是導(dǎo)入導(dǎo)出參數(shù)配置的問題,也可能是公司Hadoop平臺的問題。那么如何排查問題,解決問題?這種事情,除了自己要積累一些大數(shù)據(jù)的知識和技能外,也需要一些獲得一些排查問題的技巧、

    2024年02月01日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包