2017-08-30 71 views
1

我對Python很新穎。我有安裝了PySpark內核(Spark 2.2.0)的Anaconda3 - 4.4.0。'str'對象沒有屬性'flatMap'

我想在我的Windows 7操作系統上使用一個簡單的文本文件來測試一個簡單的腳本,以確保我的Python安裝的某些功能有效。

這裏是我的腳本:

word_counts = ('C:\\Users\\oakins1p\\WeeklyMeeting.txt') \ 
.flatMap(lambda line: line.split()) \ 
.map(lambda word: (word, 1)) \ 
.reduceByKey(lambda a, b: a + b)\ 
.saveAsTextFile('C:\\Users\\oakins1p\\WeeklyMeetingOutput.txt')\` 

我不斷收到一個AttributeError: 'str' object has no attribute 'flatMap',我不知道如何解決這個問題。

+3

你有一個字符串,你正在調用一個方法。你爲什麼認爲一個字符串會有這種方法? –

回答

4

word_counts是一個字符串,其中一個不會簡單地調用flatMap()就可以了。

試試這個閱讀與文本文件的文件()首先,像這樣:

from pyspark import SparkContext 
sc = SparkContext.getOrCreate() 
word_counts = sc.textFile(filepath).flatMap()... 

example啓發。

+1

感謝您的幫助。這沒有用。但是,我結束了 SC = SparkContext.getOrCreate() 更換 SC = SparkContext( 「本地」, 「簡單的應用程序」) 和它的工作! – Rapcetera

+0

好@Rapcetera,我更新了我的答案。現在,您可以*接受*,(請在我答案左側的刻度線上)。 – gsamaras

1

您忘記閱讀文件。嘗試使用SparkContext的textFile()函數。

+1

它的Python,而不是Scala –

相關問題