一、maven環(huán)境下添加操作redis的jar包及源碼包
1、下載jar包 redis的jar包下載地址(需要翻墻)
2、手動把jar包添加到maven庫中,參考方法如下:
maven手動把本地jar安裝到本地倉庫(windows\ mac)
是自己編寫的一個jar文件,每次添加單個jar到maven本地倉庫的操作如下:
1)建立一個新的文件夾,將jar文件存放在該文件夾下。注意文件夾路徑為英文名且最好只存放該文件。
2)在該文件夾下建立一個pom.xml文件,在pom文件中定義其maven坐標(biāo)。
3)在windows cmd窗口中執(zhí)行以下命令:?
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環(huán)境下的例子,后面的參數(shù)具體根據(jù)情況需要進(jìn)行添加
示例: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包,按如下步驟進(jìn)行添加
步驟一:在idea的項(xiàng)目中選中左上角的File--->Project Structure
步驟二、選擇spark-redis-2.3.0-source.zip源碼包
步驟三:點(diǎn)擊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端口號")//端口好,默認(rèn)為6379
? ? conf.set("redis.auth","redis密碼")? //用戶權(quán)限配置
? ? val sc = new SparkContext(conf)
? ? val redisKeys: RDD[(String, String)] = sc.fromRedisKV("TEST_K_V")//TEST_K_V為redis中已存在的String類型的key
? ? println("總個數(shù):"+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/
項(xiàng)目名稱的jar包
四、提交到集群并查看結(jié)果
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、查看結(jié)果