红菊直播官方版-红菊直播免费版app下载-红菊直播永久免费版下载

網站首頁
手機版

2023國賽中職組大數據應用與服務賽項題庫參考答案陸續(xù)更新

更新時間:2024-06-10 21:19作者:小樂

題號:試題01 模塊2:數據采集與處理(一) 任務1:數據采集與清洗1、子任務1:數據采集

啟動Hadoop集群,使用HDFS Shell命令在HDFS根目錄下級聯(lián)創(chuàng)建名為/behavior/origin_log的目錄,用于存儲收集的用戶行為日志;答案:hadoop fs -mkdir -p /behavior/origin_log

目錄創(chuàng)建完成。使用HDFS Shell命令將本地/root/eduhq/data/app_log/behavior目錄下的所有用戶行為日志文件收集到HDFS /behavior/origin_log目錄下;答案:hadoop fs -put /root/eduhq /data/app_log/behavior/* /behavior/origin_log

采集完成后,在本機打開瀏覽器,訪問http://本地主機名:9870或http://本地IP地址:9870進入HDFS WebUI界面,查看數據是否已成功采集到HDFS。答:使用瀏覽器訪問即可。

2. 子任務2:數據清理

在Windows操作系統(tǒng)上使用Excel軟件打開名為“behavior2023-01-01.csv”的文件;

清理數據并關注名為“behavior2023-01-01.csv”的文件中的“時間”列。將時間和日期格式分為兩列:日期和時間?;卮穑?

(2)任務二:數據標注開發(fā):開發(fā)一個簡單的Java類IpToLocUdf,繼承

org.apache.hadoop.hive.ql.udf.generic.GenericUDF,重載了initialize()、evaluate()和getDisplayString()方法;該類需要通過IP實現(xiàn)從/root/eduhq/data/area.json文件中隨機獲取“省”和“城市”信息,完成數據的分類和標注。

答案:導入org.apache.hadoop.hive.ql.exec.UDFArgumentException;

導入org.apache.hadoop.hive.ql.exec.UDFArgumentLengthException;

導入org.apache.hadoop.hive.ql.exec.UDFArgumentTypeException;

導入org.apache.hadoop.hive.ql.metadata.HiveException;

導入org.apache.hadoop.hive.ql.udf.generic.GenericUDF;

導入org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;

導入org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorFactory;

導入org.apache.hadoop.hive.serde2.objectinspector.primitive.StringObjectInspector;

導入org.codehaus.jackson.JsonNode;

導入org.codehaus.jackson.map.ObjectMapper;

導入org.codehaus.jackson.node.ObjectNode;

導入java.io.File;

導入java.io.IOException;

導入java.util.ArrayList;

導入java.util.List;

公共類IpToLocUdf 擴展GenericUDF {

私有StringObjectInspector stringInspector;

私有ObjectInspector 輸出OI;

//初始化函數,用于設置函數參數和輸出類型

/*

該初始化方法的主要作用是驗證輸入參數的數量和類型,并將輸出類型設置為字符串。

如果輸入的參數不符合要求,則會拋出異常。

最后,它返回一個輸出類型的ObjectInspector 供其他方法使用。

*/

@覆蓋

公共ObjectInspector 初始化(ObjectInspector []參數)拋出UDFArgumentException {

//檢查參數個數是否為1,如果不是則拋出異常

if (arguments.length !=1) {

拋出新的UDFArgumentLengthException(

'函數iptoloc(ip) 只接受1 個參數。');

}

//檢查第一個參數是否為StringObjectInspector類型,如果不是則拋出異常

if (!(arguments[0] StringObjectInspector 實例)) {

拋出新的UDFArgumentTypeException(0,

'參數必須是字符串,但是' + argument[0].getTypeName()

+ '已給出。');

}

//將第一個參數設置為字符串類型的ObjectInspector

this.stringInspector=(StringObjectInspector) 參數[0];

//設置輸出類型為string,并通過反射創(chuàng)建ObjectInspector實例

this.outputOI=ObjectInspectorFactory.getReflectionObjectInspector(String.class,

ObjectInspectorFactory.ObjectInspectorOptions.JAVA);

//打印輸出類型的ObjectInspector信息

System.out.println(outputOI);

返回輸出OI; //返回輸出類型的ObjectInspector以供其他方法使用

}

@覆蓋

公共對象評估(DeferredObject []參數)拋出HiveException {

//獲取傳入的IP地址參數

String ip=stringInspector.getPrimitiveJavaObject(arguments[0].get());

//從指定文件中讀取區(qū)域信息

//文件file=new File('/root/eduhq/data/area.json');

文件file=new File('/resources/area.json');

ObjectMapper 映射器=new ObjectMapper();

列出省份=new ArrayList();

列出城市=new ArrayList();

嘗試{

//解析JSON文件

JsonNode rootNode=mapper.readTree(file);

//遍歷JSON節(jié)點獲取省市信息

for (JsonNode 節(jié)點: rootNode) {

String Province=node.path('province').getTextValue();

String city=node.path('city').getTextValue();

省份.add(省份);

城市.add(城市);

}

} catch (IOException e) {

throw new HiveException('無法讀取area.json file:' + e.getMessage(), e);

}

//根據IP地址進行分類和標簽

int 索引=ipToIndex(ip);

字符串省份=Provinces.get(index);

字符串城市=城市.get(索引);

//返回分類標注結果

ObjectNode結果=mapper.createObjectNode();

result.put('省份', 省份);

結果.put('城市', 城市);

返回結果.toString();

}

@覆蓋

公共字符串getDisplayString(String[] 兒童) {

返回'iptoloc(' + Children[0] + ')';

}

私有int ipToIndex(字符串ip) {

//根據IP地址的某種算法得到索引值

//這里我們簡單的使用IP地址的字符長度模擬算法

返回ip.length() % 7;

}

}

org.apache.hive

hive 執(zhí)行程序

3.1.2

(三)任務三:數據統(tǒng)計1、子任務一:HDFS文件上傳下載

(1)將包“com.hive.udf”導出為名為hive-udf-behavior-1.0.0.jar的JAR文件并保存在本地

/root/eduhq/udf_jars 目錄;

答案:https://blog.csdn.net/gb4215287/article/details/132793531

(2)將打包后的文件hive-udf-behavior-1.0.0.jar上傳到HDFS的/hive/udf_jars目錄下;

答案:hadoop fs -put hive-udf-behavior-1.0.0.jar /hive/udf_jars

(3)在Hive客戶端中,創(chuàng)建永久函數url_trans和get_city_by_ip,并與開發(fā)的類關聯(lián)起來;

答案:添加jar /root/eduhq/udf_jars/hive-udf-behavior-1.0.0.jar

創(chuàng)建函數url_trans 作為com.hive.udf.url_trans;

創(chuàng)建函數get_city_by_ip 為com.hive.udf.get_city_by_ip;

(4)在Hive客戶端上,使用select語句測試url_trans和get_city_by_ip函數;

答:根據具體功能使用。例如:

選擇get_city_by_ip(ip);

(5)啟動Hive的動態(tài)分區(qū)功能,并將Hive設置為非嚴格模式;

答案:設置hive.exec.dynamic.partition=true;

設置hive.exec.dynamic.partition.mode=nostrict;

(6)使用insert overwrite . select .子句將ods_behavior_log表中的數據插入到分區(qū)表dwd_behavior_log中,實現(xiàn)基于dt的動態(tài)分區(qū)。

答案:插入覆蓋表dwd_behavior_log PARTITION (dt) select *,date_format(dt,'yyyy-MM-dd') from ods_behavior_log;

2. 子任務2:數據統(tǒng)計

查看dwd_behavior_log表所有現(xiàn)有分區(qū);答案:顯示分區(qū)dwd_behavior_log;

檢查外部表dwd_behavior_log前3行數據,驗證URL協(xié)議是否統(tǒng)一為“http”,是否可以通過IP獲取“省”和“城市”信息;答案:SELECT * FROM dwd_behavior_log LIMIT 3;

從dwd_behavior_log 中選擇URL,其中URL 類似于“http://%”;

返回以“http://”開頭的所有URL。如果返回的行數大于0,則說明URL協(xié)議統(tǒng)一為“http”。

通過ip獲取省份,例如: select get_city_by_ip(ip);

統(tǒng)計外部表dwd_behavior_log中數據的總行數。答案:從dwd_behavior_log 中選擇COUNT(*);

獲取更多資訊,請聯(lián)系

武漢微眾智能創(chuàng)新科技有限公司

了解更多信息請登錄www.whwzzc.com,咨詢電話13037102709

*本資料中的產品圖片和技術數據僅供參考,如有更新,恕不另行通知。具體內容解釋權歸微眾所有。

為您推薦

GRE考試多少分才算高分?GRE如何準備才能拿高分?

申請歐美國家高校的研究生,需要很多材料,比如本科GPA、推薦信、研究報告和論文等。而GRE考試成績也一直被當做美國研究生錄取的硬性標準之一。那么GRE考試多少分才算高分呢?GRE如何準備才能拿高分?下面武漢雷哥GRE小伊就給大家介紹一下。G

2024-06-10 21:19

GRE考試須知|GRE寫作題庫哪里找?(gre作文考試題庫)

上周R妹提到GRE考試各個板塊的題庫,但是獨獨沒有詳細的說GRE寫作兩種文章的版塊,那么這次就來詳細的說一說GRE寫作issue和argument的文章在哪里找呢?其實GRE寫作的題庫,全都在ETS官網就能找到,可能ETS官網提供的信息太多

2024-06-10 21:18

五個 SQL 查詢性能測試題,只有 40% 及格率,你敢來挑戰(zhàn)嗎?| 原力計劃

作者 | 董旭陽TonyDong,CSDN 博客專家責編 | 唐小引頭圖 | CSDN 下載自東方 IC出品 | CSDN 博客下面是 5 個關于索引和 SQL 查詢性能的測試題;其中 4 個題目都是答案二選一,1 個題目是三選一。只要答對

2024-06-10 21:18

民國著名大學入學考試真題?!

最近翻閱了幾本民國時期的高考輔導書,發(fā)現(xiàn)民國時期各家大學的入學考試題目各有特色。下面摘錄文科科目的部分大題目,分享給大家。一、民國歷年國文作文題目清華大學:1、我的國文老師2、夏日的昆蟲3、讀史書所見4、我的衣服5、苦熱6、曉行7、燈8、路

2024-06-10 21:17

《英語》選擇題、填空題、作文萬能句子(趕緊背)(關于英語選擇題做法的技巧)

一、選擇題解題技巧 做單項選擇題時要注意以下幾個方面:1、先易后難:一些考題的答案比較容易選定,可以先從這些考題入手。平時練習時,應以基礎為主,主要精力不應放在偏題、怪題上。2、分析考察意圖、運用相關知識:學會分析出題者考察的意圖,明確相關

2024-06-10 21:17

何兆熊綜合教程1第2版練習真題和答案(何兆熊綜合英語教程pdf)

關注我!Unit 1一、詞匯短語Text I1confront [kEn5frQnt] v. a) force to deal with or accept the truth of; bring face to face with使對峙,

2024-06-10 21:16

加載中...