Apache spark 如何从PySpark中的筛选范围对象中获取值
我将Spark 2.3.1与Python3.7.0一起使用,Python3.7.0与Spark发行版一起预打包。我在一个范围对象上应用了一个过滤函数,但是我得到的是一个过滤对象,而不是一个RDD值集合 如何从过滤器对象获取值Apache spark 如何从PySpark中的筛选范围对象中获取值,apache-spark,pyspark,Apache Spark,Pyspark,我将Spark 2.3.1与Python3.7.0一起使用,Python3.7.0与Spark发行版一起预打包。我在一个范围对象上应用了一个过滤函数,但是我得到的是一个过滤对象,而不是一个RDD值集合 如何从过滤器对象获取值 >>> l = range(1,100) >>> f = filter(lambda i: i%2 == 0, l) >>> f <filter object at 0x0000....> >l=范围(11
>>> l = range(1,100)
>>> f = filter(lambda i: i%2 == 0, l)
>>> f
<filter object at 0x0000....>
>l=范围(1100)
>>>f=过滤器(λi:i%2==0,l)
>>>f
您的代码中没有使用Spark
如果您想要列表而不是RDD:
>>> l = range(1,100) # range object
>>> f = filter(lambda i: i%2 == 0, l) # filter object
>>> result = list(f)
>>> type(result)
<type 'list'>
>>> result
[2, 4, 6, ...]
>l=范围(1100)#范围对象
>>>f=过滤器(lambda i:i%2==0,l)#过滤器对象
>>>结果=列表(f)
>>>类型(结果)
>>>结果
[2, 4, 6, ...]
如果需要RDD,请从RDD对象开始:
>>> rdd = sc.parallelize(range(1,100))
>>> rdd2 = rdd.filter(lambda x: x % 2 == 0)
>>> type(rdd2)
<class 'pyspark.rdd.RDD'>
>>> rdd2.collect()
[2, 4, 6, ...]
rdd=sc.parallelize(范围(1100))
>>>rdd2=rdd.filter(λx:x%2==0)
>>>类型(rdd2)
>>>rdd2.collect()
[2, 4, 6, ...]
能否添加一个可复制的小示例以快速获得帮助