Apache spark 如何从PySpark中的筛选范围对象中获取值

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

我将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=范围(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, ...]
能否添加一个可复制的小示例以快速获得帮助