|
@@ -56,18 +56,22 @@ object makedata_02_writeredis {
|
|
|
if (ifUser){
|
|
|
println("user特征处理")
|
|
|
var userData = odpsOps.readTable(project = project, table = tableUser, partition = partition, transfer = handleUser, numPartition = tablePart)
|
|
|
+ .filter {
|
|
|
+ case (mid, fea, feaSize) =>
|
|
|
+ mid.nonEmpty && fea.nonEmpty && feaSize > 0
|
|
|
+ }
|
|
|
if (userSampleIDs.nonEmpty){
|
|
|
val IDs = userSampleIDs.split(",").filter(_.nonEmpty).map(_.toInt).toList
|
|
|
userData = userData.filter(r => IDs.contains(r._1.hashCode % 10))
|
|
|
}
|
|
|
if (ifDebug){
|
|
|
println("user特征处理-debug开启-只保留5条数据-特征数量大于1")
|
|
|
- val userDataTake = userData.filter(_._3 > 1).take(5)
|
|
|
+ val userDataTake = userData.take(5)
|
|
|
userDataTake.foreach(r=> println(r._1 + "\t" + r._2 + "\t" + r._3))
|
|
|
userData = sc.parallelize(userDataTake)
|
|
|
}
|
|
|
if (savePathUser.nonEmpty && savePathUser.startsWith("/dw/recommend/model/")) {
|
|
|
- var savePathPart = savePathUser + "/user/" + partition
|
|
|
+ var savePathPart = savePathUser + "/" + partition
|
|
|
if (userSampleIDs.nonEmpty) {
|
|
|
savePathPart = savePathPart + "_" + userSampleIDs
|
|
|
}
|
|
@@ -80,7 +84,8 @@ object makedata_02_writeredis {
|
|
|
}
|
|
|
|
|
|
if (ifDeleteRedisUser){
|
|
|
- var savePathPart = savePathUser + "/user/" + partition
|
|
|
+ println("user redis 删除")
|
|
|
+ var savePathPart = savePathUser + "/" + partition
|
|
|
if (userSampleIDs.nonEmpty) {
|
|
|
savePathPart = savePathPart + "_" + userSampleIDs
|
|
|
}
|
|
@@ -108,10 +113,13 @@ object makedata_02_writeredis {
|
|
|
redisFormat.iterator
|
|
|
})
|
|
|
println("delete redis.count=" + userDataTakeRddRun.count())
|
|
|
+ } else {
|
|
|
+ println("不处理user的redis删除")
|
|
|
}
|
|
|
|
|
|
if (ifWriteRedisUser){
|
|
|
- var savePathPart = savePathUser + "/user/" + partition
|
|
|
+ println("user redis 写入")
|
|
|
+ var savePathPart = savePathUser + "/" + partition
|
|
|
if (userSampleIDs.nonEmpty) {
|
|
|
savePathPart = savePathPart + "_" + userSampleIDs
|
|
|
}
|
|
@@ -180,7 +188,7 @@ object makedata_02_writeredis {
|
|
|
redisFormat.iterator
|
|
|
})
|
|
|
if (savePathVideo.nonEmpty && savePathVideo.startsWith("/dw/recommend/model/")){
|
|
|
- val savePathPart = savePathVideo + "/video/" + partition
|
|
|
+ val savePathPart = savePathVideo + "/" + partition
|
|
|
MyHdfsUtils.delete_hdfs_path(savePathPart)
|
|
|
itemDataTakeRddRun.map(r => r._1 + "\t" + r._2).saveAsTextFile(savePathPart, classOf[GzipCodec])
|
|
|
}
|