2017-12-06 1 views
1

私はこの問題を尋ねましたが、spark-2.2.0-bin-hadoop2.7に関する直接的な答えはありませんでした。私はローカルディレクトリからテキストファイルを読み込もうとしていますが、私はいつもTypeErrorを取得します。name引数がありません。これは、のpython3とjupyterノートブック内のコードです:私は、セルを実行するとpyspark throws TypeError:textFile()missing 1必要な位置引数: 'name'

from pyspark import SparkContext as sc 
data = sc.textFile("/home/bigdata/test.txt") 

、私はこのエラーを取得する:

TypeError         Traceback (most recent call last) 
    <ipython-input-7-2a326e5b8f8c> in <module>() 
    1 from pyspark import SparkContext as sc 
    ----> 2 data = sc.textFile("/home/bigdata/test.txt") 
    TypeError: textFile() missing 1 required positional argument: 'name' 

あなたの助けが理解されます。

答えて

2

それが指定されていないname引数、したがってエラーを残しself値のために使用されて"/home/bigdata/test.txt"文字列になり、静的な方法だったようにあなたはtextFile() instance method

def textFile(self, name, minPartitions=None, use_unicode=True): 

を呼んでいます。

SparkContextクラスのインスタンスを作成します。

from pyspark import SparkConf 
from pyspark.context import SparkContext 

sc = SparkContext.getOrCreate(SparkConf().setMaster("local[*]")) 
data = sc.textFile("/home/bigdata/test.txt") 
+0

をあなたがあなたの助けのために@alecxeありがとうございました。あなたが提案したコードを試しましたが、次のエラーが表示されます:ValueError:複数のSparkContextを一度に実行できません。 /home/bigdata/anaconda3/lib/python3.6/site-packages/IPython/utils/py3compat.py:186のによって作成された既存のSparkContext(app = PySparkShell、master = local [*]) – Mohammed

+1

@Mohammedああ、これらの 'local'と' test'はデモンストレーションの目的でのみ存在します。主なポイントは 'SparkContext'クラスを初期化することです。ありがとう。 – alecxe

関連する問題