尚硅谷大数据项目《在线教育之离线数仓》笔记004

视频地址:尚硅谷大数据项目《在线教育之离线数仓》_哔哩哔哩_bilibili

目录

第9章 数仓开发之DWD层

P049

P050

P051

P052

P053

P054

P055

P056

P057

P058

P059

P060

P061

P062

P063

P064

P065

P066

P067

P068

P069

P070


第9章 数仓开发之DWD层

P049

第9章 数仓开发之DWD层

DWD层设计要点:

(1)DWD层的设计依据是维度建模理论,该层存储维度模型的事实表。

(2)DWD层的数据存储格式为orc列式存储+snappy压缩。

(3)DWD层表名的命名规范为dwd_数据域_表名_单分区增量全量标识(inc/full)。

-- 9.1 交易域加购事务事实表
DROP TABLE IF EXISTS dwd_trade_cart_add_inc;
CREATE EXTERNAL TABLE dwd_trade_cart_add_inc
(`id`          STRING COMMENT '编号',`user_id`     STRING COMMENT '用户id',`course_id`   STRING COMMENT '课程id',`date_id`     STRING COMMENT '时间id',`session_id`  STRING COMMENT '会话id',`create_time` STRING COMMENT '加购时间',`cart_price`  DECIMAL(16, 2) COMMENT '加购时价格'
) COMMENT '交易域加购事务事实表'PARTITIONED BY (`dt` STRING)STORED AS ORCLOCATION '/warehouse/edu/dwd/dwd_trade_cart_add_inc/'TBLPROPERTIES ('orc.compress' = 'snappy');select *
from edu2077.ods_cart_info_full;select *
from edu2077.ods_cart_info_inc;select data.id,data.user_id,data.course_id,data.date_id,data.session_id,data.create_time,data.cart_price
from edu2077.ods_cart_info_inc
where dt = '2022-02-21'and type = 'bootstrap-insert';set hive.exec.dynamic.partition.mode=nonstrict;--关闭严格模式insert overwrite table edu2077.dwd_trade_cart_add_inc
select data.id,data.user_id,data.course_id,date_format(data.create_time, 'yyyy-MM-dd') date_id,data.session_id,data.create_time,data.cart_price,date_format(data.create_time, 'yyyy-MM-dd') dt
from edu2077.ods_cart_info_inc
where dt = '2022-02-21'and type = 'bootstrap-insert';insert overwrite table edu2077.dwd_trade_cart_add_inc partition (dt = '2022-02-21')
select data.id,data.user_id,data.course_id,date_format(data.create_time, 'yyyy-MM-dd') date_id,data.session_id,data.create_time,data.cart_price
from edu2077.ods_cart_info_inc
where dt = '2022-02-21'and type = 'bootstrap-insert';select *
from dwd_trade_cart_add_inc;--每日装载
insert overwrite table edu2077.dwd_trade_cart_add_inc partition (dt = '2022-02-22')
select data.id,data.user_id,data.course_id,date_format(data.create_time, 'yyyy-MM-dd') date_id,data.session_id,data.create_time,data.cart_price
from edu2077.ods_cart_info_inc
where dt = '2022-02-22'and type = 'insert';

P050

-- 9.2 交易域加购周期快照事实表
DROP TABLE IF EXISTS dwd_trade_cart_full;
CREATE EXTERNAL TABLE dwd_trade_cart_full
(`id`          STRING COMMENT '编号',`user_id`     STRING COMMENT '用户id',`course_id`   STRING COMMENT '课程id',`date_id`     STRING COMMENT '时间id',`session_id`  STRING COMMENT '会话id',`course_name` STRING COMMENT '课程名称',`create_time` STRING COMMENT '加购时间',`cart_price`  DECIMAL(16, 2) COMMENT '加购时价格'
) COMMENT '交易域加购周期快照事实表'PARTITIONED BY (`dt` STRING)STORED AS ORCLOCATION '/warehouse/edu/dwd/dwd_trade_cart_full/'TBLPROPERTIES ('orc.compress' = 'snappy');select * from ods_cart_info_full
where dt = '2022-02-21';--数据装载
insert overwrite table edu2077.dwd_trade_cart_full partition (dt = '2022-02-21')
select id,user_id,course_id,date_format(create_time, 'yyyy-MM-dd'),session_id,course_name,create_time,cart_price
from edu2077.ods_cart_info_full
where dt = '2022-02-21'and deleted = '0'and sold = '0';select * from dwd_trade_cart_full;

P051

P052

P053

--9.3 交易域试听下单累积快照事实表
DROP TABLE IF EXISTS dwd_trade_course_order_inc;
CREATE EXTERNAL TABLE dwd_trade_course_order_inc
(`id`                   STRING COMMENT '编号',`user_id`              STRING COMMENT '用户id',`course_id`            STRING COMMENT '课程id',`course_name`          STRING COMMENT '课程名称',`category_id`          STRING COMMENT '分类id',`category_name`        STRING COMMENT '分类名称',`subject_id`           STRING COMMENT '科目id',`subject_name`         STRING COMMENT '科目名称',`order_id`             STRING COMMENT '订单id',`province_id`          STRING COMMENT '省份id',`play_time`            STRING COMMENT '首次播放时间',`play_date`            STRING COMMENT '首次播放日期',`order_time`           STRING COMMENT '首次下单时间',`order_date`           STRING COMMENT '首次下单日期',`end_date`             STRING COMMENT '结束日期,试听后七天内未下单即为结束,试听日期+7为结束日期',`session_id`           STRING COMMENT '会话id',`original_amount`      DECIMAL(16, 2) COMMENT '原始金额分摊',`coupon_reduce_amount` DECIMAL(16, 2) COMMENT '优惠金额分摊',`final_amount`         DECIMAL(16, 2) COMMENT '最终价格分摊'
) COMMENT '交易域试听下单累积快照事实表'PARTITIONED BY (`dt` STRING)STORED AS ORCLOCATION '/warehouse/edu/dwd/dwd_trade_course_order_inc/'TBLPROPERTIES ('orc.compress' = 'snappy');set hive.exec.dynamic.partition.mode=nonstrict;--关闭严格模式select * from ods_user_chapter_process_full;select * from edu2077.ods_order_info_inc;--(1)首日装载
with play as(select min(id)                                     id,user_id,course_id,min(create_time)                            play_time,date_format(min(create_time), 'yyyy-MM-dd') play_datefrom edu2077.ods_user_chapter_process_fullwhere dt = '2022-02-21'group by user_id, course_id),oi as(select data.id,data.province_id,data.session_idfrom edu2077.ods_order_info_incwhere dt = '2022-02-21'and type = 'bootstrap-insert'),od as(select data.id,data.course_id,data.order_id,data.user_id,data.origin_amount,data.coupon_reduce,data.final_amount,data.create_time                            order_time,date_format(data.create_time, 'yyyy-MM-dd') order_datefrom edu2077.ods_order_detail_incwhere dt = '2022-02-21'and type = 'bootstrap-insert'),dim_course as (select id,course_name,category_id,category_name,subject_id,subject_namefrom edu2077.dim_course_fullwhere dt = '2022-02-21')
insert
overwrite
table
edu2077.dwd_trade_course_order_inc
partition
(
dt
)
select final.id,user_id,course_id,course_name,category_id,category_name,subject_id,subject_name,order_id,province_id,play_time,play_date,order_time,order_date,end_date,session_id,origin_amount,coupon_reduce,final_amount,casewhen end_date is not null then end_datewhen order_date is not null then order_dateelse '9999-12-31' end dt
from (select play.id,play.user_id,play.course_id,od.order_id,oi.province_id,play.play_time,play.play_date,od.order_time,od.order_date,if(od.order_date is null anddate_add(play.play_date, 7) <= '2022-02-21',date_add(play.play_date, 7), null) end_date,oi.session_id,od.origin_amount,od.coupon_reduce,od.final_amountfrom playleft join od on play.user_id = od.user_id and play.course_id = od.course_idleft join oi on od.order_id = oi.idwhere od.order_time is nullor od.order_time > play.play_time) finalleft join dim_course on course_id = dim_course.id;select * from dwd_trade_course_order_inc;

P054

--9.3 交易域试听下单累积快照事实表
--(2)每日装载
set hive.exec.dynamic.partition.mode=nonstrict;
with play as(select id,user_id,course_id,play_time,play_datefrom edu2077.dwd_trade_course_order_incwhere dt = '9999-12-31'unionselect min(id)                                     id,user_id,course_id,min(create_time),date_format(min(create_time), 'yyyy-MM-dd') play_datefrom edu2077.ods_user_chapter_process_fullwhere dt = '2022-02-22'group by user_id, course_idhaving date_format(min(create_time), 'yyyy-MM-dd') = '2022-02-22'),oi as(select data.id,data.province_id,data.session_id,data.create_time order_timefrom edu2077.ods_order_info_incwhere dt = '2022-02-22'and type = 'insert'),od as(select data.id,data.course_id,data.order_id,data.user_id,data.origin_amount,data.coupon_reduce,data.final_amount,date_format(data.create_time, 'yyyy-MM-dd') order_datefrom edu2077.ods_order_detail_incwhere dt = '2022-02-22'and type = 'insert'),dim_course as(select id,course_name,category_id,category_name,subject_id,subject_namefrom edu2077.dim_course_fullwhere dt = '2022-02-22')
insert
overwrite
table
edu2077.dwd_trade_course_order_inc
partition
(
dt
)
select final.id,user_id,course_id,course_name,category_id,category_name,subject_id,subject_name,order_id,province_id,play_time,play_date,order_time,order_date,end_date,session_id,origin_amount,coupon_reduce,final_amount,casewhen end_date is not null then end_datewhen order_date is not null then order_dateelse '9999-12-31' end dt
from (select play.id,play.user_id,play.course_id,od.order_id,oi.province_id,play.play_time,play.play_date,oi.order_time,od.order_date,if(order_date is null and date_add(play_date, 7) = '2022-02-22', '2022-02-22', null) end_date,oi.session_id,od.origin_amount,od.coupon_reduce,od.final_amountfrom playleft join od on play.user_id = od.user_id and play.course_id = od.course_idleft join oi on od.order_id = oi.idwhere order_time is nullor order_time > play_time) finalleft join dim_course on course_id = dim_course.id;

P055

--9.4 交易域下单事务事实表
DROP TABLE IF EXISTS dwd_trade_order_detail_inc;
CREATE EXTERNAL TABLE dwd_trade_order_detail_inc
(`id`                   STRING COMMENT '编号',`order_id`             STRING COMMENT '订单id',`user_id`              STRING COMMENT '用户id',`course_id`            STRING COMMENT '课程id',`course_name`          STRING COMMENT '课程名称',`category_id`          STRING COMMENT '分类id',`category_name`        STRING COMMENT '分类名称',`subject_id`           STRING COMMENT '科目id',`subject_name`         STRING COMMENT '科目名称',`province_id`          STRING COMMENT '省份id',`date_id`              STRING COMMENT '下单日期id',`session_id`           STRING COMMENT '会话id',`source_id`            STRING COMMENT '来源id',`create_time`          STRING COMMENT '下单时间',`original_amount`      DECIMAL(16, 2) COMMENT '原始金额分摊',`coupon_reduce_amount` DECIMAL(16, 2) COMMENT '优惠金额分摊',`final_amount`         DECIMAL(16, 2) COMMENT '最终价格分摊',`out_trade_no`         STRING COMMENT '订单交易编号',`trade_body`           STRING COMMENT '订单描述'
) COMMENT '交易域下单事务事实表'PARTITIONED BY (`dt` STRING)STORED AS ORCLOCATION '/warehouse/edu/dwd/dwd_trade_order_detail_inc/'TBLPROPERTIES ('orc.compress' = 'snappy');select * from edu2077.ods_order_detail_inc where dt = '2022-02-21';--(1)首日装载
set hive.exec.dynamic.partition.mode=nonstrict;insert overwrite table edu2077.dwd_trade_order_detail_incpartition (dt)
select odt.id,order_id,user_id,course_id,course_name,category_id,category_name,subject_id,subject_name,province_id,date_id,session_id,source_id,create_time,origin_amount,coupon_reduce,final_amount,out_trade_no,trade_body,date_id
from (select data.id,data.order_id,data.user_id,data.course_id,date_format(data.create_time, 'yyyy-MM-dd') date_id,data.create_time,data.origin_amount,data.coupon_reduce,data.final_amountfrom edu2077.ods_order_detail_incwhere dt = '2022-02-21'and type = 'bootstrap-insert') odtleft join(select data.id,data.province_id,data.out_trade_no,data.session_id,data.trade_bodyfrom edu2077.ods_order_info_incwhere dt = '2022-02-21'and type = 'bootstrap-insert') odon odt.order_id = od.idleft join(select distinct common.sid,common.sc source_idfrom edu2077.ods_log_inc oliwhere dt = '2022-02-21') logon od.session_id = log.sidleft join(select id,course_name,category_id,category_name,subject_id,subject_namefrom edu2077.dim_course_fullwhere dt = '2022-02-21') dim_courseon course_id = dim_course.id;

P056

--9.4 交易域下单事务事实表
--(2)每日装载
insert overwrite table edu2077.dwd_trade_order_detail_incpartition (dt = '2022-02-22')
select odt.id,order_id,user_id,course_id,course_name,category_id,category_name,subject_id,subject_name,province_id,date_id,session_id,source_id,create_time,origin_amount,coupon_reduce,final_amount,out_trade_no,trade_body
from (select data.id,data.order_id,data.user_id,data.course_id,date_format(data.create_time, 'yyyy-MM-dd') date_id,data.create_time,data.origin_amount,data.coupon_reduce,data.final_amountfrom edu2077.ods_order_detail_incwhere dt = '2022-02-22'and type = 'insert') odtleft join(select data.id,data.province_id,data.session_id,data.out_trade_no,data.trade_bodyfrom edu2077.ods_order_info_incwhere dt = '2022-02-22'and type = 'insert') odon odt.order_id = od.idleft join(select distinct common.sid,common.sc source_idfrom edu2077.ods_log_inc oliwhere dt = '2022-02-22') logon od.session_id = log.sidleft join(select id,course_name,category_id,category_name,subject_id,subject_namefrom edu2077.dim_course_fullwhere dt = '2022-02-22') dim_courseon course_id = dim_course.id;

P057

--9.5 交易域支付成功事务事实表DROP TABLE IF EXISTS dwd_trade_pay_detail_suc_inc;
CREATE EXTERNAL TABLE dwd_trade_pay_detail_suc_inc
(`id`                   STRING COMMENT '编号',`order_id`             STRING COMMENT '订单id',`user_id`              STRING COMMENT '用户id',`course_id`            STRING COMMENT '课程id',`province_id`          STRING COMMENT '省份id',`date_id`              STRING COMMENT '支付日期id',`alipay_trade_no`      STRING COMMENT '支付宝交易编号',`trade_body`           STRING COMMENT '交易内容',`payment_type`         STRING COMMENT '支付类型名称',`payment_status`       STRING COMMENT '支付状态',`callback_time`        STRING COMMENT '支付成功时间',`callback_content`     STRING COMMENT '回调信息',`original_amount`      DECIMAL(16, 2) COMMENT '原始支付金额分摊',`coupon_reduce_amount` DECIMAL(16, 2) COMMENT '优惠支付金额分摊',`final_amount`         DECIMAL(16, 2) COMMENT '最终支付金额分摊'
) COMMENT '交易域支付成功事务事实表'PARTITIONED BY (`dt` STRING)STORED AS ORCLOCATION '/warehouse/edu/dwd/dwd_trade_pay_detail_suc_inc/'TBLPROPERTIES ('orc.compress' = 'snappy');--(1)首日装载
set hive.exec.dynamic.partition.mode=nonstrict;
insert overwrite table edu2077.dwd_trade_pay_detail_suc_incpartition (dt)
select odt.id,od.id,user_id,course_id,province_id,date_format(create_time, 'yyyy-MM-dd') date_id,alipay_trade_no,trade_body,payment_type,payment_status,callback_time,callback_content,origin_amount,coupon_reduce,final_amount,date_format(create_time, 'yyyy-MM-dd') date_id
from (select data.id,data.order_id,data.user_id,data.course_id,data.origin_amount,data.coupon_reduce,data.final_amount,data.create_timefrom edu2077.ods_order_detail_incwhere dt = '2022-02-21'and type = 'bootstrap-insert') odtleft join(select data.id,data.province_idfrom edu2077.ods_order_info_incwhere dt = '2022-02-21'and type = 'bootstrap-insert') odon odt.order_id = od.idjoin(select data.alipay_trade_no,data.trade_body,data.order_id,data.payment_type,data.payment_status,data.callback_time,data.callback_contentfrom edu2077.ods_payment_info_incwhere dt = '2022-02-21'and type = 'bootstrap-insert'and data.callback_time is not null) pion od.id = pi.order_id;select * from dwd_trade_pay_detail_suc_inc;

P058

--9.5 交易域支付成功事务事实表
-- (2)每日装载
insert overwrite table edu2077.dwd_trade_pay_detail_suc_incpartition (dt = '2022-02-22')
select odt.id,od.id,user_id,course_id,province_id,date_format(create_time, 'yyyy-MM-dd') date_id,alipay_trade_no,trade_body,payment_type,payment_status,callback_time,callback_content,origin_amount,coupon_reduce,final_amount
from (select data.id,data.order_id,data.user_id,data.course_id,data.origin_amount,data.coupon_reduce,data.final_amount,data.create_timefrom edu2077.ods_order_detail_incwhere (dt = '2022-02-22' or dt = date_add('2022-02-22', -1))and (type = 'insert' or type = 'bootstrap-insert')) odtleft join(select data.id,data.province_idfrom edu2077.ods_order_info_incwhere (dt = '2022-02-22' or dt = date_add('2022-02-22', -1))and (type = 'insert' or type = 'bootstrap-insert')) odon odt.order_id = od.idjoin(select data.alipay_trade_no,data.trade_body,data.order_id,data.payment_type,data.payment_status,data.callback_time,data.callback_contentfrom edu2077.ods_payment_info_incwhere dt = '2022-02-22'and type = 'update'and array_contains(map_keys(old), 'callback_time')) pion od.id = pi.order_id;

P059

9.6 流量域页面浏览事务事实表

P060

9.7 流量域启动事务事实表

P061

9.8 流量域动作事务事实表

9.9 流量域曝光事务事实表

9.10 流量域错误事务事实表

P062

9.11 互动域收藏事务事实表

P063

9.12 互动域章节评价事务事实表

9.13 互动域课程评价事务事实表

P064

9.14 考试域答卷事务事实表

9.15 考试域答题事务事实表

P065

9.16 学习域播放周期快照事实表

(1)首日装载

P066

9.16 学习域播放周期快照事实表

(2)每日装载

P067

9.17 学习域播放事务事实表

P068

9.18 用户域用户注册事务事实表

P069

9.19 用户域用户登录事务事实表

P070

9.20 数据装载脚本

9.20.1 首日装载脚本

9.20.2 每日装载脚本

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/51442.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Wlan——锐捷零漫游网络解决方案以及相关配置

目录 零漫游介绍 一代零漫游 二代单频率零漫游 二代双频率零漫游 锐捷零漫游方案总结 锐捷零漫游方案的配置 配置无线信号的信道 开启关闭5G零漫游 查看配置 零漫游介绍 普通的漫游和零漫游的区别 普通漫游 漫游是由一个AP到另一个AP或者一个射频卡到另一个射频卡的漫…

深入理解 Vue Router:构建可靠的前端路由系统

目录 01-什么是前端路由以及路由两种模式实现原理02-路由的基本搭建与嵌套路由模式03-动态路由模式与编程式路由模式04-命名路由与命名视图与路由元信息05-路由传递参数的多种方式及应用场景06-详解route对象与router对象07-路由守卫详解及应用场景 01-什么是前端路由以及路由两…

java:Servlet

背景 我们访问浏览器访问一个地址&#xff0c;最终是访问到了这个 java 类&#xff0c;而 java 是运行在 Tomcat 上的&#xff0c;所以 Tomcat 作为一个服务器会把这个访问地址指向这个类中&#xff0c;这个类就是 Servlet&#xff0c;Servlet 就是一个具有一定规范的类&#x…

whisper 语音识别项目部署

1.安装anaconda软件 在如下网盘免费获取软件&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1zOZCQOeiDhx6ebHh5zNasA 提取码&#xff1a;hfnd 2.使用conda命令创建python3.8环境 conda create -n whisper python3.83.进入whisper虚拟环境 conda activate whisper4.…

英特尔开始加码封装领域 | 百能云芯

在积极推进先进制程研发的同时&#xff0c;英特尔正在加大先进封装领域的投入。在这个背景下&#xff0c;该公司正在马来西亚槟城兴建一座全新的封装厂&#xff0c;以加强其在2.5D/3D封装布局领域的实力。据了解&#xff0c;英特尔计划到2025年前&#xff0c;将其最先进的3D Fo…

Facebook HiPlot “让理解高维数据变得容易”

在这个全球信息化的时代&#xff0c;数据量呈爆炸式增长&#xff0c;数据的复杂性也是如此。如何有效地处理高维数据并找到隐藏在其中的相关性和模式是一个严峻的挑战。近年来&#xff0c;可视化和可视化分析已被应用于该任务&#xff0c;并取得了一些积极成果。Facebook的新Hi…

Kali Linux 2023.3 发布

Offective Security 发布了 Kali Linux 2023.3&#xff0c;这是其渗透测试和数字取证平台的最新版本。 Kali Linux 2023.3 中的新工具 除了对当前工具的更新之外&#xff0c;新版本的 Kali 通常还会引入新的工具。 这次&#xff0c;他们是&#xff1a; Calico – 云原生网络…

ubuntu20.04 直接安装vpp23.06 测试双 VPP Tunnel Ike2

环境信息&#xff1a;VMware Workstation 17 Pro ubuntu20.04 (清华源) ubuntu 源点进去选&#xff1a;ubuntu-22.04.3-desktop-amd64.iso 如果之前装过VPP&#xff0c;用以下命令确定是否卸载干净&#xff1a; dpkg -l | grep vpp dpkg -l | grep DPDK 卸载&#xff1a; …

【数据仓库】Linux、CentOS源码安装Superset

Linux、CentOS源码安装Superset步骤&#xff0c;遇到的各种问题。 报错问题&#xff1a; Linux下pip版本问题 You are using pip version 8.1.2, however version 22.2.2 is available. 解决办法&#xff1a; 安装python3的pip yum install python3-pip再升级 pip3 install…

stm32 之20.HC-06蓝牙模块

原理图显示使用usart3串口使用的是PB10和PB11引脚 直接配置usart3串口协议 void usart3_init(uint32_t baud) {GPIO_InitTypeDef GPIO_InitStructureure;USART_InitTypeDef USART_InitStructure;NVIC_InitTypeDef NVIC_InitStructure;//端口B硬件时钟打开RCC_AHB1PeriphClockC…

如何通过tomcat下载映射下载文件

1.1找到tomcat服务器中server.xml文件 !--doBase是静态资源路径位置&#xff0c; path作用相当于设置的key, doBase作用相当于value --> <Context path"/download" docBase"E:\testBackData"></Context>1.2 找到tomcat服务器中web.xml文…

LAMP架构介绍配置命令讲解

LAMP架构介绍配置命令讲解 一、LAMP架构介绍1.1概述1.2LAMP各组件的主要作用1.3各组件的安装顺序 二、编译安装Apache httpd服务---命令讲解1、关闭防火墙&#xff0c;将安装Apache所需的软件包传到/opt/目录下2、安装环境依赖包3、配置软件模块4、编译安装5、优化配置文件路径…

鼠标拖拽盒子移动

目录 需求思路代码页面展示【补充】纯js实现 需求 浮动的盒子添加鼠标拖拽功能 思路 给需要拖动的盒子添加鼠标按下事件鼠标按下后获取鼠标点击位置与盒子边缘的距离给 document 添加鼠标移动事件鼠标移动过程中&#xff0c;将盒子的位置进行重新定位侦听 document 鼠标弹起&a…

Grounded Language-Image Pre-training论文笔记

Title&#xff1a;Grounded Language-Image Pre-training Code 文章目录 1. 背景2. 方法&#xff08;1&#xff09;Unified Formulation传统目标检测grounding目标检测 &#xff08;2&#xff09;Language-Aware Deep Fusion&#xff08;3&#xff09;Pre-training with Scala…

【linux】基本指令(二)【man、echo、cat、cp】

目录 一、man指令二、echo指令三、cat指令二、cp指令一些常见快捷键 一、man指令 Linux的命令有很多参数&#xff0c;我们不可能全记住&#xff0c;可以通过查看联机手册获取帮助。访问Linux手册页的命令是 man 语法: man [选项] 命令 常用选项 1.-k 根据关键字搜索联机帮助 2…

基于 SVG 的图形交互方案实践

不知道从什么时候起&#xff0c;人们开始喜欢上数字大屏这种“花里胡哨”的东西&#xff0c;仿佛只要用上“科技蓝”这样神奇的色调&#xff0c;就可以让一家公司焕然一新&#xff0c;瞬间变得科技感满满。不管数字大屏的实际意义&#xff0c;是用来帮助企业监控和决策&#xf…

Linux网络编程:线程池并发服务器 _UDP客户端和服务器_本地和网络套接字

文章目录&#xff1a; 一&#xff1a;线程池模块分析 threadpool.c 二&#xff1a;UDP通信 1.TCP通信和UDP通信各自的优缺点 2.UDP实现的C/S模型 server.c client.c 三&#xff1a;套接字 1.本地套接字 2.本地套 和 网络套对比 server.c client.c 一&#xff1a;线…

electron软件安装时,默认选择为全部用户安装

后续可能会用electron开发一些工具&#xff0c;包括不限于快速生成个人小程序、开发辅助学习的交互式软件、帮助运维同学一键部署的简易版CICD工具等等。 开发进度&#xff0c;取决于我懒惰的程度。 不过不嫌弃的同学还是可以先关注一波小程序&#xff0c;真的发布工具了&…

微软宣布在 Excel 中使用 Python:结合了 Python 的强大功能和 Excel 的灵活性。

自诞生以来&#xff0c;Microsoft Excel 改变了人们组织、分析和可视化数据的方式&#xff0c;为每天使用它的数百万人提供了决策基础。今天&#xff0c;我们宣布发布 Excel 中的 Python 公共预览版&#xff0c;从而使 Excel 中的分析功能取得重大进展。 Excel 中的 Python 可…

基于springboot+vue的考研资讯平台(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…