企业级数据仓库-数仓实战
数仓实战
安装包大小

安装清单

环境搭建

一、环境搭建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 &
相关文章:
企业级数据仓库-数仓实战
数仓实战 安装包大小 安装清单 环境搭建 一、环境搭建01(机器准备) 准备好三台虚拟机,并进行修改hostname、在hosts文件增加ip地址和主机名映射 。 1、设置每个虚拟机的hostname vi /etc/sysconfig/network 修改HOSTNAMEnode02修改hostna…...
Spring Boot 下载文件(word/excel等)文件名中文乱码问题|构建打包不存在模版文件(templates等)
Spring Boot 下载文件(word/excel等)文件名中文乱码问题|构建打包不存在模版文件(templates等) 准备文件,这里我放在resource下的templates路径 在pom中配置构建打包的资源,更新maven 如果使用了assembly打包插件这样配置可能仍不生效&#…...
Ansible数组同步至Shell脚本数组中
1、ansible中定义数组,我以 ccaPojectList 数组为例子,如下图数组内容 2、需要写一个j2模板的Shell脚本,在j2模板的Shell脚本中引用ansible的 ccaPojectList 数组,大致如下图: {% for item in ccaPojectList %} "{{ item }…...
私域流量的优势
私域流量是指由自身品牌或个人拥有并具备完全掌控权的流量资源。它相比于传统的广告推广,拥有独特的优势。 首先,私域流量能够更加精准地定位目标用户,实现精准传播。不再盲目投放广告,而是通过建立自身社群、粉丝群,获…...
Java 中“1000==1000”为false,而”100==100“为true?
如果你运行下面的代码: Integer a 1000, b 1000; System.out.println(a b);//1Integer c 100, d 100; System.out.println(c d);//2你会得到: false true基本知识:我们知道,如果两个引用指向同一个对象,用表示它们是相等的。如果两…...
片上网络(1)概述
前言 NoC:On-Chip Networks,片上网络。 由于多核乃至众核时代的到来,用于连接它们的可扩展、低延迟、大带宽的通信结构变得至关重要。 在核心较少时,总线Bus和矩阵/交叉开关Crossbar是主要的互联结构。总线可以提供较低的传输延迟…...
使用 React Native 针对 Android 进行开发
🎬 岸边的风:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 概述 通过安装所需工具开始使用 React Native 创建新的 React Native 项目 本指南将有助于开始使用 Windows 上的…...
LeetCode 每日一题 2023/9/11-2023/9/17
记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录 9/11 630. 课程表 III9/12 1462. 课程表 IV9/13 2596. 检查骑士巡视方案9/14 1222. 可以攻击国王的皇后9/15 LCP 50. 宝石补给9/16 198. 打家劫舍9/17 9/11 630. 课程表 II…...
Linux系统调试篇——GDBSERVER远程调试
文章目录 安装 GDBSERVERgdbserver 用法具体步骤 本篇讲解如何使用gdbserver对目标开发板上的程序进行远程调试。 安装 GDBSERVER 首先在开发板上安装 gdbserver: apt install gdbservergdbserver 用法 gdbserver用法描述: Usage: gdbserver [OPTION…...
前端实现打字效果
前端实现打字效果 不带光标 只一次播放 HTML <!-- 需要在初始化的时候不显示文字 --> <div id"typing"></div>CSS #typing {position: relative;font-size: 24px;font-family: Arial, sans-serif;padding: 10px; }JS const text "要显…...
Unix和Linux、GNU和GPL、RHEL和Centos、Debian和Ubuntu
文章目录 Unix和LinuxGNU和GPLGNU/Linux名称的来源RHEL和CentosDebian和Ubuntu 以上都是操作系统,服务器操作系统、桌面操作系统。 对于刚刚接触Linux系统或者从事运维相关工作的人来说,肯定会听过很多名词,但是不知道他们的区别和联系&#…...
InfiniBand vs 光纤通道,存储协议的选择
数字时代,数据量爆发增长,企业越来越迫切地追求高吞吐量、低延迟和更高性能的网络基础设施,存储协议的选择变得愈发至关重要。在众多存储协议中,InfiniBand和光纤通道备受关注。本文旨在深入探讨InfiniBand和光纤通道作为存储协议…...
第2章_freeRTOS入门与工程实践之单片机程序设计模式
本教程基于韦东山百问网出的 DShanMCU-F103开发板 进行编写,需要的同学可以在这里获取: https://item.taobao.com/item.htm?id724601559592 配套资料获取:https://rtos.100ask.net/zh/freeRTOS/DShanMCU-F103 freeRTOS系列教程之freeRTOS入…...
python LeetCode 刷题记录 58
题目 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 输入:s "Hello World" 输出:5 解释&am…...
HarmonyOS开发:那些开发中常见的问题汇总(一)
前言 本来这篇文章需要讲述静态共享包如何实现远程依赖和上传以及关于静态共享包私服的搭建,非常遗憾的告诉大家,由于组织管理申请迟迟未通过,和部分文档官方权限暂未开放,关于这方面的讲解需要延后了,大概需要等到202…...
新能源汽车驱动电机的基本知识
学习目标:了解电机的基本知识。能力目标:培养学生搜集和整理相关资料的能力。素质目标:培养学生良好的职业素养。额定电店.在夫见定条件下电池工作的*于佳 电压知识准备术语和定义。 (1)驱动电机系统 通过有效的控制策略将动力蓄电池提供的直流电转化为交流实现电机的正转以及反…...
流媒体协议——RTSP
RTSP RTSP(Real Time Streaming Protocol):实时流媒体协议,是基于文本的协议,采用ISO10646字符集,使用UTF-8编码 RTSP-over-TCP,默认端口554 RTSP-over-HTTP,默认端口为8080 RTSP OVER WebSocket 默认端口为 80&am…...
Arcgis提取点数据经纬度
Arcgis提取点数据经纬度 现已打开tiff影像和采样点的shape文件。目标是提取采样点的经纬度信息然后导出。 打开数据管理工具-要素-添加XY坐标 在点的图层上右击打开属性表时,经纬度信息已经添加到属性表中。 在属性表的左上角中点击导出,导出为文本文…...
【小记录】jupyter notebook新版本
手欠升级 😅今天手贱,在anaconda navigator里面更新了最新版本的spyder,然后莫名奇妙地jupyter notebook就打不开了😅,报错说缺少模块”ModuleNotFoundError: No module named jupyter_server.contents“,…...
Ubuntu安装深度学习环境相关(yolov8-python部署)
Ubuntu安装深度学习环境相关(yolov8-python部署) 本文将从如下几个方面总结相关的工作过程: Ubuntu系统安装(联想小新pro16) 2.显卡驱动安装3.测试深度学习模型 1. Ubunut 系统安装 之前在台式机上安装过Ubuntu,以为再在笔记本上安装会是小菜一碟&…...
3步搞定!Jable视频下载终极指南:免费Chrome插件+本地工具完整教程
3步搞定!Jable视频下载终极指南:免费Chrome插件本地工具完整教程 【免费下载链接】jable-download 方便下载jable的小工具 项目地址: https://gitcode.com/gh_mirrors/ja/jable-download Jable视频下载工具是一款专为普通用户设计的免费开源解决方…...
【Python 3.15 JIT终极指南】:20年CPython核心开发者亲授,从零部署到性能翻倍的5个关键跃迁
第一章:Python 3.15 JIT的诞生背景与核心设计哲学 Python 长期以来以开发效率和生态丰富性见长,但其解释执行模型在 CPU 密集型场景下始终面临性能瓶颈。CPython 的字节码解释器虽稳定可靠,却缺乏运行时优化能力;而第三方方案&…...
Stable Diffusion ComfyUI进阶:局部重绘与智能扩图的实战技巧与创意应用
1. 局部重绘的核心原理与实战技巧 局部重绘是Stable Diffusion ComfyUI中最实用的功能之一,它允许你在不改变整体构图的情况下,对图像的特定区域进行重新绘制。这个功能背后的技术原理其实很有意思——它利用了潜在空间(latent space…...
reyax_lora轻量级LoRa模块串口驱动库设计与应用
1. 项目概述reyax_lora是一个面向嵌入式平台的轻量级串口驱动库,专为控制 Reyax 公司 RYLR998(433/470/868/915 MHz)与 RYLR498(2.4 GHz)LoRa 透传模块而设计。该库不依赖操作系统抽象层,以裸机(…...
设计师必看:Photoshop混合模式实战指南,5分钟搞定光影合成与氛围感调色
Photoshop混合模式实战指南:5分钟掌握光影合成与氛围调色 当你在深夜赶稿时,突然发现人物照片缺乏立体感,或是产品静物图需要增强戏剧性光影——这就是混合模式大显身手的时刻。不同于繁琐的曲线调整和复杂的蒙版操作,混合模式就像…...
Qwen3-14B-AWQ模型效果深度评测:在算法题求解上的表现
Qwen3-14B-AWQ模型效果深度评测:在算法题求解上的表现 1. 评测背景与模型简介 在AI技术快速发展的今天,大语言模型在代码生成和算法解题领域展现出越来越强的能力。Qwen3-14B-Int4-AWQ作为通义千问系列的最新量化版本,在保持较高推理能力的…...
Llama-3.2V-11B-cot从零部署:Docker镜像运行与端口映射详解
Llama-3.2V-11B-cot从零部署:Docker镜像运行与端口映射详解 1. 项目概述 Llama-3.2V-11B-cot是基于Meta Llama-3.2V-11B-cot多模态大模型开发的高性能视觉推理工具。它针对双卡4090环境进行了深度优化,特别适合想要体验Llama多模态大模型但缺乏专业部署…...
3秒获取全网歌词:163MusicLyrics让多平台歌词提取效率提升10倍
3秒获取全网歌词:163MusicLyrics让多平台歌词提取效率提升10倍 【免费下载链接】163MusicLyrics Windows 云音乐歌词获取【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 在数字音乐时代,歌词已成为音乐体验…...
时空预测入门:从ConvLSTM的局限到PredRNN的突破,一篇讲清记忆单元演化史
时空预测技术演进:从ConvLSTM到PredRNN的记忆单元革命 时空序列预测一直是计算机视觉和机器学习领域最具挑战性的任务之一。想象一下,当你观看一段足球比赛视频时,大脑不仅能记住球员的位置变化(时间维度),…...
手柄硬件校准与操控优化:从故障排查到竞技级设置的实战手册
手柄硬件校准与操控优化:从故障排查到竞技级设置的实战手册 【免费下载链接】DS4Windows Like those other ds4tools, but sexier 项目地址: https://gitcode.com/gh_mirrors/ds/DS4Windows 在《艾尔登法环》的 boss 战中,角色总是不受控制地缓慢…...
