Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark Spark在尝试保存CSV文件时抛出错误_Apache Spark_Hadoop_Apache Spark Sql - Fatal编程技术网

Apache spark Spark在尝试保存CSV文件时抛出错误

Apache spark Spark在尝试保存CSV文件时抛出错误,apache-spark,hadoop,apache-spark-sql,Apache Spark,Hadoop,Apache Spark Sql,社区巫师 我真的很沮丧。Hadoop等人提到Spark时,似乎没有什么是直截了当的 在过去的几个小时里,我试图找到以下问题的解决方案: ERROR Executor: Exception in task 0.0 in stage 13.0 (TID 823) java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.createFileWithMode0(Ljava/lang/String;JJJ

社区巫师

我真的很沮丧。Hadoop等人提到Spark时,似乎没有什么是直截了当的

在过去的几个小时里,我试图找到以下问题的解决方案:

ERROR Executor: Exception in task 0.0 in stage 13.0 (TID 823)
java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.createFileWithMode0(Ljava/lang/String;JJJI)Ljava/io/FileDescriptor;
版本

  • 操作系统:Windows 10
  • Spark版本:2.4.6
  • Scala版本:2.11.12
  • Hadoop版本:2.7.1
  • Java版本:1.8.0_202(64位)
  • 变量

  • SPARK\u主页:C:\SPARK
  • HADOOP\u HOME:C:\HADOOP\HADOOP-2.7.1
  • SCALA\u主页:C:\ProgramFiles(x86)\SCALA
  • JRE_主页:C:\Program Files\Java\jre1.8.0_202
  • JAVA\u主页:C:\Program Files\JAVA\jdk1.8.0\u 202
  • 路径

  • %SPARK\u HOME%\bin
  • %HADOOP\u HOME%\bin
  • %SCALA_HOME%\bin
  • %JRE_主页%\bin
  • %JAVA\u HOME%\bin
  • 引发错误的命令是:

    df.coalesce(1).write.format("csv").save("result")
    
    文件夹(结果)似乎已创建,但为空

    我真的不知道如何解决这个问题


    任何帮助都将受到热烈欢迎。

    您似乎没有在
    HADOOP\u HOME
    目录中安装Windows for。 或者可能是它们的依赖项(例如VisualC++运行时)丢失了。 您可能还需要直接加载共享库,这取决于启动Spark应用程序的方式

    System.load(System.getenv("HADOOP_HOME") + "/lib/hadoop.ddl");
    

    似乎您没有在
    HADOOP\u HOME
    目录中安装for Windows。 或者可能是它们的依赖项(例如VisualC++运行时)丢失了。 您可能还需要直接加载共享库,这取决于启动Spark应用程序的方式

    System.load(System.getenv("HADOOP_HOME") + "/lib/hadoop.ddl");
    

    我相信您的
    HADOOP\u HOME=C:\HADOOP\HADOOP-2.7.1
    指向的是HADOOP二进制文件/库,而您应该需要一个名为
    WINUTILS.EXE
    的工具才能在Windows中工作

    您可以从git下载Hadoop版本的winutils,并将Hadoop_HOME映射到winutils的根目录。

    来源:

    来自Hadoop的汇流: Hadoop需要Windows上的本机库才能正常工作,这包括访问文件系统://filesystem,Hadoop使用一些Windows API实现类似posix的文件访问权限


    我相信您的
    HADOOP\u HOME=C:\HADOOP\HADOOP-2.7.1
    指向HADOOP二进制文件/库,而您应该需要一个名为
    WINUTILS.EXE
    的工具才能在Windows中工作

    您可以从git下载Hadoop版本的winutils,并将Hadoop_HOME映射到winutils的根目录。

    来源:

    来自Hadoop的汇流: Hadoop需要Windows上的本机库才能正常工作,这包括访问文件系统://filesystem,Hadoop使用一些Windows API实现类似posix的文件访问权限


    下面的帖子可能会帮助你,下面的帖子可能会帮助你,我已经在
    C:\Hadoop\Hadoop-2.7.1\bin
    中找到了
    winutils.exe
    。我拿了这个文件夹,用我已有的文件夹替换了它,它成功了。似乎
    winutils.exe
    不是真正的问题,但其他一些东西肯定是。谢谢你的回答!我已经在
    C:\Hadoop\Hadoop-2.7.1\bin
    中安装了
    winutils.exe
    。我拿了这个文件夹,用我已有的文件夹替换了它,它成功了。似乎
    winutils.exe
    不是真正的问题,但其他一些东西肯定是。谢谢你的回答!