系统安装
1. 安装jdk
2. 安装hadoop
3.安装mysql
4.安装hive
5.安装scala-2.11.12
6.安装presto
把presto-client的jar改为命令文件
7.安装spark-2.4.7-for-scala-2.11
(注意对应的scala版本以及hadoop版本以及hdfs系统的文件权限问题)
8.安装flink-1.11.3--for-scala-2.11
9.在windows测试虚拟机的hadoop开发
测试spark:
测试flink:
10.基于Maven开发,导入delta lake框架开发测试
11.从kaggle下载一些超市的数据集合,包裹一些会员信息,订单小票,库存信息以及用户行为等。
不同的数据表格可能来自不同的源,为了使数据有关联度,我有进行一定的预处理
12.把数据录入到数据库
一般来说,业务数据的来源不应该是这样的,由于模拟需要,所以先这样准备数据,datagrip软件提供把csv格式文件导入数据库相关表格的功能,我也有编写具体代码模拟数据导入到数据库的过程
13.以delta lake的方式打开spark
spark一般会有一个对应的delta lake版本在自己的包内,但我用比较新的delta lake版本,这里交互式进入成功,实际上对于开发人员来说,交互式已经是很好的处理数据手段,但接下来仍尝试编写代码对数据进行操作,时间充裕的话尝试做有一定交互能力的界面
14.编写代码进行数据迁移,市面上较为常用的数据迁移方式主要是dataX或者用squoop数据迁移到hdfs,我这里直接用框架读取数据库内容,模拟分库的场景读取
15.连接到spark集群
spark貌似对ip地址和主机名称有很高的区分度,配置spark-env.sh时要小心处理,否则会拒绝连接
16.hdfs下创建/tmp/spark-events文件夹,充当事件日志文件夹
17.把delta lake和iceberg的jar包下载并放到spark的jars文件夹内
18.编写代码把相关数据源的表格同步到数据湖
(以下未完成,后续打算完善的程度)
19.不同表格之间的增删查改以及join操作
20.尝试做一些批量数据的定时任务或者用flink做一些流式数据的处理
21.用输出的表格做一些简单的可视化