我有這段代碼,我正在使用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]',但是當我調用它時什麼都不會打印 –