栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用Python类处理RDD?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用Python类处理RDD?

与使用 嵌套的RDD或在转换内部执行Spark操作 相比,这里的问题要微妙得多。Spark不允许访问

SparkContext
内部操作或转换。

即使您没有显式访问它,也要在闭包内部对其进行引用,并且必须对其进行序列化和携带。这意味着

transformation
引用的方法也会
self
保留
SparkContext
,因此会出现错误。

一种解决方法是使用静态方法:

class model(object):    @staticmethod    def transformation_function(row):        row = row.split(',')        return row[0]+row[1]    def __init__(self):        self.data = sc.textFile('some.csv')    def run_model(self):        self.data = self.data.map(model.transformation_function)

编辑

如果您希望能够访问实例变量,可以尝试如下操作:

class model(object):    @staticmethod    def transformation_function(a_model):        delim = a_model.delim        def _transformation_function(row): return row.split(delim)        return _transformation_function    def __init__(self):        self.delim = ','        self.data = sc.textFile('some.csv')    def run_model(self):        self.data = self.data.map(model.transformation_function(self))


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/624281.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号