数仓4.0笔记——业务数据采集

本文介绍了电商中SKU和SPU的概念,并详细阐述了如何将MySQL业务数据批量和实时同步到HDFS,包括MySQL的安装、配置以及数据生成过程。在安装MySQL时,涉及到了依赖的卸载和安装,以及远程登录和密码策略的设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 电商业务简介

 SKU = Stock Keeping Unit(库存量基本单位)。现在已经被引申为产品统一编号的简称,每种产品均对应有唯一的SKU号。

 SPUStandard Product Unit):商品信息聚合的最小单位,是一组可复用、易检索的标准化信息集合。

例如:iPhoneX手机就是SPU。一台银色、128G内存的、支持联通网络的iPhoneX,就是SKU。

2 业务数据采集模块

核心操作:将MySQL上的业务数据同步到HDFS上边(批量同步和实时同步)

MySQL安装

将安装包和JDBC驱动上传到/opt/software,共计6个

[zhang@hadoop102 ~]$ cd /opt/software/

压缩包太多,整理一下:

[zhang@hadoop102 software]$ mkdir flume
[zhang@hadoop102 software]$ mkdir zookeeper
[zhang@hadoop102 software]$ mkdir java
[zhang@hadoop102 software]$ mkdir kafka
[zhang@hadoop102 software]$ mkdir mysql

[zhang@hadoop102 software]$ mkdir hadoop
[zhang@hadoop102 software]$ ll

[zhang@hadoop102 software]$ mv apache-flume-1.9.0-bin.tar.gz flume/
[zhang@hadoop102 software]$ mv apache-zookeeper-3.5.7-bin.tar.gz zookeeper/
[zhang@hadoop102 software]$ mv hadoop-3.1.3.tar.gz hadoop
[zhang@hadoop102 software]$ mv jdk-8u212-linux-x64.tar.gz java/
[zhang@hadoop102 software]$ mv kafka_2.11-2.4.1.tgz kafka
[zhang@hadoop102 software]$ ll

 再把不要的文件都删了

 进入MySQL,上传MySQL需要的安装包

[zhang@hadoop102 software]$ cd mysql/

卸载自带的Mysql-libs(如果之前安装过MySQL,要全都卸载掉)

[zhang@hadoop102 mysql]$ rpm -qa | grep -i -E mysql\|mariadb | xargs -n1 sudo rpm -e --nodeps

[zhang@hadoop102 mysql]$ rpm -qa | grep -i -E mysql\|mariadb

 如果是阿里云服务器按照如下步骤执行

说明:由于阿里云服务器安装的是Linux最小系统版,没有如下工具,所以需要安装。

(1)卸载MySQL依赖,虽然机器上没有装MySQL,但是这一步不可少

[atguigu@hadoop102 software]# sudo yum remove mysql-libs

(2)下载依赖并安装

[atguigu@hadoop102 software]# sudo yum install libaio

[atguigu@hadoop102 software]# sudo yum -y install autoconf 

k开始安装:

[zhang@hadoop102 mysql]$ rpm -qa | grep -i -E mysql\|mariadb | xargs -n1 sudo rpm -e --nodeps

[zhang@hadoop102 mysql]$ sudo rpm -ivh 02_mysql-community-libs-5.7.16-1.el7.x86_64.rpm

[zhang@hadoop102 mysql]$ sudo rpm -ivh 03_mysql-community-libs-compat-5.7.16-1.el7.x86_64.rpm

[zhang@hadoop102 mysql]$ sudo rpm -ivh 04_mysql-community-client-5.7.16-1.el7.x86_64.rp

[zhang@hadoop102 mysql]$ sudo rpm -ivh 05_mysql-community-server-5.7.16-1.el7.x86_64.rpm

启动MySQL

[zhang@hadoop102 software]$ sudo systemctl start mysqld

查看状态[zhang@hadoop102 mysql]$ sudo systemctl status mysqld

查看MySQL密码

[zhang@hadoop102 software]$ sudo cat /var/log/mysqld.log | grep password

用刚刚查到的密码进入MySQL(如果报错,给密码加单引号)

 [zhang@hadoop102 mysql]$ mysql -uroot -p'f&8U;US.yhP#'

设置复杂密码(由于MySQL密码策略,此密码必须足够复杂)

mysql> set password=password("Qs23=zs32");

更改MySQL密码策略

mysql> set global validate_password_length=4;

mysql> set global validate_password_policy=0;

设置简单好记的密码

mysql> set password=password("000000");

配置远程登录:进入MySQL

mysql> use mysql

查询user

mysql> select user, host from user;

修改user表,把Host表内容修改为%

mysql> update user set host="%" where user="root";

刷新

mysql> flush privileges;

退出

mysql> quit;

业务数据生成

连接MySQL

使用一个MySQL客户端生成一个数据库(Navicat for MySQL)

 

先测试连接,连接成功,再确定。(我主机使用hadoop102,连接失败,换成IP地址就连接成功了,不知道前面哪个环节出错了,总得使用IP)

 

 

 开始执行

 

 

 生成业务数据

在hadoop102的/opt/module/目录下创建db_log文件夹

[zhang@hadoop102 module]$ mkdir db_log/

 

 [zhang@hadoop102 db_log]$ vim application.properties

 

 

[zhang@hadoop102 db_log]$ java -jar gmall2020-mock-db-2021-01-22.jar

 写入数据完成。

查看gmall数据库,观察是否有2020-06-14的数据出现

 已经生成2020-06-14的内容,如果要再生产其他天的数据,直接进去 application.properties修改时间,并且1置为0。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值