在Scala中,我们可以这样写一个RDD到Redis:
datardd.foreachPartition(iter => {
val r = new RedisClient("hosturl", 6379)
iter.foreach(i => {
val (str, it) = i
val map = it.toMap
r.hmset(str, map)
})
})
我尝试在PySpark中这样做:datardd.foreachPartition(storeToRedis)
,其中函数storeToRedis
定义为:
它给我的是:
ImportError: ('No module named redis', function subimport at 0x47879b0, ('redis',))
当然,我已经进口了redis。在
PySpark的SparkContext有一个专门针对这个问题的
addPyFile
方法。 使redis模块成为一个zip文件(like this),然后调用以下方法:相关问题 更多 >
编程相关推荐