尚硅谷数据仓库实战之3数仓搭建

  • 第4章 数仓搭建-ODS层
    • 4.2 ODS层(业务数据)
      • 4.2.1 活动信息表
  • 第5章 数仓搭建-DIM层
    • 5.1 商品维度表(全量)
    • 5.6 用户维度表(拉链表)
      • 5.6.1 拉链表概述
      • 5.6.2 制作拉链表
  • 第6章 数仓搭建-DWD层
    • 6.1 DWD层(用户行为日志)
      • 6.1.1 日志解析思路
      • 6.1.2 json_object函数使用
      • 6.1.3 启动日志表
      • 6.1.4 页面日志表
      • 6.1.5 动作日志表
      • 6.1.7 错误日志表
    • 6.2 DWD层(业务数据)
      • 6.2.2 订单明细事实表(事务型事实表)
      • 6.2.4 加购事实表(周期型快照事实表,每日快照)
      • 6.2.7 支付事实表(累积型快照事实表)
  • 第7章 数仓搭建-DWS层
    • 7.2 DWS层
      • 7.2.1 访客主题
  • 第8章 数仓搭建-DWT层
  • 第9章 数仓搭建-ADS层
    • 9.1 建表说明
    • 9.3 用户主题
      • 9.3.1 用户统计
      • 9.3.2 用户变动统计
      • 9.3.3 用户行为漏斗分析
      • 9.3.4 用户留存率
    • 9.5 订单主题
      • 9.5.1 订单统计
      • 9.5.2 各地区订单统计
  • 第10章 全流程调度

数仓笔记

数据仓库和数据集市详解:ODS、DW、DWD、DWM、DWS、ADS:https://blog.csdn.net/weixin_42526326/article/details/121633372

尚硅谷数仓实战之1项目需求及架构设计:https://blog.csdn.net/weixin_42526326/article/details/121658388

尚硅谷数仓实战之2数仓分层+维度建模:https://blog.csdn.net/weixin_42526326/article/details/121658605

尚硅谷数仓实战之3数仓搭建:https://blog.csdn.net/weixin_42526326/article/details/121658635

尚硅谷数据仓库4.0视频教程

B站直达:2021新版电商数仓V4.0丨大数据数据仓库项目实战
百度网盘:https://pan.baidu.com/s/1FGUb8X0Wx7IWAmKXBRwVFg ,提取码:yyds
阿里云盘:https://www.aliyundrive.com/s/F2FuMVePj92 ,提取码:335o

第4章 数仓搭建-ODS层

1)保持数据原貌不做任何修改,起到备份数据的作用。

2)数据采用LZO压缩,减少磁盘存储空间。100G数据可以压缩到10G以内。

3)创建分区表,防止后续的全表扫描,在企业开发中大量使用分区表。

4)创建外部表。在企业开发中,除了自己用的临时表,创建内部表外,绝大多数场景都是创建外部表。

4.2 ODS层(业务数据)

ODS层业务表分区规划如下

ODS层业务表数据装载思路如下

4.2.1 活动信息表

DROP TABLE IF EXISTS ods_activity_info;CREATE EXTERNAL TABLE ods_activity_info(`id` STRING COMMENT '编号',`activity_name` STRING  COMMENT '活动名称',`activity_type` STRING  COMMENT '活动类型',`start_time` STRING  COMMENT '开始时间',`end_time` STRING  COMMENT '结束时间',`create_time` STRING  COMMENT '创建时间') COMMENT '活动信息表'PARTITIONED BY (`dt` STRING)ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'STORED ASINPUTFORMAT 'com.hadoop.mapred.DeprecatedLzoTextInputFormat'OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'LOCATION '/warehouse/gmall/ods/ods_activity_info/';

第5章 数仓搭建-DIM层

5.1 商品维度表(全量)

1.建表语句

DROP TABLE IF EXISTS dim_sku_info;CREATE EXTERNAL TABLE dim_sku_info (`id` STRING COMMENT '商品id',`price` DECIMAL(16,2) COMMENT '商品价格',`sku_name` STRING COMMENT '商品名称',`sku_desc` STRING COMMENT '商品描述',`weight` DECIMAL(16,2) COMMENT '重量',`is_sale` BOOLEAN COMMENT '是否在售',`spu_id` STRING COMMENT 'spu编号',`spu_name` STRING COMMENT 'spu名称',`category3_id` STRING COMMENT '三级分类id',`category3_name` STRING COMMENT '三级分类名称',`category2_id` STRING COMMENT '二级分类id',`category2_name` STRING COMMENT '二级分类名称',`category1_id` STRING COMMENT '一级分类id',`category1_name` STRING COMMENT '一级分类名称',`tm_id` STRING COMMENT '品牌id',`tm_name` STRING COMMENT '品牌名称',`sku_attr_values` ARRAY<STRUCT<attr_id:STRING,value_id:STRING,attr_name:STRING,value_name:STRING>> COMMENT '平台属性',`sku_sale_attr_values` ARRAY<STRUCT<sale_attr_id:STRING,sale_attr_value_id:STRING,sale_attr_name:STRING,sale_attr_value_name:STRING>> COMMENT '销售属性',`create_time` STRING COMMENT '创建时间') COMMENT '商品维度表'PARTITIONED BY (`dt` STRING)STORED AS PARQUETLOCATION '/warehouse/gmall/dim/dim_sku_info/'TBLPROPERTIES ("parquet.compression"="lzo");

2.分区规划

3.数据装载

5.6 用户维度表(拉链表)

5.6.1 拉链表概述

1)什么是拉链表

2)为什么要做拉链表

3)如何使用拉链表

4)拉链表形成过程

5.6.2 制作拉链表

1.建表语句

DROP TABLE IF EXISTS dim_user_info;CREATE EXTERNAL TABLE dim_user_info(`id` STRING COMMENT '用户id',`login_name` STRING COMMENT '用户名称',`nick_name` STRING COMMENT '用户昵称',`name` STRING COMMENT '用户姓名',`phone_num` STRING COMMENT '手机号码',`email` STRING COMMENT '邮箱',`user_level` STRING COMMENT '用户等级',`birthday` STRING COMMENT '生日',`gender` STRING COMMENT '性别',`create_time` STRING COMMENT '创建时间',`operate_time` STRING COMMENT '操作时间',`start_date` STRING COMMENT '开始日期',`end_date` STRING COMMENT '结束日期') COMMENT '用户表'PARTITIONED BY (`dt` STRING)STORED AS PARQUETLOCATION '/warehouse/gmall/dim/dim_user_info/'TBLPROPERTIES ("parquet.compression"="lzo");

2.分区规划

3.数据装载

1)首日装载

拉链表首日装载,需要进行初始化操作,具体工作为将截止到初始化当日的全部历史用户导入一次性导入到拉链表中。目前的ods_user_info表的第一个分区,即2020-06-14分区中就是全部的历史用户,故将该分区数据进行一定处理后导入拉链表的9999-99-99分区即可。

2)每日装载

(1)实现思路

第6章 数仓搭建-DWD层

1)对用户行为数据解析。

2)对业务数据采用维度模型重新建模。

6.1 DWD层(用户行为日志)

6.1.1 日志解析思路

1)日志结构回顾

(1)页面埋点日志

(2)启动日志

2)日志解析思路

6.1.2 json_object函数使用

Mysql中也有响应的JSON处理函数,不过性能没有hive高。

6.1.3 启动日志表

启动日志解析思路:启动日志表中每行数据对应一个启动记录,一个启动记录应该包含日志中的公共信息和启动信息。先将所有包含start字段的日志过滤出来,然后使用get_json_object函数解析每个字段。

1)建表语句

DROP TABLE IF EXISTS dwd_start_log;CREATE EXTERNAL TABLE dwd_start_log(`area_code` STRING COMMENT '地区编码',`brand` STRING COMMENT '手机品牌',`channel` STRING COMMENT '渠道',`is_new` STRING COMMENT '是否首次启动',`model` STRING COMMENT '手机型号',`mid_id` STRING COMMENT '设备id',`os` STRING COMMENT '操作系统',`user_id` STRING COMMENT '会员id',`version_code` STRING COMMENT 'app版本号',`entry` STRING COMMENT 'icon手机图标 notice 通知 install 安装后启动',`loading_time` BIGINT COMMENT '启动加载时间',`open_ad_id` STRING COMMENT '广告页ID ',`open_ad_ms` BIGINT COMMENT '广告总共播放时间',`open_ad_skip_ms` BIGINT COMMENT '用户跳过广告时点',`ts` BIGINT COMMENT '时间') COMMENT '启动日志表'PARTITIONED BY (`dt` STRING) -- 按照时间创建分区STORED AS PARQUET -- 采用parquet列式存储LOCATION '/warehouse/gmall/dwd/dwd_start_log' -- 指定在HDFS上存储位置TBLPROPERTIES('parquet.compression'='lzo') -- 采用LZO压缩;

6.1.4 页面日志表

页面日志解析思路:页面日志表中每行数据对应一个页面访问记录,一个页面访问记录应该包含日志中的公共信息和页面信息。先将所有包含page字段的日志过滤出来,然后使用get_json_object函数解析每个字段。

6.1.5 动作日志表

动作日志解析思路:动作日志表中每行数据对应用户的一个动作记录,一个动作记录应当包含公共信息、页面信息以及动作信息。先将包含action字段的日志过滤出来,然后通过UDTF函数,将action数组“炸开”(类似于explode函数的效果),然后使用get_json_object函数解析每个字段。

6.1.7 错误日志表

错误日志解析思路:错误日志表中每行数据对应一个错误记录,为方便定位错误,一个错误记录应当包含与之对应的公共信息、页面信息、曝光信息、动作信息、启动信息以及错误信息。先将包含err字段的日志过滤出来,然后使用get_json_object函数解析所有字段。

6.2 DWD层(业务数据)

业务数据方面DWD层的搭建主要注意点在于维度建模。这边只是展示一个订单明细的实例,全部的文档请下载尚硅谷数仓实战笔记。

6.2.2 订单明细事实表(事务型事实表)

1)建表语句

DROP TABLE IF EXISTS dwd_order_detail;CREATE EXTERNAL TABLE dwd_order_detail (`id` STRING COMMENT '订单编号',`order_id` STRING COMMENT '订单号',`user_id` STRING COMMENT '用户id',`sku_id` STRING COMMENT 'sku商品id',`province_id` STRING COMMENT '省份ID',`activity_id` STRING COMMENT '活动ID',`activity_rule_id` STRING COMMENT '活动规则ID',`coupon_id` STRING COMMENT '优惠券ID',`create_time` STRING COMMENT '创建时间',`source_type` STRING COMMENT '来源类型',`source_id` STRING COMMENT '来源编号',`sku_num` BIGINT COMMENT '商品数量',`original_amount` DECIMAL(16,2) COMMENT '原始价格',`split_activity_amount` DECIMAL(16,2) COMMENT '活动优惠分摊',`split_coupon_amount` DECIMAL(16,2) COMMENT '优惠券优惠分摊',`split_final_amount` DECIMAL(16,2) COMMENT '最终价格分摊') COMMENT '订单明细事实表表'PARTITIONED BY (`dt` STRING)STORED AS PARQUETLOCATION '/warehouse/gmall/dwd/dwd_order_detail/'TBLPROPERTIES ("parquet.compression"="lzo");

2)分区规划

3)数据装载

6.2.4 加购事实表(周期型快照事实表,每日快照)

1)建表语句

DROP TABLE IF EXISTS dwd_cart_info;
CREATE EXTERNAL TABLE dwd_cart_info(`id` STRING COMMENT '编号',`user_id` STRING COMMENT '用户ID',`sku_id` STRING COMMENT '商品ID',`source_type` STRING COMMENT '来源类型',`source_id` STRING COMMENT '来源编号',`cart_price` DECIMAL(16,2) COMMENT '加入购物车时的价格',`is_ordered` STRING COMMENT '是否已下单',`create_time` STRING COMMENT '创建时间',`operate_time` STRING COMMENT '修改时间',`order_time` STRING COMMENT '下单时间',`sku_num` BIGINT COMMENT '加购数量'
) COMMENT '加购事实表'
PARTITIONED BY (`dt` STRING)
STORED AS PARQUET
LOCATION '/warehouse/gmall/dwd/dwd_cart_info/'
TBLPROPERTIES ("parquet.compression"="lzo");

2)分区规划

3)数据装载

6.2.7 支付事实表(累积型快照事实表)

1)建表语句

DROP TABLE IF EXISTS dwd_payment_info;CREATE EXTERNAL TABLE dwd_payment_info (`id` STRING COMMENT '编号',`order_id` STRING COMMENT '订单编号',`user_id` STRING COMMENT '用户编号',`province_id` STRING COMMENT '地区ID',`trade_no` STRING COMMENT '交易编号',`out_trade_no` STRING COMMENT '对外交易编号',`payment_type` STRING COMMENT '支付类型',`payment_amount` DECIMAL(16,2) COMMENT '支付金额',`payment_status` STRING COMMENT '支付状态',`create_time` STRING COMMENT '创建时间',--调用第三方支付接口的时间`callback_time` STRING COMMENT '完成时间'--支付完成时间,即支付成功回调时间) COMMENT '支付事实表表'PARTITIONED BY (`dt` STRING)STORED AS PARQUETLOCATION '/warehouse/gmall/dwd/dwd_payment_info/'TBLPROPERTIES ("parquet.compression"="lzo");

2)分区规划

3)数据装载

第7章 数仓搭建-DWS层

7.2 DWS层


7.2.1 访客主题

1)建表语句

DROP TABLE IF EXISTS dws_visitor_action_daycount;CREATE EXTERNAL TABLE dws_visitor_action_daycount(`mid_id` STRING COMMENT '设备id',`brand` STRING COMMENT '设备品牌',`model` STRING COMMENT '设备型号',`is_new` STRING COMMENT '是否首次访问',`channel` ARRAY<STRING> COMMENT '渠道',`os` ARRAY<STRING> COMMENT '操作系统',`area_code` ARRAY<STRING> COMMENT '地区ID',`version_code` ARRAY<STRING> COMMENT '应用版本',`visit_count` BIGINT COMMENT '访问次数',`page_stats` ARRAY<STRUCT<page_id:STRING,page_count:BIGINT,during_time:BIGINT>> COMMENT '页面访问统计') COMMENT '每日设备行为表'PARTITIONED BY(`dt` STRING)STORED AS PARQUETLOCATION '/warehouse/gmall/dws/dws_visitor_action_daycount'TBLPROPERTIES ("parquet.compression"="lzo");

第8章 数仓搭建-DWT层

第9章 数仓搭建-ADS层

9.1 建表说明

ADS层不涉及建模,建表根据具体需求而定。

9.3 用户主题

9.3.1 用户统计

该需求为用户综合统计,其中包含若干指标,以下为对每个指标的解释说明。

指标 说明 对应字段
新增用户数 统计新增注册用户人数 new_user_count
新增下单用户数 统计新增下单用户人数 new_order_user_count
下单总金额 统计所有订单总额 order_final_amount
下单用户数 统计下单用户总数 order_user_count
未下单用户数 统计活跃但未下单用户数 no_order_user_count

1.建表语句

DROP TABLE IF EXISTS ads_user_total;CREATE EXTERNAL TABLE `ads_user_total` (`dt` STRING COMMENT '统计日期',`recent_days` BIGINT COMMENT '最近天数,0:累积值,1:最近1天,7:最近7天,30:最近30天',`new_user_count` BIGINT COMMENT '新注册用户数',`new_order_user_count` BIGINT COMMENT '新增下单用户数',`order_final_amount` DECIMAL(16,2) COMMENT '下单总金额',`order_user_count` BIGINT COMMENT '下单用户数',`no_order_user_count` BIGINT COMMENT '未下单用户数(具体指活跃用户中未下单用户)') COMMENT '用户统计'ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'LOCATION '/warehouse/gmall/ads/ads_user_total/';

9.3.2 用户变动统计

该需求包括两个指标,分别为流失用户数和回流用户数,以下为对两个指标的解释说明。

指标 说明 对应字段
流失用户数 之前活跃过的用户,最近一段时间未活跃,就称为流失用户。此处要求统计7日前(只包含7日前当天)活跃,但最近7日未活跃的用户总数。 user_churn_count
回流用户数 之前的活跃用户,一段时间未活跃(流失),今日又活跃了,就称为回流用户。此处要求统计回流用户总数。 new_order_user_count

1.建表语句

DROP TABLE IF EXISTS ads_user_change;CREATE EXTERNAL TABLE `ads_user_change` (`dt` STRING COMMENT '统计日期',`user_churn_count` BIGINT COMMENT '流失用户数',`user_back_count` BIGINT COMMENT '回流用户数') COMMENT '用户变动统计'ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'LOCATION '/warehouse/gmall/ads/ads_user_change/';

9.3.3 用户行为漏斗分析

漏斗分析是一个数据分析模型,它能够科学反映一个业务过程从起点到终点各阶段用户转化情况。由于其能将各阶段环节都展示出来,故哪个阶段存在问题,就能一目了然。

该需求要求统计一个完整的购物流程各个阶段的人数。

1.建表语句

DROP TABLE IF EXISTS ads_user_action;CREATE EXTERNAL TABLE `ads_user_action` (`dt` STRING COMMENT '统计日期',`recent_days` BIGINT COMMENT '最近天数,1:最近1天,7:最近7天,30:最近30天',`home_count` BIGINT COMMENT '浏览首页人数',`good_detail_count` BIGINT COMMENT '浏览商品详情页人数',`cart_count` BIGINT COMMENT '加入购物车人数',`order_count` BIGINT COMMENT '下单人数',`payment_count` BIGINT COMMENT '支付人数') COMMENT '漏斗分析'ROW FORMAT DELIMITED  FIELDS TERMINATED BY '\t'LOCATION '/warehouse/gmall/ads/ads_user_action/';

9.3.4 用户留存率

留存分析一般包含新增留存和活跃留存分析。

新增留存分析是分析某天的新增用户中,有多少人有后续的活跃行为。活跃留存分析是分析某天的活跃用户中,有多少人有后续的活跃行为。

留存分析是衡量产品对用户价值高低的重要指标。

此处要求统计新增留存率,新增留存率具体是指留存用户数与新增用户数的比值,例如2020-06-14新增100个用户,1日之后(2020-06-15)这100人中有80个人活跃了,那2020-06-14的1日留存数则为80,2020-06-14的1日留存率则为80%。

要求统计每天的1至7日留存率,如下图所示。

1.建表语句

DROP TABLE IF EXISTS ads_user_retention;CREATE EXTERNAL TABLE ads_user_retention (`dt` STRING COMMENT '统计日期',`create_date` STRING COMMENT '用户新增日期',`retention_day` BIGINT COMMENT '截至当前日期留存天数',`retention_count` BIGINT COMMENT '留存用户数量',`new_user_count` BIGINT COMMENT '新增用户数量',`retention_rate` DECIMAL(16,2) COMMENT '留存率') COMMENT '用户留存率'ROW FORMAT DELIMITED  FIELDS TERMINATED BY '\t'LOCATION '/warehouse/gmall/ads/ads_user_retention/';

9.5 订单主题

9.5.1 订单统计

该需求包含订单总数,订单总金额和下单总人数。

1.建表语句

DROP TABLE IF EXISTS ads_order_total;CREATE EXTERNAL TABLE `ads_order_total` (`dt` STRING COMMENT '统计日期',`recent_days` BIGINT COMMENT '最近天数,1:最近1天,7:最近7天,30:最近30天',`order_count` BIGINT COMMENT '订单数',`order_amount` DECIMAL(16,2) COMMENT '订单金额',`order_user_count` BIGINT COMMENT '下单人数') COMMENT '订单统计'ROW FORMAT DELIMITED  FIELDS TERMINATED BY '\t'LOCATION '/warehouse/gmall/ads/ads_order_total/';

9.5.2 各地区订单统计

该需求包含各省份订单总数和订单总金额。

1.建表语句

DROP TABLE IF EXISTS ads_order_by_province;CREATE EXTERNAL TABLE `ads_order_by_province` (`dt` STRING COMMENT '统计日期',`recent_days` BIGINT COMMENT '最近天数,1:最近1天,7:最近7天,30:最近30天',`province_id` STRING COMMENT '省份ID',`province_name` STRING COMMENT '省份名称',`area_code` STRING COMMENT '地区编码',`iso_code` STRING COMMENT '国际标准地区编码',`iso_code_3166_2` STRING COMMENT '国际标准地区编码',`order_count` BIGINT COMMENT '订单数',`order_amount` DECIMAL(16,2) COMMENT '订单金额') COMMENT '各地区订单统计'ROW FORMAT DELIMITED  FIELDS TERMINATED BY '\t'LOCATION '/warehouse/gmall/ads/ads_order_by_province/';

第10章 全流程调度

本文由博客一文多发平台 OpenWrite 发布!

尚硅谷数据仓库实战之3数仓搭建相关推荐

  1. 尚硅谷数据仓库实战之1项目需求及架构设计

    尚硅谷数据仓库实战之1项目需求及架构设计 第2章 项目需求及架构设计 需求分析 项目框架 技术选型 数据流程设计 框架版本选型 服务器选型 集群规模 集群资源规划设计 第3章 数据生成模块 目标数据 ...

  2. 本地数据仓库项目(一) —— 本地数仓搭建详细流程

    1 准备 1.1 本地虚拟机器准备 使用本地搭建三台机器,搭建数仓,模拟实际平台数据仓库的搭建.具体的搭建框架如下 安装软件 角色 主机1 主机2 主机3 Hadoop NameNode √ Seco ...

  3. 数据仓库系列:初识数仓

    数据仓库系列:初识数仓 前言: 本节是数据仓库系列文章的第一篇,本系列的目的在于快速的构建一套最小化可运行的基础数据体系,过程中也会涉及一些数仓的理论知识,但更偏重的是数仓的实现和背后的思考逻辑.所以 ...

  4. 大数据实战项目 -- 离线数仓

    一.数仓规划 1.1 集群规划 技术选型 位置 框架 数据采集传输 Flume,Kafka,Sqoop ,Logstash,DataX, 数据存储 MySql,HDFS,HBase,Redis,Mon ...

  5. 尚硅谷Docker实战教程-笔记02【安装docker、镜像加速器配置】

    尚硅谷大数据技术-教程-学习路线-笔记汇总表[课程资料下载] 视频地址:尚硅谷Docker实战教程(docker教程天花板)_哔哩哔哩_bilibili 尚硅谷Docker实战教程-笔记01[理念简介 ...

  6. 尚硅谷数据仓库 用户行为分析

    数据仓库的输入数据通常包括:业务数据.用户行为数据和爬虫数据等 业务数据:就是各行业在处理事务过程中产生的数据.比如用户在电商网站中登录.下单.支付等过程中,需要和网站后台数据库进行增删改查交互,产生 ...

  7. 数据仓库面试题汇总-数仓-四

    目录 1.数仓与关系数据库区别? 2.数仓为什么需要分层?优缺点? 2.1 什么是数仓? 2.2 数据仓库建模的意义,为什么要对数据仓库分层? 3.数仓链路很长怎么保证任务有序执行? 4.消息队列(了 ...

  8. hive udf 分组取top1_项目实战从0到1之hive(27)数仓项目(九)数仓搭建 DWS 层

    点击上方蓝字关注我们 一.数仓搭建 - DWS 层 1.1 业务术语 1)用户 用户以设备为判断标准,在移动统计中,每个独立设备认为是一个独立用户.Android 系统根据 IMEI 号,IOS 系统 ...

  9. 离线数仓搭建_11_DWD层用户行为日志创建

    文章目录 13.0 数仓搭建-DWD层 13.1 DWD层(用户行为日志) 13.1.1 日志解析思路 13.1.2 get_json_object函数使用 13.1.3 启动日志表 13.1.4 页 ...

最新文章

  1. 15 个 JavaScript Web UI 库
  2. 网络营销外包专员浅析网络营销外包如何防止发布的外链被删除呢?
  3. 【MM模块】Basic Invoice Verification 发票校验
  4. 「 每日一练,快乐水题 」744. 寻找比目标字母大的最小字母
  5. RHEL 7安装教程
  6. SAP Spartacus 3.0部署在development environment上
  7. 【Java】二维码生成,QRcode
  8. STM32 J-LINK、ST-Link、CMSIS-DAP
  9. 将DEX反编译成Java源代码
  10. t620服务器安装系统,请教高手Dell T620 服务器安装Ubuntu14.04LTS桌面版 非常慢 为什么?...
  11. appium安装教程
  12. 中国矢量地图shp文件(带审图号)
  13. 《机器学习实战笔记--第一部分 分类算法:决策树 3》
  14. 好豆直播功能需求分析与优先级排序
  15. 英文通信地址常用翻译
  16. 5G融合通信网关(应急通讯、车载通讯、视频传输)
  17. COPA和利润中心PCA的区别
  18. 【CSS解决页面高度塌陷问题】
  19. 机器学习分类模型评价指标详述
  20. Ubuntu子系统折腾记

热门文章

  1. 给第一行单元格赋值WPS JS获取工作表的总行数WPS JS获取工作表的总行数
  2. 国内数据库技术大牛:牛新庄博士自传(转)
  3. 记录错误 Failed to start Samba SMB Daemon.
  4. 双向buck boost以及带隔离变压器DAB拓扑可支持各种电压等级的双向DCDC变换
  5. wx.request方法返回值调用
  6. core sync是什么软件_索尼手机系统自带软件精简列表
  7. 蚀刻技术(获得所需电路图形)
  8. 昆仑通态TPC1071Gt/Gi无法下载程序的问题
  9. 无信任链可信计算模型与可信虚拟化云计算数据中心解决方案
  10. hexo+yilia添加相册视屏功能