zhangbo 1 year ago
parent
commit
22e17a945c

+ 2 - 0
pom.xml

@@ -136,6 +136,8 @@
             <artifactId>jedis</artifactId>
             <version>3.3.0</version>
         </dependency>
+
+
         <dependency>
             <groupId>org.projectlombok</groupId>
             <artifactId>lombok</artifactId>

+ 1 - 3
src/main/java/examples/dataloader/RequestContextOffline.java

@@ -1,15 +1,13 @@
 package examples.dataloader;
 
-import com.tzld.piaoquan.recommend.feature.domain.video.base.RequestContext;
 import com.aliyun.odps.data.Record;
 
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Map;
-import java.util.Objects;
 import java.util.stream.Collectors;
 
-public class RequestContextOffline extends RequestContext {
+public class RequestContextOffline {
     public Map<String, Object> featureMap = new HashMap<>();
 
     public void putUserFeature(Record record){

+ 45 - 0
src/main/java/examples/dataloader/redisBuilderMyself.java

@@ -0,0 +1,45 @@
+package examples.dataloader;
+
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.connection.RedisStandaloneConfiguration;
+import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
+import redis.clients.jedis.JedisPoolConfig;
+import org.springframework.data.redis.connection.jedis.JedisClientConfiguration;
+import org.springframework.data.redis.core.RedisTemplate;
+
+
+public class redisBuilderMyself {
+
+
+    public static JedisConnectionFactory redisConnectionFactory() {
+
+        RedisStandaloneConfiguration config = new RedisStandaloneConfiguration(
+                "r-bp1pi8wyv6lzvgjy5z.redis.rds.aliyuncs.com", 6379);
+        config.setPassword("Wqsd@2019");
+
+        JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
+        // 最大连接数, 根据业务需要设置,不能超过实例规格规定的最大连接数。
+        jedisPoolConfig.setMaxTotal(30);
+        // 最大空闲连接数, 根据业务需要设置,不能超过实例规格规定的最大连接数。
+        jedisPoolConfig.setMaxIdle(20);
+        // 关闭 testOn[Borrow|Return],防止产生额外的PING。
+        jedisPoolConfig.setTestOnBorrow(false);
+        jedisPoolConfig.setTestOnReturn(false);
+
+        JedisClientConfiguration jedisClientConfiguration = JedisClientConfiguration.builder().usePooling().poolConfig(
+                jedisPoolConfig).build();
+
+        return new JedisConnectionFactory(config, jedisClientConfiguration);
+    }
+
+
+
+
+    public static RedisTemplate<String, String> redisTemplate(RedisConnectionFactory connectionFactory) {
+        RedisTemplate<String, String> template = new RedisTemplate<>();
+        template.setConnectionFactory(connectionFactory);
+        return template;
+    }
+}
+
+

+ 2 - 2
src/main/scala/com/aliyun/odps/spark/examples/makedata/makedata_02_writeredis.scala

@@ -111,8 +111,8 @@ object makedata_02_writeredis {
             }
         }
         if (ifWriteRedis){
-          val redisTemplate = env.getRedisTemplate()
-          redisTemplate.opsForValue.multiSet(redisFormat)
+          val redisTemplate = env.getRedisTemplatev2()
+          redisTemplate.opsForValue().multiSet(redisFormat)
           redisFormat.keySet.foreach(key => redisTemplate.expire(key, 24 * expireDay, TimeUnit.HOURS))
         }
         redisFormat.iterator

+ 5 - 0
src/main/scala/com/aliyun/odps/spark/examples/myUtils/env.scala

@@ -6,6 +6,7 @@ import org.springframework.data.redis.connection.RedisStandaloneConfiguration
 import org.springframework.data.redis.connection.jedis.JedisConnectionFactory
 import org.springframework.data.redis.core.RedisTemplate
 import org.springframework.data.redis.serializer.StringRedisSerializer
+import examples.dataloader.redisBuilderMyself
 
 object env {
   def getODPS(sparkContext: SparkContext): OdpsOps = {
@@ -31,4 +32,8 @@ object env {
     redisTemplate.afterPropertiesSet()
     redisTemplate
   }
+
+  def getRedisTemplatev2(): RedisTemplate[String, String] = {
+    redisBuilderMyself.redisTemplate(redisBuilderMyself.redisConnectionFactory())
+  }
 }