| 
					
				 | 
			
			
				@@ -31,6 +31,7 @@ object makedata_02_writeredis { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     val date = param.getOrDefault("date", "20231220") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     val expireDay = param.getOrDefault("expireDay", "2").toInt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     val ifDebug = param.getOrDefault("ifDebug", "False").toBoolean 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    val ifDeleteRedisUser = param.getOrDefault("ifDeleteRedisUser", "False").toBoolean 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     val ifWriteRedisUser = param.getOrDefault("ifWriteRedisUser", "False").toBoolean 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     val ifWriteRedis = param.getOrDefault("ifWriteRedis", "True").toBoolean 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     val partition = partitionPrefix + date 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -77,6 +78,38 @@ object makedata_02_writeredis { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       println("不处理user") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (ifDeleteRedisUser){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      var savePathPart = savePathUser + "/user/" + partition 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (userSampleIDs.nonEmpty) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        savePathPart = savePathPart + "_" + userSampleIDs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      val userDataRead = sc.textFile(savePathPart).map(r => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        val rList = r.split("\t") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        (rList(0), rList(1)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      val userDataTakeRddRun = userDataRead.mapPartitions(row => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        val redisFormat = new util.HashMap[String, String] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        val redisTemplate = env.getRedisTemplate() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var i = 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        row.foreach { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case (key, value) => 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (key.nonEmpty) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              redisFormat.put(userRedisKeyPrefix + key, value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (i % 1000 == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              redisTemplate.delete(redisFormat.map(_._1)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              redisFormat.clear() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            i = i + 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        redisTemplate.delete(redisFormat.map(_._1)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        redisFormat.clear() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        redisFormat.iterator 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      println("delete redis.count=" + userDataTakeRddRun.count()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (ifWriteRedisUser){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       var savePathPart = savePathUser + "/user/" + partition 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (userSampleIDs.nonEmpty) { 
			 |