python - 由于 pyspark 惰性评估导致的错误
问题描述
from pyspark import SparkContext, SparkConf
conf = SparkConf().setAppName("Ark API Stats")
sc = SparkContext(conf=conf)
a = sc.parallelize([1,2,3,4,5,6,7,8,9,10])
count = [2,4]
array = [a.filter(lambda x: x < y) for y in count]
results = sc.union(array).collect()
print(results)
上面的代码会返回[1,2,3,1,2,3]
,而我想要的是[1,1,2,3]
。看来a.filter(lambda x: x < y)
,y 将始终4
作为 中的最后一个数字count
。有什么解决办法吗?
解决方案
推荐阅读
- laravel - Laravel 模型请求唯一的两列
- c# - 字符串和动态对象之间的歧义
- macos - 最新更新后无法在 Mac High Sierra 10.13.5 上启动 apache(2018 年 6 月 15 日)
- php - 有没有办法修改 .htaccess 文件中的 http 标头?
- c - 为什么我在函数结束时出错?
- javascript - 从 Javascript 调用 REST 端点
- python - Pandas Dataframe SettingWithCopyWarning 复制方法
- python - Urllib2 没有安装?
- android - PDF 首次在 Android 上加载时显示为空
- excel - 使用 OleDbDataAdapter 读取 Excel 文件时出错