2023年全国职业院校技能大赛中职组大数据应用与服务赛项题库参考答案陆续更新中,敬请期待…
2023年全国职业院校技能大赛中职组大数据应用与服务赛项题库参考答案陆续更新中,敬请期待…
武汉唯众智创科技有限公司
2024 年 2 月
联系人:辜渝傧13037102709
题号:试题01
模块三:业务分析与可视化
(一)任务一:数据可视化
1.子任务一:数据分析
(1)在 comm 数 据 库 下 创 建 一 个 名 为
dws_behavior_log的外部表,如果表已存在,则先删除;分区字段为dt,即根据日期进行分区;另外,要求指定表的存储路径为HDFS的/behavior/dws/dws_behavior_log目录,存储文件类型为“orc”,文件的压缩类型为“snappy”;字段类型如下表所示;
表6 字段类型表
答:
DROP TABLE IF EXISTS dws_behavior_log;
create external table comm.dws_behavior_log(client_ip string,device_type string,type string,device string,url string,province string,city string) partitioned by (dt string) STORED AS orc location '/behavior/dws/dws_behavior_log' tblproperties ("orc.compress"="SNAPPY");
(2)启动Hive的动态分区功能,并将Hive设置为非严格模式;
答:
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nostrict;
(3)使用insert overwrite … select …子句将dwd_behavior_log表中数据插入分区表dws_behavior_log中,并实现根据dt进行动态分区;
答:insert overwrite table dws_behavior_log PARTITION (dt) select * from dwd_behavior_log;
(4)查看dws_behavior_log表的所有现有分区、前3行数据,并统计统计表数据总行数;
答:
SHOW PARTITIONS dws_behavior_log;
SELECT * FROM dwd_behavior_log LIMIT 3;
SELECT count(*) FROM dws_behavior_log;
(5)在comm数据库下创建一个名为dim_date的外部表,如果表已存在,则先删除;另外,要求指定表的存储路径为HDFS的/behavior/dim/dim_date目录,字段分隔符为 “\t” , 建 表 时 添 加 TBLPROPERTIES
(‘skip.header.line.count’=‘1’) 语句让Hive读取外表数据时跳过文件行首(表头);字段类型如下表所示;
表7 字段类型表
答:
DROP TABLE IF EXISTS comm.dim_date;
create external table comm.dim_date(date_id string,week_id string,week_day string,day string,month string,quarter string,year string,is_workday string,holiday string) row format delimited fields terminated by '\t' location '/behavior/dim/dim_date' TBLPROPERTIES ('skip.header.line.count'='1');
(6)在comm数据库下创建一个名为dim_area的外部表,如果表已存在,则先删除;另外,要求指定表的存储路径为HDFS的/behavior/dim/dim_area目录,字段分隔符为
“\t”;字段类型如下表所示;
表8 字段类型表
答:
drop table if exists comm.dim_area;
create external table comm.dim_area(city string,province string,area string) row format delimited fields terminated by '\t' location '/behavior/dim/dim_area';
(7)使用load data子句将本地/root/eduhq/data目录下的“dim_date_2023.txt”和“dim_area.txt”文件分别加载到外部表dim_date和dim_area中;
答:
load data local inpath '/root/eduhq/data/dim_date_2023.txt' into table comm.dim_date;
load data local inpath '/root/eduhq/data/dim_area.txt' into table comm.dim_area;
(8)分别查看外部表dim_date和dim_area的前3行数据;
答:
select * from comm.dim_date limit 3;
select * from comm.dim_area limit 3;
(9)分别统计外部表dim_date和dim_area数据总行数;
答:
select count(*) from comm.dim_date;
select count(*) from comm.dim_area;
(10)统计不同省份用户访问量;将统计结果导出到本地文件系统的/root/eduhq/result/ads_user_pro目录下,并指定列的分隔符为逗号(特别注意:因为省份是随机获取的,所以结果会有所差异);
insert overwrite local directory '/root/eduhq/result/ads_user_pro' ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' select province,count(*) from comm.dim_area group by province;
(11)统计不同时间段的网页浏览量将统计结果导出到本地文件系统的/root/eduhq/result/ads_user_hour 目录下,并指定列的分隔符为逗号;
答:insert overwrite local directory '/root/eduhq/result/ads_user_hour' ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' select *,DATE_FORMAT(time, 'yyyy-MM-dd HH') AS hour from comm.xxx group by hour;
(12)不同网站访客的设备类型统计;将统计结果导出到本地文件系统的/root/eduhq/result/ads_visit_mode目录下,并指定列的分隔符为逗号;
答:insert overwrite local directory '/root/eduhq/result/ads_visit_mode' ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' select url,device_type from comm.xxx group by device_type;
(13)不同网站的上网模式统计;将统计结果导出到本地文件系统的/root/eduhq/result/ads_online_type 目录下,并指定列的分隔符为逗号;
答:insert overwrite local directory '/root/eduhq/result/ads_online_type' ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' select url,type from comm.xxx group by type;
2.子任务二:数据可视化
(1)使用Pyecharts库绘制中国地图,以直观展示不同省份用户访问量分布情况;
⚫文件名:ads_user_pro.py
⚫文件存放地址:/root/eduhq/python/
⚫数据目录:/root/eduhq/result/ads_user_pro目录
⚫背景地址:/root/eduhq/images/img_1.png
⚫图表名称:不同省份用户访问量分布图.html
⚫图表存放地址:/root/eduhq/html/
(2)使用Pyecharts库绘制一个带时间轴的柱形图,以直观展示不同经济大区用户的访问量统计情况;
⚫文件名:ads_user_region.py
⚫文件存放地址:/root/eduhq/python/
⚫数据目录:
/root/eduhq/result/ads_user_region目录
⚫背景地址:/root/eduhq/images/img_2.png
⚫图表名称:不同经济大区用户访问量统计柱形图
.html
⚫图表存放地址:/root/eduhq/html/
(3)使用Pyecharts绘制网页浏览量统计折线图,直观展示不同时间段内的访问量变化趋势;
⚫文件名:ads_user_hour.py
⚫文件存放地址:/root/eduhq/python/
⚫数据目录:/root/eduhq/result/ads_user_hour目录
⚫背景地址:/root/eduhq/images/img_3.png
⚫图表名称:不同时间段网页浏览量统计曲线图.html
⚫图表存放地址:/root/eduhq/html/
(4)使用Pyecharts绘制网页浏览量统计折线图,直
观展示节假日和工作日不同时间段内的访问量变化趋势;
⚫文件名:ads_hol_work_user.py
⚫文件存放地址:/root/eduhq/python/
⚫数据目录:
/root/eduhq/result/ads_hol_work_user目录
⚫背景地址:/root/eduhq/images/img_3.png
⚫图表名称:节假日和工作日各时间段网页浏览量统计曲线图.html
⚫图表存放地址:/root/eduhq/html/
(5)使用Pyecharts绘制堆积柱形图,直观地展示访客在不同设备类型上的访问次数情况;
⚫文件名:ads_visit_mode.py
⚫文件存放地址:/root/eduhq/python/
⚫数据目录:/root/eduhq/result/ads_visit_mode
目录
⚫背景地址:/root/eduhq/images/img_2.png
⚫图表名称:网站访客设备类型统计堆积柱形图
.html
⚫图表存放地址:/root/eduhq/html/
(6)使用Pyecharts绘制堆积柱形图,直观地展示访客在不同上网模式下的访问次数情况;
⚫文件名:ads_online_type.py
⚫文件存放地址:/root/eduhq/python/
⚫数据目录:/root/eduhq/result/
ads_online_type目录
⚫背景地址:/root/eduhq/images/img_2.png
⚫图表名称:网站访客上网模式统计堆积柱形图
.html
⚫图表存放地址:/root/eduhq/html/
(7)使用Pyecharts绘制词云图,直观地展示不同域名用户访问情况;
⚫文件名:ads_user_domain.py
⚫文件存放地址:/root/eduhq/python/
⚫数据目录:/root/eduhq/result/ads_user_domain
目录
⚫背景地址:/root/eduhq/images/img_2.png
⚫图表名称:不同域名用户访问统计词云.html
⚫图表存放地址:/root/eduhq/html/
(二)任务二:业务分析
(1)统计每天不同经济大区用户访问量;将统计结果导出到本地文件系统的/root/eduhq/result/ads_user_region目录下,并指定列的分隔符为逗号;
答:insert overwrite local directory '/root/eduhq/result/ads_user_region' ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' select day,area from table_name group by area;
(2)统计节假日和工作日的浏览量差异;将统计结果导出到本地文件系统的/root/eduhq/result/ads_hol_work_user目录下,并指定列的分隔符为逗号;
答:
insert overwrite local directory '/root/eduhq/result/ads_hol_work_user' ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
SELECT CASE WHEN is_workday = 1 THEN '工作日' ELSE '节假日' END AS day_type, SUM(url) AS total_views
FROM page_views
GROUP BY day_type;
(3)统计不同域名的用户访问量;将统计结果导出到本地文件系统的
/root/eduhq/result/ads_user_domain目录下,并指定列的分隔符为逗号;
答:
CREATE TABLE user_visits ( user_id STRING, visit_date STRING, domain STRING, visit_count INT
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t';
insert overwrite local directory '/root/eduhq/result/ads_user_domain' ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' SELECT user_id, DATE_FORMAT(REGEXP_REPLACE(visit_date, '/', '-'), 'yyyy-MM-dd') AS visit_date, domain, visit_count FROM user_visits;
更多内容请联系
武汉唯众智创科技有限公司
欲了解更多信息,欢迎登录www.whwzzc.com,咨询电话13037102709
*本资料产品图片及技术数据仅供参考,如有更新恕不另行通知,具体内容解释权归唯众所有。
相关文章:

2023年全国职业院校技能大赛中职组大数据应用与服务赛项题库参考答案陆续更新中,敬请期待…
2023年全国职业院校技能大赛中职组大数据应用与服务赛项题库参考答案陆续更新中,敬请期待… 武汉唯众智创科技有限公司 2024 年 2 月 联系人:辜渝傧13037102709 题号:试题01 模块三:业务分析与可视化 (一࿰…...

设计MySQL数据表的几个注意点
最近合作搞项目,发现了很多问题。特别的,数据库层面上的问题更为致命。记录一下,希望后面看到博客的同学们注意。 注意:以下观点只用于一般情况下的单体、微服务,不保证适用所有场景。 一、ID问题 ID名称问题 如下图…...

android 键盘遮挡输入框问题回忆
背景 刚开始做Android的时候,有一次遇到输入框位于页面底部,弹出的键盘老是遮挡输入框,这就给人一种感觉----不咋舒服。当时,网上百度了一遍,后面终于解决了,由于当时天天加班,没时间写博客&…...

ZJGSU 1737 链表
题目描述 请根据输入数据构造一个带头结点的单链表,链表结点的数据结构为struct node {int data; struct node *next;},试设计算法:按递增次序输出单链表中各结点的数据元素,并释放结点所占用的存储空间。 要求:不允…...

Java开发人员不得不收集的代码,java软件开发面试常见问题
前言 今年的金三银四已经过去一大半了,在这其中参与过不少面试,2021都说工作不好找,这也是对开发人员的要求变向的提高了。 之前在Github上收获15Kstar的Java核心神技(这参数,质量多高就不用我多说了吧)非…...

浅谈块存储、文件存储、对象存储
**块存储、文件存储和对象存储各自有其独特的特点和适用场景**。具体来说: 1. **块存储**: - 描述:块存储将存储空间分割成固定大小的块,这些块可以直接映射到主机操作系统。它提供的是原始的存储空间,不带文件系统…...

2024年 Python面试热点
当然,以下是一些Python相关的热点面试题: 请解释一下Python中的装饰器(Decorators)是什么,以及它们的主要用途是什么? 装饰器是Python中的一个高级功能,它允许用户修改或增强函数、方法或类的行…...

Map集合体系——遍历,HashMap,TreeMap,LikedHashMap
认识Map集合 Map集合体系特点 方法 代码示例 package com.zz.Map;import java.util.*;public class Test {public static void main(String args[]){Map<String, Integer> map new HashMap <>();//经典代码,按照键 无序 不重复 无索引map.put("…...

docker mysql主从复制
新建主服务器容器实例3301 mysql 主 3301 docker run -p 3301:3306 --name mysql-master \ -v /mydata/mysql-master/log:/var/log/mysql \ -v /mydata/mysql-master/data:/var/lib/mysql \ -v /mydata/mysql-master/conf:/etc/mysql \ -v /home/mysql/mysql-files:/var/lib/…...

iOS 自动化测试踩坑(一): 技术方案、环境配置与落地实践
移动端的自动化测试,最常见的是 Android 自动化测试,我个人觉得 Android 的测试优先级会更高,也更开放,更容易测试;而 iOS 相较于 Android 要安全稳定的多,但也是一个必须测试的方向,这个系列文…...

Redis的事务
在 Redis 中,事务(Transaction)是一组命令的集合,可以作为一个单独的操作来执行,保证这组命令要么全部执行成功,要么全部执行失败,具有原子性。在 Redis 中,事务是通过 MULTI、EXEC、…...

4.2 比多数opencv函数效果更好的二值化(python)
在这里之间写代码: import numpy as np import torch import torch.nn as nn import cv2#1.silu激活函数 class SiLU(nn.Module):staticmethoddef forward(x):return x*torch.sigmoid(x)#2.获得轨道的类 def railway_classes3(img,x1,x2,y1,y2):img2 img[x1:x2, y…...

webpack打包一个文件,做了哪些事情
用webpack打包一个文件,在webpack内部做了哪些事情,用代码详细介绍一下 当你使用 Webpack 打包一个文件时,Webpack 内部会进行一系列操作来实现模块加载、代码转换、依赖分析、模块打包等功能。以下是使用 Webpack 打包一个简单 JavaScript …...

设计模式学习笔记 - 设计原则 - 6.KISS原则和YAGNI原则
前言 今天,将两个设计原则:KISS 原则和 YANGI 原则。其中,KISS 原则比较经典,耳熟能详,但 YANGI 你可能没怎么听过,不过它理解起来也不难。 理解这个两个原则的时候,经常会有一个共同的问题&a…...

【Vue3-vite】动态导入路由
route文件结构 router moduleindex.ts 路由定义 // 需要导入的路由如下: const routes [{path: /manage,name: manage,component: () > import(/views/home/index.vue),children: manageRoutes,}]index.ts实现从module中自动导入 // 动态导入 const routeFil…...

C++——string类
前言:哈喽小伙伴们,从这篇文章开始我们将进行若干个C中的重要的类容器的学习。本篇文章将讲解第一个类容器——string。 目录 一.什么是string类 二.string类常见接口 1.string类对象的常见构造 2.string类对象的容量操作 3. string类对象的访问及遍…...

进制转换md5绕过 [安洵杯 2019]easy_web1
打开题目 在查看url的时候得到了一串类似编码的东西,源码那里也是一堆base64,但是转换成图片就是网页上我们看见的那个表情包 ?imgTXpVek5UTTFNbVUzTURabE5qYz0&cmd 我们可以先试把前面的img那串解码了 解码的时候发现长度不够,那我们…...

.kat6.l6st6r勒索病毒的最新威胁:如何恢复您的数据?
导言: 在当今数字化时代,数据安全变得至关重要。然而,随着网络威胁不断增加,勒索病毒已成为企业和个人面临的严重威胁之一。其中,.kat6.l6st6r勒索病毒是最新的变种之一,它能够加密您的数据文件࿰…...

Day 6.有名信号量(信号灯)、网络的相关概念和发端
有名信号量 1.创建: semget int semget(key_t key, int nsems, int semflg); 功能:创建一组信号量 参数:key:IPC对像的名字 nsems:信号量的数量 semflg:IPC_CREAT 返回值:成功返回信号量ID…...

MySQL 常用优化方式
MySQL 常用优化方式 sql 书写顺序与执行顺序SQL设计优化使用索引避免索引失效分析慢查询合理使用子查询和临时表列相关使用 日常SQL优化场景limit语句隐式类型转换嵌套子查询混合排序查询重写 sql 书写顺序与执行顺序 (7) SELECT (8) DISTINCT <select_list> (1) FROM &…...

算法刷题day22:双指针
目录 引言概念一、牛的学术圈I二、最长连续不重复序列三、数组元素的目标和四、判断子序列五、日志统计六、统计子矩阵 引言 关于这个双指针算法,主要是用来处理枚举子区间的事,时间复杂度从 O ( N 2 ) O(N^2) O(N2) 降为 O ( N ) O(N) O(N) …...

山人求道篇:八、模型的偏差与交易认知
原文引用https://mp.weixin.qq.com/s/xvxatVseHK62U7aUXS1B4g “ CTA策略一波亏完全年,除了交易执行错误导致的以外,这类策略都是多因子策略,一般会用机器学习组合多因子得出一个信号来进行交易。规则型策略几乎不会出现一波做反亏完全年的情况。这是有以下几个原因的: 多…...

MySQL 元数据锁及问题排查(Metadata Locks MDL)
"元数据"是用来描述数据对象定义的,而元数据锁(Metadata Lock MDL)即是加在这些定义上。通常我们认为非锁定一致性读(简单select)是不加锁的,这个是基于表内数据层面,其依然会对表的元…...

JS中的函数
1、函数形参的默认值 JavaScript函数有一个特别的地方,无论在函数定义中声明了多少形参,都可以传入任意数量的参数,也可以在定义函数时添加针对参数数量的处理逻辑,当已定义的形参无对应的传入参数时,为其指定一个默认…...

微信小程序开发常用的布局
在微信小程序开发中,常用的布局主要包括以下几种: Flex 布局:Flex 布局是一种弹性盒子布局,通过设置容器的属性来实现灵活的布局方式。它可以在水平或垂直方向上对子元素进行对齐、排列和分布。Flex 布局非常适用于创建响应式布局…...

Effective C++ 学习笔记 条款10 令operator=返回一个reference to *this
关于赋值,有趣的是你可以把它们写成连锁形式: int x, y, z; x y z 15; // 赋值连锁形式同样有趣的是,赋值采用右结合律,所以上述连锁赋值被解析为: x (y (z 15));这里15先被赋值给z,然后其结果&…...

算法简单试题
一、选择题 01.一个算法应该是( B ). A.程序 B.问题求解步骤的描述 C.要满足五个基本特性 D.A和C 02.某算法的时间复杂度为O(n),则表示该…...

CSS 自测题 -- 用 flex 布局绘制骰子(一、二、三【含斜三点】、四、五、六点)
一点 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>css flex布局-画骰子</title><sty…...

蓝桥集训之牛的学术圈 I
蓝桥集训之牛的学术圈 I 核心思想:二分 确定指数x后 判断当前c[i]是否>x(满足条件) 并记录次数同时记录 1后满足条件的个数最后取bns和m的最小值 为满足条件的元素个数ansbns为当前指数x下 满足条件的元素个数 #include <iostream>#include <cstring…...

软件设计师软考题目解析21 --每日五题
想说的话:要准备软考了。0.0,其实我是不想考的,但是吧,由于本人已经学完所有知识了,只是被学校的课程给锁在那里了,不然早找工作去了。寻思着反正也无聊,就考个证玩玩。 本人github地址…...