【发布时间】:2018-01-14 20:59:15
【问题描述】:
尝试执行以下简单的操作时,我感到很愚蠢:我正在使用数据集 /databricks-datasets/cs110x/ml-1m/data-001,其中包含 3 个包含用户、电影及其相关信息的 dat 文件评分。
RDD 就像这个包含 10 个条目的样本:
[u'1::F::1::10::48067',
u'2::M::56::16::70072',
u'3::M::25::15::55117',
u'4::M::45::7::02460',
u'5::M::25::20::55455',
u'6::F::50::9::55117',
u'7::M::35::1::06810',
u'8::M::25::12::11413',
u'9::M::25::17::61614',
u'10::F::35::1::95370']
我正在尝试替换似乎是分隔符 '::' 的内容,另一方面,将 M 替换为 1,将 F 替换为 0,它们是性别。
myRDD.map(lambda x: x.replace('::',',')).map(lambda x: x.replace('M','0')).map(lambda x: x.replace('F','1'))
但它没有做任何事情,我得到相同的 RDD,没有任何更改,也没有错误。是否有某种调试器可以查看引擎盖下发生了什么?这个简单的事情让我发疯了。知道我做错了什么吗?如果我采用 RDD 的 1 个元素,它就可以工作。 谢谢
【问题讨论】: