Uploaded image for project: 'Spark'
  1. Spark
  2. SPARK-34013

Data in redis was obtained using mapPartitions Sparkstreaming, which was not as expected

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 2.4.2
    • None
    • None

    Description

       

      rdd.mapPartitions(par => {
       val jedis: Jedis = AdJedisPoolUtils.getJedis
       jedis.select(4)
       val res: Iterator[(((String, String), (String, String, String, String, String, String, String, String, String)), String)] = par.map(data =>{ 
      println(data._2._1) 
      val tagId: String = jedis.hget("game_tag_union", data._2._1) 
      println(tagId) 
      (data, tagId) 
      })
      jedis.close()
       res
       })
      

       

      The final result was completely different from the one foreachPartition got, but foreachPartition got the correct solution

      eg:

      rdd.foreachPartition(par=>{
      val jedis: Jedis = AdJedisPoolUtils.getJedis
       jedis.select(4)
      par.foreach(data=>{ 
      val tagId: String = jedis.hget("game_tag_union", data._2._1) println(tagId) 
      })
      jedis.close()
      })
      

       

       

      Attachments

        Activity

          People

            Unassigned Unassigned
            xiyang12138 xiyang
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: