我必须为我拥有的一列数据使用for循环。不幸的是,它不起作用
import sys
from pyspark import SparkContext, SparkConf
import re
sys.path.insert(0, '.')
class Utils():
removing_Impurities_For_Data = re.compile(' ')
def splitComma(line: str):
splits = Utils.removing_Impurities_For_Data.split(line)
return "{}".format(c for c in splits[1])
if __name__ == "__main__":
conf = SparkConf().setAppName("Help").setMaster("local[*]")
sc = SparkContext(conf = conf)
RDD = sc.textFile("Data.txt")
RDD = RDD.map(splitComma)
RDD.coalesce(1).saveAsTextFile('Wanted_Column')
Data.txt =
ABC www.abc.com one
CDA www.cda.com two
CCC www.ccc.com three
实际上,如果不使用此方法,我可以得到第一列。但是,我需要将第一个列的项目与另一个函数进行比较。
正如我用于splits [1]中的循环一样,预期结果必须是:
www.abc.com
www.cda.com
www.ccc.com
数据如下:
<generator object splitComma.<locals>.<genexpr> at 0x000001E831C7CD68>