一、maven环境下添加操作redis的jar包及源码包
1、下载jar包 redis的jar包下载地址(需要翻墙)
2、手动把jar包添加到maven库中,参考方法如下:
maven手动把本地jar安装到本地仓库(windows\ mac)
是自己编写的一个jar文件,每次添加单个jar到maven本地仓库的操作如下:
1)建立一个新的文件夹,将jar文件存放在该文件夹下。注意文件夹路径为英文名且最好只存放该文件。
2)在该文件夹下建立一个pom.xml文件,在pom文件中定义其maven坐标。
3)在windows cmd窗口中执行以下命令:
mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>
例如:
mvn install:install-file -Dfile=D:/jar/xxx.jar -DgroupId=xxx.xxx -DartifactId=xxx -Dversion=x.x -Dpackaging=jar
4)举个mac os环境下的例子,后面的参数具体根据情况需要进行添加
示例:mvn install:install-file -Dfile=/Users/softwareAndRoad/softwaredata/data/myself/jar/spark-redis-2.3.0.jar -DgroupId=RedisLabs -DartifactId=spark-redis -Dversion=2.3.0 -Dpackaging=jar
5)idea中添加spark-redis源码
下载redis的源码包zip包,按如下步骤进行添加
步骤一:在idea的项目中选中左上角的File--->Project Structure
步骤二、选择spark-redis-2.3.0-source.zip源码包
步骤三:点击ok
3、maven库中添加依赖
<dependency>
<groupId>RedisLabs</groupId>
<artifactId>spark-redis</artifactId>
<version>2.3.0</version>
</dependency>
二、spark读取redis操作示例
4、操作redis
1)读取
import com.redislabs.provider.redis._
import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.rdd.RDD
object RedisRead {
def main(args: Array[String]): Unit = {
var conf: SparkConf = new SparkConf().setAppName("RedisRead")
conf.set("redis.host","redis地址")
conf.set("redis.port","redis端口号")//端口好,默认为6379
conf.set("redis.auth","redis密码") //用户权限配置
val sc = new SparkContext(conf)
val redisKeys: RDD[(String, String)] = sc.fromRedisKV("TEST_K_V")//TEST_K_V为redis中已存在的String类型的key
println("总个数:"+redisKeys.count())
redisKeys.foreach(map=>{
println(map.toString())
})
sc.stop()
}
}
三、打成jar包
5、打包需要的jar包
commons-pool2-2.4.2.jar/
jedis-2.9.0.jar/
spark-core_2.11-2.3.1.jar/
spark-redis-2.3.0.jar/
项目名称的jar包
四、提交到集群并查看结果
6、提交到集群
spark-submit --master yarn --driver-memory 2g --executor-memory 4g --executor-cores 4 --num-executors 3 --conf spark.sqluffle.partitions=40 --class com.test.opRedis.RedisRead Redis.jar
7、查看结果