数据湖架构

1.在第一次搭建的基础上改良,环境已有:hadoop2.8.3、spark3.0.2、scala2.12、jdk8、delta lake0.8.0

2.mysql配置binlog,日志模式设置为mixed,可以直接读取sql,监听binlog日志,实时传送修改消息,然后进行增量的批量更新delta表

delta表对字段的大小写以及顺序有要求,并且spark sql不支持insert语句中的列列表

3.配置kafka,(当然也可以用其他消息中间件取代),用于传递binlog产生的消息

4.消费kafka的消息,更新delta数据

5.配置canal,用于贯通mysql和kafka,并且实时传送消息,并且带有端点消息的消费功能


canal运行中

canal内部配置不同类型的数据库以及消息中间件,十分便捷

6.spark可以实时监听数据源的更新执行sql

./spark-submit --class main.Main /root/graduate/gold/target/gold-1.0-SNAPSHOT.jar

提交任务


mysql执行

随后kafka从canal接收消息,spark从kafka消费,这里本该有消费的截图,但是spark修改delta表的执行过程会直接把消费记录刷掉


spark连接到delta


数据的修改反馈

7.tableau连接spark,可以自动更新数据,制作仪表盘以及工作表,bi形式呈现数据,并且可以自助分析


mysql执行会在一定延迟内更新到tableau


尝试用tableau做一些自助数据分析


=======================================后续预期:

1.非结构化数据的迁移

2.delta表格的输出,尝试用csv格式输出

3.用tableau做一些数据分析结论

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容