网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
| 目标设备 | 数据描述 | 粒度 |
|---|---|---|
| Mysql | 每秒的下单和退单数 | 一个时间的下单和退单数是一条数据 |
| Redis | 手机品牌的访问热度 | 使用Zset存储所有手机的访问热度值 |
| HBase | 各手机品牌在各省份订单的实时成交数据 | 一种手机在一个省某一时刻的下单数和金额是一条数据 |
| ElasticSearch | 手机购买客户的背景信息 | 一个顾客是一条数据 |
| Clickhouse | 手机订单的实时成交流水 | 一笔流水是一行 |
3.2 数据模拟
本套专栏已经提供了数据模拟程序,可以直接使用。
在数据模拟工具的配置文件application.yml中配置数据库环境的相关信息,其中红色部分为需要修改的参数:
#并行模拟数据的线程数
#并行模拟数据的线程数
dataCount: mockCount: 1 hiveDataCount: 20sleepMs: logSleep: 1000 redisMockSleep: 1000 mysqlMockSleep: 1000
ckMockSleep: 1000 hbaseMockSleep: 1000 esMockSleep: 1000dest:
logUrl: http://localhost:8080/app redisDataKey: hotphone
param: logStrmybatis: configuration:
mapUnderscoreToCamelCase: truespring: elasticsearch:
uris: http://hadoop102:9200 redis:
host: hadoop102
port: 6379 datasource:
dynamic:
primary: mysql
strict: false
datasource:
mysql:
url: jdbc:mysql://hadoop102:3306/gmall_report?serverTimezone=Asia/Shanghai&useSSL=false&useUnicode=true&characterEncoding=UTF-8
username: root
password: “000000”
driver-class-name: com.mysql.cj.jdbc.Driver
ck:
url: jdbc:clickhouse://hadoop102:8123/default
username:
password:
driver-class-name: ru.yandex.clickhouse.ClickHouseDriver
hbase:
url: jdbc:phoenix:hadoop102,hadoop103,hadoop104:2181
username:
password:
driver-class-name: org.apache.phoenix.jdbc.PhoenixDriver
数据模拟程序默认为每个数据库启动一个线程,以1s每条的速率模拟产生对应的数据。如果需要增加数据量,可以修改蓝色标注的参数。
配置文件修改完毕后,可以在命令行使用java -jar 命令启动数据模拟程序。程序执行的计算机需要有Jre运行环境。
3.3 数据查验
开启数据模拟程序后,可以在对应的数据库中查看是否有模拟数据产生。
在Mysql数据库中,会创建名为di的表,数据如下:
在Clickhouse数据库中,会创建名为di的表,数据为7天内的随机一笔订单。数据如下:
在HBase数据库中,会创建名为di的表,数据如下:
在ElasticSearch数据库中,会创建名为di的index,数据如下:
{
“_class” : “com.atguigu.datamock.bean.Customer”,
“id” : 0,
“name” : “谭妍菁”,
“sex” : “女”,
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!