业务背景
部分RDS和POLARDB For MySQL的用户曾遇到如下场景:当一张表的数据达到几千万时,你查询一次所花的时间会变多。
这时候采取水平分表的策略,水平拆分是将同一个表的数据进行分块保存到不同的数据库中,这些数据库中的表结构完全相同。
本文将介绍如何把这些水平分表的表归档到X-Pack Spark数仓,做统一的大数据计算。
X-Pack Spark服务通过外部计算资源的方式,为Redis、Cassandra、MongoDB、HBase、RDS存储服务提供复杂分析、流式处理及入库、机器学习的能力,从而更好的解决用户数据处理相关场景问题。
2、RDS & POLARDB分表归档到X-Pack Spark步骤
一键关联POLARDB到Spark集群
一键关联主要是做好spark访问RDS & POLARDB的准备工作。
POLARDB表存储
在database ‘test1’中每5分钟生成一张表,这里假设为表 'test1'、'test2'、'test2'、...
具体的建表语句如下:
*请左右滑动阅览
归档到Spark的调试
x-pack spark提供交互式查询模式支持直接在控制台提交sql、python脚本、scala code来调试。
1、首先创建一个交互式查询的session,在其中添加mysql-connector的jar包。
*请左右滑动阅览
2、创建交互式查询
以pyspark为例,下面是具体归档demo的代码:
*请左右滑动阅览
归档作业上生产
交互式查询定位为临时查询及调试,生产的作业还是建议使用spark作业的方式运行,使用文档参考。这里以pyspark作业为例:
/polardb/polardbArchiving.py 内容如下:
*请左右滑动阅览
扫描下方 ⬇️二维码
了解关于X-Pack Spark计算服务的更多信息
双十一还不知道买什么?
阿里云数据库双11爆款直降
这份购物清单 ⬇️给你拿去!
本文来自投稿,不代表本人立场,如若转载,请注明出处:http://www.souzhinan.com/kj/209517.html