Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.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
Java org.apache.hadoop.mapred.lip.input.invalidInputException_Java_Powershell_Azure_Powershell 3.0_Azure Hdinsight - Fatal编程技术网

Java org.apache.hadoop.mapred.lip.input.invalidInputException

Java org.apache.hadoop.mapred.lip.input.invalidInputException,java,powershell,azure,powershell-3.0,azure-hdinsight,Java,Powershell,Azure,Powershell 3.0,Azure Hdinsight,我在powershell中运行这段代码,方法是按照本文中针对pwershell的步骤和命令进行操作。 我只是把名字从WordCount改成Matrix。 所有步骤都可以正常工作,但我在运行Azure PowerShell脚本后出现以下错误: 线程main org.apache.hadoop.mapred.lip.input.invalidInputException中的异常:输入路径不存在根据我的理解,我认为您希望在Azure HDInsight中计算矩阵乘法。您可以在HDInsight Em

我在powershell中运行这段代码,方法是按照本文中针对pwershell的步骤和命令进行操作。 我只是把名字从WordCount改成Matrix。 所有步骤都可以正常工作,但我在运行Azure PowerShell脚本后出现以下错误:


线程main org.apache.hadoop.mapred.lip.input.invalidInputException中的异常:输入路径不存在
根据我的理解,我认为您希望在Azure HDInsight中计算矩阵乘法。您可以在HDInsight Emulator中成功运行代码,但在Azure上的HDInsigit中失败

Azure HDInsight的HDFS上的文件路径是直接使用基于blob容器的相对路径作为根路径,而不使用主机信息(如果您远程进入集群),例如
wasb:///examples/data/...

因此,您可以尝试远程访问HDInsight集群,并在针对Linux的远程ssh或针对Windows的cmd中运行代码,然后执行以下步骤

  • 将mapreduce jar文件和数据文件复制到HDInsight集群中。例如,对于Linux上的Hadoop,您可以命令
    scp@-ssh.azurehdinsight.net:/home/
  • 在HDInsight文件系统中创建一个目录,命令
    hadoop fs-mkdirwasb:////
  • 将mapreduce jar文件复制到hadoop fs-cp中wasb:////jars/与HDInsight上的默认示例类似
  • 或者您可以参考将文件上载到HDInsight,而不是上述三个步骤

  • 将数据文件复制到hadoop fs-cp中wasb:////data/input/与HDInsight上的默认示例类似
  • 命令
    hadoopjarwasb:////jars/.jar  wasb:////data/input/ wasbL///data/output
    运行代码
  • 等待作业完成,然后命令hadoop fs-catwasb:////data/output/*以显示结果
  • 如果HDInsight集群是在Linux上创建的,您可以在Azure new portal上参考并找到ssh登录信息,请参见下图

    如果HDInsight群集是在Windows上创建的,您可以参考并查找远程桌面信息,如上图所示,即
    远程桌面
    而不是
    安全外壳

    如果您想查看代码的结果,也可以在Azure new portal上找到,请参见下面的图片


    请将代码放在问题正文中-不要强迫读者单击以了解问题的内容。能否提供args[0]和args[1]的值。这可能是一个路径问题。我没有为它们提供值,我只是指定一个文本文件作为输入(包含a和B矩阵的值)。您可以添加您指定的值吗?我需要知道要调试的输入和输出路径……我正在寻找用于运行jar文件的命令。例如:hadoop jar C:\Tutorials\WordCountJava\WordCountJava\target\WordCountJava-1.0-SNAPSHOT.jar org.apache.hadoop.examples.WordCount/WordCount/Input/WordCount/Outputt谢谢你的回答,但是我对将数据文件上传到存储的目录的第4步有疑问,对吗?是否还需要数据/输入来创建此目录?@juliana您可以按照步骤4到6在HDInsight群集的远程环境中执行这些操作。您必须创建用于上传的目录,如
    数据/输入
    ,但目录
    数据/输出
    将由Hadoop创建以存储结果。