Spark优雅操作Redis

2018年8月29日 0 条评论 1.88k 次阅读 0 人点赞

前言

随着Spark在数据处理领域越来越火,应用范围也不断扩大。相应的Source和Sink支持也越来越多,因为项目中需要从Redis中读取数据并进行操作,所以需要一种优雅的方式来操作Redis。一番搜索以后发现,除了自定义Source以外还可以通过redislabs.com出品的Connector进行操作。Redis Labs是一家位于加利福尼亚州山景城的私人计算机软件公司。它提供了一个数据库管理系统,作为开源软件或使用云计算的服务作为“NoSQL”销售。其实就是Redis的商业化公司,毕竟Spark现在这么火,许多公司想搭上顺风车。

Maven依赖

废话不多说,可以添加依赖搞起。详细的pom文件如下:

 

编码

依赖添加完成以后就可以进行Demo测试了。详细说明可以参考:

将Redis配置写入文件中,并命名为application.conf方便后续typesafe进行解析:

其实Java和Scala都一样,本文采用Scala进行测试:

输出信息如下:

从输出信息可以看出匹配到了4条数据,并输出了他们各自的Key。

Tips

其实自己在Debug调试的时候可能会发现打印信息太多了,为了减少无用日志,可以手动调整日志的输出级别:

言归正传,从fromRedisKeyPattern源码中可以看到:

可以看出,默认的匹配模式是redis中对应的keys*操作,默认的分区数量为3,这些参数都可以灵活配置。当然,Spark-Redis支持的功能远远不止这些,使用的时候可以继续探索。

参考文档

 

勇敢,和生活的艰难无关。

文章评论(0)