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

Hive實(shí)戰(zhàn):計(jì)算總分與平均分

這篇具有很好參考價(jià)值的文章主要介紹了Hive實(shí)戰(zhàn):計(jì)算總分與平均分。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、實(shí)戰(zhàn)描述

本次實(shí)戰(zhàn)主要聚焦于使用Hive框架對(duì)成績(jī)數(shù)據(jù)進(jìn)行處理和分析。任務(wù)目標(biāo)是基于一個(gè)包含六個(gè)字段(姓名、語(yǔ)文、數(shù)學(xué)、英語(yǔ)、物理、化學(xué))的成績(jī)表,計(jì)算每個(gè)學(xué)生的總分和平均分。
首先,我們?cè)谔摂M機(jī)上創(chuàng)建了一個(gè)名為score.txt的文本文件,其中包含了五名學(xué)生的成績(jī)記錄。然后,我們將該文件上傳到HDFS的指定目錄/hivescore/input中。
接下來(lái),我們啟動(dòng)了Hive Metastore服務(wù),并通過(guò)執(zhí)行命令行啟動(dòng)了Hive客戶端。在客戶端中,我們創(chuàng)建了一個(gè)名為t_score的內(nèi)部Hive表,該表的結(jié)構(gòu)與成績(jī)表的字段相匹配。我們使用load data命令將HDFS中的成績(jī)數(shù)據(jù)加載到t_score表中。
最后,我們編寫了一條Hive SQL語(yǔ)句,用于計(jì)算每個(gè)學(xué)生的總分和平均分。該語(yǔ)句根據(jù)學(xué)生的姓名進(jìn)行分組,并對(duì)每個(gè)學(xué)生的所有科目成績(jī)進(jìn)行求和和求平均值。結(jié)果集包含了每個(gè)學(xué)生的姓名、總分和平均分。
通過(guò)這次實(shí)戰(zhàn),我們展示了如何利用Hive框架處理和分析大規(guī)模數(shù)據(jù),以及如何通過(guò)簡(jiǎn)單的SQL語(yǔ)句實(shí)現(xiàn)復(fù)雜的數(shù)據(jù)統(tǒng)計(jì)和計(jì)算任務(wù)。這一過(guò)程不僅體現(xiàn)了Hive在大數(shù)據(jù)處理中的高效性和便利性,也為我們提供了寶貴的實(shí)踐經(jīng)驗(yàn),為進(jìn)一步的數(shù)據(jù)分析工作奠定了基礎(chǔ)。

二、提出任務(wù)

成績(jī)表,包含六個(gè)字段(姓名、語(yǔ)文、數(shù)學(xué)、英語(yǔ)、物理、化學(xué)),有五條記錄
Hive實(shí)戰(zhàn):計(jì)算總分與平均分,hive,hadoop,數(shù)據(jù)倉(cāng)庫(kù)
利用Hive框架,計(jì)算每個(gè)同學(xué)的總分與平均分

  吳雨涵  404     404.0
  張曉紅  391     391.0
  李小雙  444     444.0
  王麗霞  418     418.0
  陳燕文  458     458.0

三、完成任務(wù)

(一)準(zhǔn)備數(shù)據(jù)文件

1、在虛擬機(jī)上創(chuàng)建文本文件

在master虛擬機(jī)上創(chuàng)建score.txt文件
Hive實(shí)戰(zhàn):計(jì)算總分與平均分,hive,hadoop,數(shù)據(jù)倉(cāng)庫(kù)

2、將文本文件上傳到HDFS指定目錄

在HDFS上創(chuàng)建/hivescore/input目錄

Hive實(shí)戰(zhàn):計(jì)算總分與平均分,hive,hadoop,數(shù)據(jù)倉(cāng)庫(kù)將score.txt文件上傳到HDFS的/hivescore/input目錄
Hive實(shí)戰(zhàn):計(jì)算總分與平均分,hive,hadoop,數(shù)據(jù)倉(cāng)庫(kù)

(二)實(shí)現(xiàn)步驟

1、啟動(dòng)Hive Metastore服務(wù)

執(zhí)行命令:hive --service metastore &,在后臺(tái)啟動(dòng)metastore服務(wù)

Hive實(shí)戰(zhàn):計(jì)算總分與平均分,hive,hadoop,數(shù)據(jù)倉(cāng)庫(kù)

2、啟動(dòng)Hive客戶端

執(zhí)行命令:hive,看到命令提示符hive>

Hive實(shí)戰(zhàn):計(jì)算總分與平均分,hive,hadoop,數(shù)據(jù)倉(cāng)庫(kù)
3、創(chuàng)建Hive表,加載HDFS數(shù)據(jù)文件
創(chuàng)建內(nèi)部表t_score,執(zhí)行命令: create table t_score ( name string, chinese int, math int, english int, physics int, chemistry int ) row format delimited fields terminated by ’ ';
Hive實(shí)戰(zhàn):計(jì)算總分與平均分,hive,hadoop,數(shù)據(jù)倉(cāng)庫(kù)
在MySQL的metastore數(shù)據(jù)庫(kù)的TBLS表里可以查看內(nèi)部表t_score對(duì)應(yīng)的記錄

Hive實(shí)戰(zhàn):計(jì)算總分與平均分,hive,hadoop,數(shù)據(jù)倉(cāng)庫(kù)

select TBL_ID,DB_ID,TBL_NAME,TBL_TYPE from metastore.TBLS;

加載成績(jī)數(shù)據(jù)文件到內(nèi)部表t_score,執(zhí)行命令:load data inpath ‘/hivescore/input/score.txt’ into table t_score;
Hive實(shí)戰(zhàn):計(jì)算總分與平均分,hive,hadoop,數(shù)據(jù)倉(cāng)庫(kù)
查看成績(jī)表全部記錄,執(zhí)行語(yǔ)句:select * from t_score;

4、利用Hive SQL統(tǒng)計(jì)總分與平均分
編寫Hive SQL語(yǔ)句,進(jìn)行詞頻統(tǒng)計(jì)
執(zhí)行命令:select name, sum(chinese + math + english + physics + chemistry) as total_score, avg(chinese + math + english + physics + chemistry) as average_score from t_score group by name;
Hive實(shí)戰(zhàn):計(jì)算總分與平均分,hive,hadoop,數(shù)據(jù)倉(cāng)庫(kù)
1、這個(gè)SQL語(yǔ)句的功能是在一個(gè)名為t_score的表中,根據(jù)學(xué)生的姓名(name)進(jìn)行分組,并對(duì)每個(gè)學(xué)生各科成績(jī)進(jìn)行統(tǒng)計(jì)計(jì)算。
SELECT name: 選擇t_score表中的name列,表示我們要按照姓名來(lái)顯示結(jié)果。
2、SUM(chinese + math + english + physics + chemistry) AS total_score: 對(duì)每個(gè)學(xué)生的語(yǔ)文、數(shù)學(xué)、英語(yǔ)、物理和化學(xué)成績(jī)進(jìn)行求和,并將這一結(jié)果命名為total_score。這將計(jì)算出每個(gè)學(xué)生的總分。
3、AVG(chinese + math + english + physics + chemistry) AS average_score: 對(duì)每個(gè)學(xué)生的語(yǔ)文、數(shù)學(xué)、英語(yǔ)、物理和化學(xué)成績(jī)進(jìn)行求平均值,并將這一結(jié)果命名為average_score。這將計(jì)算出每個(gè)學(xué)生的平均分。
4、FROM t_score: 指定數(shù)據(jù)來(lái)源是名為t_score的表。
5、GROUP BY name: 根據(jù)name列進(jìn)行分組,這意味著對(duì)于表中的每一條具有不同姓名的記錄,都會(huì)分別進(jìn)行總分和平均分的計(jì)算。

因此,這個(gè)SQL語(yǔ)句的最終功能是輸出一個(gè)結(jié)果集,其中包含每個(gè)學(xué)生的姓名、他們的總分以及平均分。

四、拓展練習(xí)

改變輸出格式

Hive實(shí)戰(zhàn):計(jì)算總分與平均分,hive,hadoop,數(shù)據(jù)倉(cāng)庫(kù)

(吳雨涵, 384, 384.0)
(張曉紅, 391, 391.0)
(李小雙, 444, 444.0)
(王麗霞, 418, 418.0)
(陳燕文, 458, 458.0)

做法:
執(zhí)行命令:SELECT CONCAT(‘(’, name, ', ', total_score, ', ', average_score, ‘)’) AS result FROM ( SELECT name, SUM(chinese + math + english + physics + chemistry) AS total_score, AVG(chinese + math + english + physics + chemistry) AS average_score FROM t_score GROUP BY name ) AS subquery;
Hive實(shí)戰(zhàn):計(jì)算總分與平均分,hive,hadoop,數(shù)據(jù)倉(cāng)庫(kù)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-784899.html

到了這里,關(guān)于Hive實(shí)戰(zhàn):計(jì)算總分與平均分的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包