我有一个包含以下内容的“ input.txt”文件:
Script error
由于我是初学者,因此我正在尝试使用RDD操作对上述文件执行以下操作。 (我能够通过将RDD元素复制到列表中来执行此操作):
我想显示上面给出的列表和列表的第一个元素。
我想通过RDD显示排序后的输出(升序和降序),并使用RDD显示列表的不同元素。
显示给定列表的最大值和最小值。
在列表上方添加新输入,格式为:[10,21,90,34,40,98,21,44,59,21,90,34,29,19, 21,90,34,29,49,78 ]
,并显示输出。
使用带有不同值的reduce提供列表元素的总和。
使用reduce提供列表元素的总和。
我可以使用Pyspark动作和变换来完成上述所有任务吗?还是我有野心?道歉这么多问题。我只呆了一个星期。
我不想用代码对列表进行硬编码。 我想读取文件(input.txt)。 我尝试使用
{30,35,45,60,75,85}
但是使用这种方法,我无法将rdd转换为Int列表,而不将其转换为普通的Python列表(d3 = d2.strip(“ {}”)。split(','))。
我无法使用max(d2)或d2.max()获得tha max,因为它说max是未分配的。
我希望我现在能把自己弄清楚!
答案 0 :(得分:2)
首先,将数据放入RDD:
process(imgComplex)
显示上面给定的列表和列表的第一个元素。
main.cpp:140:74: error: invalid initialization of non-const reference of type ‘cv::Mat_<float>&’ from an rvalue of type ‘cv::Mat_<float>’
我还想通过RDD显示排序后的输出(升序和降序),并使用RDD显示列表的不同元素。
rdd = sc.parallelize([10,21,90,34,40,98,21,44,59,21,90,34,29,19, 21,90,34,29,49,78])
显示给定列表的最大值和最小值。
rdd.collect()
rdd.take(1)
在列表上方添加新输入,格式为:{30,35,45,60,75,85}并显示输出。
rdd.distinct().sortBy(lambda x:x).collect()
rdd.distinct().sortBy(lambda x:-x).collect()
使用带有不同值的reduce提供列表元素的总和。
rdd.max()
rdd.min()
使用reduce提供列表元素的总和。
newrdd = sc.parallelize({30,35,45,60,75,85})
rdd.union(newrdd).collect()
P.S。
实际上,如果您按rdd降序对元素进行排序,则max元素是该rdd的第一个元素。因此,您可以使用rdd.distinct().reduce(lambda x,y:x+y)
无获得此rdd的最大值,因此,这是代码:
rdd.reduce(lambda x,y:x+y)