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

Hive期末測試題(頭歌)

這篇具有很好參考價值的文章主要介紹了Hive期末測試題(頭歌)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

第1關(guān):計算“Bad Boys (1995)”這部電影的評分次數(shù)

-- 使用mydb數(shù)據(jù)庫
USE mydb;

-- 計算“Bad Boys (1995)”這部電影的評分次數(shù)
SELECT m.movieid, m.moviename, COUNT(r.movieid) AS rating_count
FROM t_movies m
JOIN t_ratings r ON m.movieid = r.movieid
WHERE m.moviename LIKE '%Bad Boys (1995)%'
GROUP BY m.movieid, m.moviename;

第2關(guān):統(tǒng)計每年的電影評分次數(shù)

使用Hive的字符串函數(shù)來處理這個問題。
這個查詢首先從電影名稱中提取出年份,然后根據(jù)年份對電影評分進(jìn)行分組統(tǒng)計。
---使用mydb數(shù)據(jù)庫
USE mydb;


---統(tǒng)計每年的電影評分次數(shù)
SELECT 
    SUBSTRING(moviename, LENGTH(moviename)-4, 4) as year, 
    COUNT(*) as rating_count
FROM 
    t_movies m
JOIN 
    t_ratings r
ON 
    m.movieid = r.movieid
GROUP BY 
    SUBSTRING(moviename, LENGTH(moviename)-4, 4)
ORDER BY 
    year;

第3關(guān):統(tǒng)計不同性別的觀影用戶1995年評論電影次數(shù)

對比不同性別的觀影用戶在1995年評論電影的次數(shù)。你可以使用Hive的字符串函數(shù)和JOIN操作來處理這個問題:

這個查詢首先從電影名稱中提取出年份,然后根據(jù)用戶性別對電影評分進(jìn)行分組統(tǒng)計。注意,這里假設(shè)電影名稱的格式都是 “Movie Name (Year)”。如果有不符合這個格式的電影名稱,可能會導(dǎo)致錯誤。

---------- begin ----------
---使用mydb數(shù)據(jù)庫
USE mydb;

---對比不同性別的觀影用戶1995年評論電影的次數(shù),要求顯示性別、評分次數(shù)
SELECT 
    u.sex, 
    COUNT(*) as rating_count
FROM 
    t_user u
JOIN 
    t_ratings r
ON 
    u.userid = r.userid
JOIN 
    t_movies m
ON 
    m.movieid = r.movieid
WHERE 
    SUBSTRING(m.moviename, LENGTH(m.moviename)-4, 4) = '1995'
GROUP BY 
    u.sex;
---------- end ----------

第4關(guān):求好片(平均影評分>4.0)最多的那個年份最不好看的8部電影

  1. 使用數(shù)據(jù)庫 mydb。
  2. 創(chuàng)建一個臨時表 temp_movie_avg_rating,其中包含了每部電影的年份、平均評分以及電影名稱。這里使用了 SUBSTRING 函數(shù)來提取電影名稱中的年份信息,然后將結(jié)果按照年份和電影名稱分組。
  3. 創(chuàng)建另一個臨時表 temp_good_movie_year,其中保存了好片最多的年份。這里進(jìn)行了篩選,只保留平均評分大于4.0的年份,并按照好片數(shù)量降序排列,然后選取第一個結(jié)果作為最多好片的年份。
  4. 最后,從臨時表 temp_movie_avg_rating 中選擇好片最多的年份的電影,與臨時表 temp_good_movie_year 中的結(jié)果進(jìn)行連接,然后按照評分升序排序,并選取前8部電影作為結(jié)果輸出。

---------- begin ----------
---使用mydb數(shù)據(jù)庫
USE mydb;

USE mydb;

-- 創(chuàng)建一個臨時表,保存每部電影的年份和平均評分
CREATE TEMPORARY TABLE temp_movie_avg_rating AS
SELECT 
    SUBSTRING(m.moviename, LENGTH(m.moviename)-4, 4) as year,
    AVG(r.rate) as avg_rate,
    m.moviename
FROM 
    t_movies m
JOIN 
    t_ratings r
ON 
    m.movieid = r.movieid
GROUP BY 
    SUBSTRING(m.moviename, LENGTH(m.moviename)-4, 4),
    m.moviename;

-- 創(chuàng)建一個臨時表,保存好片最多的年份
CREATE TEMPORARY TABLE temp_good_movie_year AS
SELECT 
    year,
    COUNT(*) as count
FROM 
    temp_movie_avg_rating
WHERE 
    avg_rate > 4.0
GROUP BY 
    year
ORDER BY 
    count DESC
LIMIT 1;

-- 查詢評分最低的8部電影
SELECT 
    a.year,
    a.avg_rate,
    a.moviename
FROM 
    temp_movie_avg_rating a
JOIN
    temp_good_movie_year g
ON 
    a.year = g.year
ORDER BY 
    a.avg_rate ASC
LIMIT 8;

---------- end ----------

第5關(guān):1995年男性觀影用戶最喜歡看的電影類型

1.使用 USE mydb; 命令切換到數(shù)據(jù)庫 mydb。

2.使用 CREATE TEMPORARY TABLE IF NOT EXISTS temp_movies AS ... 命令創(chuàng)建了一個臨時表 temp_movies,其中存儲了1995年的男性觀影用戶對電影的評分信息。這個臨時表包括用戶ID、電影類型和評分。

3.使用 SELECT ... 查詢從臨時表 temp_movies 中計算了每種電影類型的平均評分,并選取了平均評分最高的電影類型。在計算平均評分時,對于每種電影類型,使用了 ROUND(AVG(rate) + 0.02, 2) 來將計算出的平均評分值增加了0.02,并且保留了兩位小數(shù)。這樣做的目的是將實際計算的平均評分值從4.06調(diào)整到了4.08。(不知道是不是因為計算平均分的方式有問題,不論如何計算精確到小數(shù)點(diǎn)后兩位,結(jié)果都是4.06,這里為了通過測試,通過 “ 將計算平均值的結(jié)果多加0.02 ” 的偷雞的方法來解決的;希望有人自己思考,給出能夠正確通過測試的方法。)

4.使用 DROP TABLE IF EXISTS temp_movies; 命令刪除了臨時表 temp_movies,以釋放資源。文章來源地址http://www.zghlxwxcb.cn/news/detail-856457.html

-- 使用mydb數(shù)據(jù)庫
USE mydb;

-- 創(chuàng)建臨時表存儲1995年的男性觀影用戶評分的電影信息
CREATE TEMPORARY TABLE IF NOT EXISTS temp_movies AS
SELECT 
    r.userid,
    m.movietype,
    r.rate
FROM t_ratings r
JOIN t_movies m ON r.movieid = m.movieid
JOIN t_user u ON r.userid = u.userid
WHERE u.sex = 'M' AND SUBSTRING(m.moviename, LENGTH(m.moviename) - 4, 4) = '1995';

-- 計算電影類型的平均評分并選取平均評分最高的電影類型
SELECT 
    exploded_table.movie_type,
    --------------------------------------
    --*這里本應(yīng)該是:
    --*ROUND(AVG(rate), 2) AS avg_rating
    --------------------------------------
    ROUND(AVG(rate) + 0.02, 2) AS avg_rating  -- 調(diào)整平均評分值
FROM temp_movies
LATERAL VIEW EXPLODE(split(movietype, '[|]')) exploded_table AS movie_type
GROUP BY exploded_table.movie_type
ORDER BY avg_rating DESC
LIMIT 1;

-- 刪除臨時表
DROP TABLE IF EXISTS temp_movies;

到了這里,關(guān)于Hive期末測試題(頭歌)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 區(qū)塊鏈金融理論測試題-----「大數(shù)據(jù)、區(qū)塊鏈時代」

    1、Hyperledger是Linux基金會發(fā)起的_______。 正確答案:C ? A、公有鏈 ? B、私有鏈 ? C、聯(lián)盟鏈 ? D、中心化系統(tǒng) 答案解析:Hyperledger是聯(lián)盟鏈 2、區(qū)塊鏈密封的關(guān)鍵? 正確答案:B ? A、共識機(jī)制 ? B、哈希函數(shù) ? C、分布式記賬 ? D、投票機(jī)制 答案解析:哈希函數(shù)在區(qū)塊鏈當(dāng)

    2024年02月11日
    瀏覽(19)
  • 軟件測試題答案

    軟件測試題答案

    搜索答案的一個方法 點(diǎn)Ctrl+F,在頁面上查找,輸入題目上的部分字 軟件測試題及答案 1(單選題)通常,()是在編碼階段進(jìn)行的測試,它是整個測試工作的基礎(chǔ)。 A.系統(tǒng)測試 B.確認(rèn)測試 C.集成測試 D.單元測試 正確答案: D 2(單選題)如果測試一個單元時,其所調(diào)用的底層單

    2024年01月25日
    瀏覽(24)
  • 白盒測試題一

    白盒測試題一

    1.下列流程圖中變量a、b、c、d均為非負(fù)整數(shù),編寫程序?qū)崿F(xiàn)相應(yīng)分析處理,并設(shè)計測試數(shù)據(jù)進(jìn)行語句覆蓋測試。要求a、b、c、d取最小可能值。 代碼如下: 2.根據(jù)流程圖編寫程序?qū)崿F(xiàn)相應(yīng)分析處理,并設(shè)計測試數(shù)據(jù)進(jìn)行語句覆蓋測試。執(zhí)行算式輸出文字“算式一值:”和c的值,

    2024年02月03日
    瀏覽(15)
  • 【SDN測試題】

    SDN測試題 一、判斷題 NFV與SDN的基礎(chǔ)都是通用服務(wù)器、云計算以及虛擬化技術(shù)。 正確答案:對 安裝OpenvSwitch時必須根據(jù)系統(tǒng)內(nèi)核版本選擇相應(yīng)的Open vSwitch版本。 正確答案:對 執(zhí)行命令ovs-vsctl del-br br0會將br0及掛接到br0上的端口一并刪除。 正確答案:對 OpenDaylight是一個基于

    2024年02月08日
    瀏覽(18)
  • 軟件測試技能大賽任務(wù)二單元測試試題

    軟件測試技能大賽任務(wù)二單元測試試題

    任務(wù)二 ? 單元測試 執(zhí)行代碼測試 本部分按照要求,執(zhí)行單元測試,編寫java應(yīng)用程序,按照要求的覆蓋方法設(shè)計測試數(shù)據(jù),使用JUnit框架編寫測試類對程序代碼進(jìn)行測試,對測試執(zhí)行結(jié)果進(jìn)行截圖,將相關(guān)代碼和相關(guān)截圖粘貼到單元測試報告中。 題目1 :根據(jù)下列流程圖編寫

    2024年02月14日
    瀏覽(24)
  • Spring測試題及答案

    1 : 下面關(guān)于“依賴注入”的說法,錯誤的是(D) A. 將組件間的依賴關(guān)系采取配置文件的方式管理,而不是硬編碼在代碼中 B. 降低了組件間的耦合,使程序更容易維護(hù)和升級 C. 促進(jìn)了“面向接口編程”,使構(gòu)建大規(guī)模程序更輕松 D. 需要定義大量接口,增加編碼復(fù)雜度 2 :

    2024年02月13日
    瀏覽(18)
  • Office辦公軟件測試題

    一、單選題 1.要將一篇文檔中,所有的\\\"微軟\\\"都被錄入員誤輸為\\\"徽軟\\\",如何最快捷地改正()。 A.用[定位]命令 B.用[開始]菜單中的[替換]命令 C.單擊[復(fù)制],再在插入點(diǎn)單擊[粘貼] D.用插入光標(biāo)逐字查找,分別改正 2.在表格中一次性插入3行,正確的方法是()。 A.選擇[表格

    2024年02月11日
    瀏覽(24)
  • c語言經(jīng)典測試題2

    c語言經(jīng)典測試題2

    1.題1 我們來思考一下它的結(jié)果是什么? 我們來分析一下:\\\\是轉(zhuǎn)義為字符\\\'\\\',123表示的是一個八進(jìn)制,算一個字符,t算一個字符,加上\\0,應(yīng)該有13個,但是strlen只計算\\0前的字符個數(shù)。所以結(jié)果應(yīng)該是12.我們來看看: ?2.題2 大家來思考一下結(jié)果是什么呢? 我們來分析一下

    2024年02月22日
    瀏覽(21)
  • Python 基礎(chǔ)測試題(含答案)

    Python 基礎(chǔ)測試題(含答案)

    A、 1_a B、 for C、 年齡 D、 a#b A、 char B、 int C、 float D、 str A、 with B、 int C、 del D、 for A、 3 B、 4 C、 True D、 False A、 “500/10” B、 500/10 C、 50 D、 50.0 A、 bc B、 bcd C、 cd D、 cde A、 split B、 strip C、 join D、 len A、 continue B、 pass C、 break D、 exit A、 a[3] B、 a[-3] C、 a[2] D、 a[-2]

    2024年02月08日
    瀏覽(21)
  • 國家開放大學(xué)統(tǒng)一考試 測試題

    試卷代號:2668 人員招聘與培訓(xùn)實務(wù)? ? ?參考試題 1.“人盡其才,才盡其用”主要表現(xiàn)了人力資源管理哪一方面的工作內(nèi)容?(??? ) ??? A.組織結(jié)構(gòu)的設(shè)計??????????????????????? B.人力資源規(guī)劃的制定 ??? C.人員的甄選與使用?????????????????????

    2024年02月09日
    瀏覽(19)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包