我有这段代码,我正在使用pyspark
在ipython
中读取一个文件。我试图做的是添加一个片段,它基于从文件中读取的特定列形成列表,但是当我尝试执行它时,列表变为空,并且没有任何内容被附加到它。我的代码是:使用PySpark从地图创建全局列表的问题
list1 = []
def file_read(line):
list1.append(line[10])
# bunch of other code which process other column indexes on `line`
inputData = sc.textFile(fileName).zipWithIndex().filter(lambda (line,rownum): rownum>0).map(lambda (line, rownum): line)
column_val = (inputData
.map(lambda line: line.split(","))
.filter(lambda line: len(line) >1)
.map(file_read))
当我执行的代码,这部分list1
还是对空,即使有,因为我在上面的相同功能的代码的其他部分使用它在line[10]
的数据。看起来好像只是没有将它追加到列表中。我如何形成上面的列表?
你的例子很不完整,只能推测。 list1在其他地方被清除了吗?您是否尝试过在append之前/之后添加打印语句,打印list1以及正在追加的内容? – barny
@barny list1未被其他地方清除。我试图在'file_read()'函数内执行'print line [19]',但是当我调用它时什么都不会打印 –