企业级数据仓库-数仓实战

数仓实战

安装包大小

在这里插入图片描述

安装清单

在这里插入图片描述

环境搭建

在这里插入图片描述

一、环境搭建01(机器准备)

准备好三台虚拟机,并进行修改hostname、在hosts文件增加ip地址和主机名映射 。

1、设置每个虚拟机的hostname
vi /etc/sysconfig/network 
修改HOSTNAME=node02修改hostname
hostnamectl set-hostname node02
2、设置每个虚拟机的ip地址和主机名映射cat >>/etc/hosts<<EOF
192.168.77.130   node01
EOFcat >>/etc/hosts<<EOF
192.168.77.131   node02
EOFcat >>/etc/hosts<<EOF
192.168.77.132   node03
EOF检查结果 
ping `cat /etc/hostname`

在这里插入图片描述

二、环境搭建02(脚本准备)

在node01上操作:
mkdir -p /home/hadoop
unzip  automaticDeploy.zip -d /home/hadoop/cd /home/hadoop/automaticDeploy/
vi host_ip.txt
vi frames.txt
上传frame.zip
unzip frames.zip  -d /home/hadoop/automaticDeploy/chmod +x /home/hadoop/automaticDeploy/hadoop/*  /home/hadoop/automaticDeploy/systems/*ssh root@192.168.77.131 "mkdir -p /home/hadoop"
ssh root@192.168.77.132 "mkdir -p /home/hadoop"scp -r /home/hadoop/automaticDeploy/ root@192.168.77.131:/home/hadoop/
scp -r /home/hadoop/automaticDeploy/ root@192.168.77.132:/home/hadoop/

三、环境搭建03(集群安装)

在三台节点中执行
cd /home/hadoop/automaticDeploy/systems/
./batchOperate.sh 安装Hadoop集群
在三台节点中执行
/home/hadoop/automaticDeploy/hadoop/installHadoop.sh 
source /etc/profile安装下载失败的两个包
scp -r /home/software/*.rpm root@192.168.77.131:/home/software/
scp -r /home/software/*.rpm root@192.168.77.132:/home/software/
rpm -ivh *.rpm三台都执行
ssh-copy-id node01
ssh-copy-id node02
ssh-copy-id node03在node01上操作:初始化节点
hadoop namenode -format
#启动hadoop
start-all.sh检查node01、node02、node03的jps(具体jps见下面截图)
在node01上操作:
curl http://node01:50070
curl http://192.168.77.130:50070/在node02上执行
/home/hadoop/automaticDeploy/hadoop/installMysql.sh
测试MySQL
mysql -uroot -p
DBa2020*
show databases;在node03执行
/home/hadoop/automaticDeploy/hadoop/installHive.sh /home/hadoop/automaticDeploy/hadoop/installSqoop.sh 
source /etc/profile在三台节点中执行
/home/hadoop/automaticDeploy/hadoop/installPresto.sh 在node03执行
/home/hadoop/automaticDeploy/hadoop/installYanagishima.sh 所有节点都执行:
source /etc/profile

Hadoop log位置: /opt/app/hadoop-2.7.7/logs/

在这里插入图片描述

四、项目流程&数据生成

Node02上执行:
export MYSQL_PWD=DBa2020*
mysql -uroot -e "create database mall;"mkdir -p /opt/app/scripts
cd /opt/app/scripts/上传\数据生成脚本\*.sql到 /opt/app/scripts
mysql -uroot mall <1建表脚本.sql 
mysql -uroot mall <2商品分类数据插入脚本.sql 
mysql -uroot mall <3函数脚本.sql 
mysql -uroot mall <4存储过程脚本.sql 检查MySQL以上脚本执行结果:
mysqluse mall;
#存储过程
CALL init_data('2023-06-28',300,200,300,FALSE);
select count(1) from user_info;
show tables;

在这里插入图片描述

在这里插入图片描述

五、ETL数据导入

node03上操作:
mkdir -p  /home/warehouse/shell
#文件路径:E:\1.后端培训\部署脚本\WarehouseScript
vi /home/warehouse/shell/sqoop_import.sh
cd /home/warehouse/shell
chmod +x sqoop_import.sh
#如果导入数据有问题,可以执行start-all.sh重启下hadoop集群重试
./sqoop_import.sh  all 2023-06-28

在这里插入图片描述

删除HDFS中文件夹
hadoop fs -rm -r -skipTrash /origin_data/mall

六、ODS层创建&数据接入

node03上操作:
hive --service hiveserver2  &
hive --service metastore &
在Hive中创建表
mkdir -p  /home/warehouse/sql
cd /home/warehouse/sql
vi ods_ddl.sql
hive -f  /home/warehouse/sql/ods_ddl.sql
Hive如果有问题:jps找runjar kill -9 进程
执行成功后从hive查看结果:
hive
show databases;
use mall;
show tables;
cd /home/warehouse/shell
chmod +x ods_db.sh 
./ods_db.sh  2023-06-28执行成功后到Hive查看结果:
hive
use mall;
select count(1) from ods_user_info;
结果为200条记录

在这里插入图片描述
在这里插入图片描述

七、DWD层创建&数据接入

在Hive中创建表
vi /home/warehouse/sql/dwd_ddl.sqlhive -f  /home/warehouse/sql/dwd_ddl.sql 将数据导入到Hive
cd /home/warehouse/shell
chmod +x dwd_db.sh
./dwd_db.sh  2023-06-28执行成功后到Hive查看结果:
hive
use mall;
select * from dwd_sku_info where dt='2023-06-28' limit 2;

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

八、DWS层创建&数据接入

在Hive中创建表(node03操作)
vi /home/warehouse/sql/dws_ddl.sql 
hive -f  /home/warehouse/sql/dws_ddl.sql 
cd /home/warehouse/shell
chmod +x dws_db.sh
./dws_db.sh  2023-06-28
执行成功后到Hive查看结果
hive
use mall;
select * from dws_user_action where dt='2023-06-28' limit 2;
执行结果:
1       1       189     1       189     2023-06-28
100     1       85      1       85      2023-06-28

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

九、ADS层复购率统计

在Hive中创建表(node03操作)
vi /home/warehouse/sql/ads_sale_ddl.sql
hive -f  /home/warehouse/sql/ads_sale_ddl.sqlcd /home/warehouse/shell
chmod +x ads_sale.sh
./ads_sale.sh  2023-06-28
执行成功后到Hive查看结果
hive
use mall;
select * from ads_sale_tm_category1_stat_mn limit 2;
执行结果:
NULL    NULL    NULL    152     140     0.92    100     0.78    2023-06 2023-06-28

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

十、ADS层数据导出

node02上执行操作:
mkdir -p /home/warehouse/sql
cd /home/warehouse/sqlexport MYSQL_PWD=DBa2020*
mysql -uroot mall </home/warehouse/sql/mysql_sale_ddl.sqlnode03上执行操作:
cd /home/warehouse/shell
chmod +x sqoop_export.sh
./sqoop_export.sh  all到mysql查看执行结果(node02上执行操作):
export MYSQL_PWD=DBa2020*
mysql
use mall;
select * from ads_sale_tm_category1_stat_mn;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

十一、Azkaban自动化调度

在三台节点中执行
/home/hadoop/automaticDeploy/hadoop/installAzkaban.sh
source /etc/profilenode02上执行操作:
mysql
use mall;
CALL init_data('2023-09-09',300,300,300,FALSE);
select count(1) from user_info WHERE create_time >= '2023-09-09' AND create_time < '2023-09-10';在三台节点中执行
azkaban-executor-start.sh  &Node03上执行
azkaban-web-start.sh  &
使用Node03的IP地址
在浏览器地址栏输入:https://192.168.77.132:8443
用户名、密码都是:adminFlow Property Override
dt  2023-09-09
useExecutor  node03

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

重起集群

需要先启动三台的hadoop#1、启动hadoop
start-all.sh
#2、启动hive
node03上操作:
hive --service hiveserver2  &
hive --service metastore &
#3、启动azkaban
在三台节点中执行
azkaban-executor-start.sh  &
Node03上执行
azkaban-web-start.sh  &

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

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

相关文章

Llama2-Chinese项目:2.2-大语言模型词表扩充

因为原生LLaMA对中文的支持很弱&#xff0c;一个中文汉子往往被切分成多个token&#xff0c;因此需要对其进行中文词表扩展。思路通常是在中文语料库上训练一个中文tokenizer模型&#xff0c;然后将中文tokenizer与LLaMA原生tokenizer进行合并&#xff0c;最终得到一个扩展后的…

Docker网络学习

文章目录 Docker容器网络1.Docker为什么需要网络管理2. Docker网络简介3. 常见的网络类型4. docker 网络管理命令5.两种网络加入差异6.网络讲解docker Bridge 网络docker Host 网络docker Container 网络docker none 网络 Docker容器网络 1.Docker为什么需要网络管理 容器的网…

自动生成bug异常追踪-SRE与开发自动化协同

作者&#xff1a;观测云 数据智能部 产品方案架构师 范莹莹 简介 生产环境 bug 的定义&#xff1a;RUM 应用和 APM 应用的 error_stack 信息被捕捉后成为 bug。 以 APM 新增错误巡检为例&#xff0c;当出现新错误时&#xff0c;在观测云控制台的「事件」模块下生成新的事件报…

基于matlab实现的电力系统稳定性分析摆幅曲线代码

完整程序&#xff1a; clear; clc; t 0; tf 0; tfl 0.5; tc 0.5; % tc 0.05, 0.125, 0.5 sec for 2.5 cycles, 6.25 cycles & 25 cycles resp ts 0.05; m 2.52 / (180 * 50); i 2; dt 21.64 * pi / 180; ddt 0; time(1) 0; ang(1) 21.64; pm 0.9; pm1 2.44;…

java 字符串只保留数字、字母、中文

public static void main(String[] args) {String str "测 试 WG23-D";// 只留字母String s1 str.replaceAll("[^a-zA-Z]", "");// 只留数字String s2 str.replaceAll("[^0-9]", "");// 只留中文String s3 str.replaceA…

骨传导耳机有害处吗、骨传导耳机真的不好用吗?

骨传导耳机没有害处。 骨传导耳机是通过将声音传递到颅骨&#xff0c;再由颅骨传递到内耳&#xff0c;从而达到听声音的效果&#xff0c;与传统的耳机不同。 因此&#xff0c;骨传导耳机不会直接对人的身体健康、耳朵产生压力和损伤&#xff0c;也不会影响耳道和中耳的正常功能…

Jmeter性能实战之分布式压测

分布式执行原理 1、JMeter分布式测试时&#xff0c;选择其中一台作为调度机(master)&#xff0c;其它机器作为执行机(slave)。 2、执行时&#xff0c;master会把脚本发送到每台slave上&#xff0c;slave 拿到脚本后就开始执行&#xff0c;slave执行时不需要启动GUI&#xff0…

题目 1057: 二级C语言-分段函数

有一个函数如下&#xff0c;写一程序&#xff0c;输入x&#xff0c;输出y值。 保留两位小数 样例输入 1 样例输出 1.00 这道题的思路很简单&#xff0c;我直接用if判断输入的X对应的函数Y的区间&#xff0c;代入对应的函数&#xff0c;求出结果。记得变量用浮点型&#xff…

【毕设选题】opencv 图像识别 指纹识别 - python

文章目录 0 前言1 课题背景2 效果展示3 具体实现3.1 图像对比过滤3.2 图像二值化3.3 图像侵蚀细化3.4 图像增强3.5 特征点检测 4 OpenCV5 最后 0 前言 &#x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕设题目缺少创新和亮点&#xff0c;往…

计算机竞赛 机器视觉的试卷批改系统 - opencv python 视觉识别

文章目录 0 简介1 项目背景2 项目目的3 系统设计3.1 目标对象3.2 系统架构3.3 软件设计方案 4 图像预处理4.1 灰度二值化4.2 形态学处理4.3 算式提取4.4 倾斜校正4.5 字符分割 5 字符识别5.1 支持向量机原理5.2 基于SVM的字符识别5.3 SVM算法实现 6 算法测试7 系统实现8 最后 0…

基于springboot+vue的问卷调查系统

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

Day42:网易云项目,路由进阶

网易云项目 创建、启动项目并配置路由 npm init vite npm i npm i vue-router npm i sass -D 在main.js中 import router from ./router createApp(App).use(router).mount(#app) 在index中配置路由 import {createRouter,createWebHistory} from vue-router import H…

【第200篇原创文章】解决低于1%概率出现的芯片VPSS模块跑飞的问题

在发布SDK内测的时候&#xff0c;我们发现在切换视频分辨率的时候有低概率出现VPSS模块跑飞的情况&#xff0c;概率低于1%&#xff0c;试个两三百次&#xff0c;能出1~2次。切换视频分辨率这个功能在安防产品上也确实存在需求&#xff0c;网络带宽不大好的地方分辨率可以适当下…

【LeetCode-面试经典150题-day24】

目录 35.搜索插入位置 74.搜索二维矩阵 162.寻找峰值 33.搜索旋转排序数组 35.搜索插入位置 题意&#xff1a; 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请…

Verdi实现信号的平移

在Verilog/System verilog中&#xff0c;# xxx可以实现延迟指定时间的功能&#xff0c;而在使用verdi查看信号波形并进行分析时&#xff0c;同样也可以实现类似的功能。 (注&#xff1a;这种信号平移是有其应用场景的&#xff0c;例如&#xff0c;在某些仿真模型中&#xff0c;…

【100天精通Python】Day63:Python可视化_Matplotlib绘制子图,子图网格布局属性设置等示例+代码

目录 1 基本子图绘制示例 2 子图网格布局 3 调整子图的尺寸 4 多行多列的子图布局 5 子图之间的共享轴 6 绘制多个子图类型 7 实战&#xff1a; 绘制一个大图&#xff0c;里面包含6个不同类别的子图&#xff0c;不均匀布局。 绘制子图&#xff08;subplots&#xff09;…

趣谈网络协议_1

趣谈网络协议_1 第1讲 | 为什么要学习网络协议&#xff1f;第4讲 | DHCP与PXE&#xff1a;IP是怎么来的&#xff0c;又是怎么没的&#xff1f;动态主机配置协议&#xff08;DHCP&#xff09; 第5讲 | 从物理层到MAC层&#xff1a;如何在宿舍里自己组网玩联机游戏&#xff1f;第…

C# 随机数生成 Mersenne Twister 马特赛特旋转演算法 梅森旋转算法

NuGet安装MathNet.Numerics 引用: using MathNet.Numerics.Random; /// <summary>/// 包括lower&#xff0c;不包括upper/// </summary>/// <param name"lower"></param>/// <param name"upper"></param>/// <para…

【深度学习】 Python 和 NumPy 系列教程(十一):NumPy详解:3、数组数学(元素、数组、矩阵级别的各种运算)

目录 一、前言 二、实验环境 三、NumPy 0、多维数组对象&#xff08;ndarray&#xff09; 多维数组的属性 1、创建数组 2、数组操作 3、数组数学 1. 元素级别 a. 直接运算 b. 加法&#xff1a;np.add()函数 c. 减法&#xff1a;np.subtract()函数 d. 乘法&#xf…

HarmonyOS/OpenHarmony应用开发-DevEco Studio新建项目的整体说明

一、文件-新建-新建项目 二、传统应用形态与IDE自带的模板可供选用与免安装的元服与IDE中自带模板的选择 三、以元服务&#xff0c;远程模拟器为例说明IDE整体结构 1区是工程目录结构&#xff0c;是最基本的配置与开发路径等的认知。 2区是代码开发与修改区&#xff0c;是开发…