代码之家  ›  专栏  ›  技术社区  ›  GCGM

PySpark-加载本地文件(图像)时路径不存在

  •  0
  • GCGM  · 技术社区  · 4 年前

    我正在迈出第一步 spark 在python中使用 pyspark 在寻找可行的解决方案后,我面临着几个疑虑和失败。到目前为止,我正在做:

    import pyspark
    from pyspark.context import SparkContext
    from pyspark.sql.session import SparkSession
    sc = SparkContext('local')
    spark = SparkSession(sc)
    

    我不完全理解上面的代码。在启动pyspark项目时,它必须始终存在吗?是 SparkContext 设置为 local 因为我在本地用电脑工作,还没有在云端?

    在任何情况下,当我尝试加载本地文件(在本例中为图像)时,我都会收到以下错误:

    path = 'file:///home/guacamole/Training/sprk/myimage.jpg'
    image_df = spark.read.format("image").load(path)
    
    AnalysisException: Path does not exist: file:/home/guacamole/Training/sprk/myimage.jpg;
    

    通过类似的问题,我看到有人指出 file:/// 必须添加以指定它是本地文件。不知道我在这里错过了什么或做错了什么。

    0 回复  |  直到 4 年前
        1
  •  0
  •   bosdos12    4 年前

    你需要用反斜线而不是普通斜线来写路径, 这个 file:/// 不应该在那里,所以只需使用: path = '\\home\\guacamole\\Training\\sprk\\myimage.jpg' . 如果图像位于其他目录中,只需输入完整路径,但使用2次反斜杠。 (在python中,“\”用于中和/删除它们后面的char函数,所以如果你写一个反斜杠,整个路径将是一个随机文本,但如果你使用两个反斜线,第一个不会显示为它只是一个中和器,而第二个反斜杠从它的函数中被中和,它不会删除后面的char)。