spark操作redis_Spark对接Redis快速入门
简介阿里云数据库 Redis 版(ApsaraDB for Redis)是兼容开源 Redis 协议的 Key-Value 类型在线存储服务。它支持字符串(String)、链表(List)、集合(Set)、有序集合(SortedSet)、哈希表(Hash)等多种数据类型,及事务(Transactions)、消息订阅与发布(Pub/Sub)等高级功能。通过“内存+硬盘”的存储方式,云数据库 Redi
简介
阿里云数据库 Redis 版(ApsaraDB for Redis)是兼容开源 Redis 协议的 Key-Value 类型在线存储服务。它支持字符串(String)、链表(List)、集合(Set)、有序集合(SortedSet)、哈希表(Hash)等多种数据类型,及事务(Transactions)、消息订阅与发布(Pub/Sub)等高级功能。通过“内存+硬盘”的存储方式,云数据库 Redis 版在提供高速数据读写能力的同时满足数据持久化需求。
主要介绍通过“数据工作台”使用Spark对接Redis数据库的使用方法。
前置条件Spark集群和Redis在同一个VPC下。
进入Spark分析集群页面,选择“数据库连接”>“连接信息”,查看Spark集群的VPC ID信息。如下图:
Redis已配置Spark集群的白名单。
首先在阿里云控制台进入“专有网络VPC”,找到Spark集群的VPC ID对应的IPv4网段。如下图:
然后进入Redis集群配置白名单,添加上述IPv4网段。如下图:
使用“数据工作台”>“作业管理”运行样例
步骤 1:通过“资源管理”上传样例代码Jar包
下载样例代码jar包“spark-examples-0.0.1-SNAPSHOT.jar”以及Redis依赖的jar包到本地目录。
wget https://spark-home.oss-cn-shanghai.aliyuncs.com/spark_example/spark-examples-0.0.1-SNAPSHOT.jar
wget https://spark-home.oss-cn-shanghai.aliyuncs.com/spark_connectors/ali-spark-redis-2.3.1-SNAPSHOT_2.3.2-1.0-SNAPSHOT.jar
wget https://spark-home.oss-cn-shanghai.aliyuncs.com/spark_connectors/commons-pool2-2.0.jar
wget https://spark-home.oss-cn-shanghai.aliyuncs.com/spark_connectors/jedis-3.0.0-20181113.105826-9.jar
在“数据工作台”>“资源管理”中添加文件夹“spark_on_redis”。上传下载的三个jar包到此文件夹。如下图:
步骤 2:通过“作业管理”创建并编辑作业内容
在“数据工作台”>“作业管理”中创建Spark作业,作业内容如下:
--classcom.aliyun.spark.redis.SparkOnRedisSparkSession
--jars/spark_on_redis/ali-spark-redis-2.3.1-SNAPSHOT_2.3.2-1.0-SNAPSHOT.jar,/spark_on_redis/commons-pool2-2.0.jar,/spark_on_redis/jedis-3.0.0-20181113.105826-9.jar
--driver-memory1G
--driver-cores1
--executor-cores1
--executor-memory2G
--num-executors1
--name spark_on_polardb
/spark_on_redis/spark-examples-0.0.1-SNAPSHOT.jar
r-xxx.redis.rds.aliyuncs.com6379xxx1 redis01
作业内容参数说明:
参数 说明
r-xxx.redis.rds.aliyuncs.com 6379 分别是Redis数据库“连接信息”的“内网连接地址(host)”和“端口号(port)”。
xxx1 Redis数据库登录密码。
redis01 Redis数据库的表名。
作业内容如下图:
步骤 3:通过“作业管理”运行作业并查看结果
作业编辑完成后点击“运行”,选择Spark集群。运行状态会在下侧显示,如图:
运行成功后点击“YarnUI”,翻到最后看到如下结果表明Spark读取Redis成功。如下:
+-----+---+---------------+------+
|name|age|address|salary|
+-----+---+---------------+------+
|Peter|35|110WallStreet|200.3|
|John|30|60WallStreet|150.5|
+-----+---+---------------+------+
+-----+------+---+---------------+--------------------+
|name|salary|age|address|_id|
+-----+------+---+---------------+--------------------+
|Peter|200.3|35|110WallStreet|38db1359615848fb8...|
|John|150.5|30|60WallStreet|aa00b18e061546de9...|
+-----+------+---+---------------+--------------------+
+-----+---+---------------+------+
|name|age|address|salary|
+-----+---+---------------+------+
|Peter|35|110WallStreet|200.3|
|John|30|60WallStreet|150.5|
+-----+---+---------------+------+
小结
更多推荐
所有评论(0)