【问题标题】:pyspark throws TypeError: textFile() missing 1 required positional argument: 'name'pyspark 抛出 TypeError: textFile() missing 1 required positional argument: 'name'
【发布时间】:2018-05-19 19:33:32
【问题描述】:

我搜索了这个问题,但没有与 spark-2.2.0-bin-hadoop2.7 相关的直接答案。我正在尝试从本地目录中读取文本文件,但我总是得到 TypeError that name 参数丢失。这是使用 Python3 的 jupyter notebook 中的代码:

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'

感谢您的帮助。

【问题讨论】:

    标签: python python-3.x apache-spark pyspark rdd


    【解决方案1】:
    from pyspark import SparkConf
    from pyspark.context import SparkContext
    sc = SparkContext.getOrCreate(SparkConf())
    data = sc.textFile("my_file.txt")
    

    显示一些内容

    ['这是文本文件,sc工作正常']

    【讨论】:

      【解决方案2】:

      您正在拨打textFile() instance method

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

      就像它是一个静态方法,导致 "/home/bigdata/test.txt" 字符串被用于 self 值,而未指定 name 参数,因此出现错误。

      创建SparkContext 类的实例:

      from pyspark import SparkConf
      from pyspark.context import SparkContext
      
      sc = SparkContext.getOrCreate(SparkConf().setMaster("local[*]"))
      data = sc.textFile("/home/bigdata/test.txt")
      

      【讨论】:

      • 感谢@alecxe 的帮助。我尝试了您建议的代码,但出现以下错误:ValueError: Cannot run multiple SparkContexts at once; existing SparkContext(app=PySparkShell, master=local[*]) created by &lt;module&gt; at /home/bigdata/anaconda3/lib/python3.6/site-packages/IPython/utils/py3compat.py:186
      • @Mohammed 啊,这些localtest 仅用于演示目的。重点是初始化SparkContext 类。谢谢。
      猜你喜欢
      • 2016-05-09
      • 2022-01-06
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多