我正在尝试在Oozie中运行一个简单的PySpark程序,但我无法成功运行它。我有一个简单的PySpark程序,它在RDD中的HDFS上加载文件。我将该RDD转换为DATAFRAME,然后将其转换为PANDAS。导入PANDAS时出错。
我在我的Cloudera VM版本5.4.2上安装了anaconda python发行版。我将Anaconda目录(/home/cloudera/anaconda/bin/
)添加到我的系统CLASSPATH
中。以下是echo $PATH
语句的输出:
/home/cloudera/anaconda/bin:/home/cloudera/anaconda/bin:/usr/local/firefox:/sbin:/usr/java/jdk1.7.0_67-cloudera/bin:/usr/local/ Apache的蚂蚁/ Apache的ANT-1.9.2 / bin中:/usr/local/apache-maven/apache-maven-3.0.4/bin:在/ usr / local / bin目录:在/ usr / bin中:/ bin中:在/ usr / local / sbin中:/ usr / sbin目录:/ sbin目录:/家庭/ Cloudera的/ bin中
该程序通过CLI运行正常但是当我尝试通过OOZIE作业运行它时它失败了。
以下是我得到的错误日志:
Stdoutput /usr/lib/spark/python/pyspark/sql/context.py:156:UserWarning:不推荐使用dict的RDD来推断析语,请使用pyspark.sql.Row代替
Stdoutput warnings.warn("使用dict的RDD来推断解决方案已被弃用," Stdoutput Traceback(最近一次调用最后一次):
Stdoutput File" /home/cloudera/Dataframe/apps/shell/lib/test.py" ;,第48行,中
Stdoutput cleand = inputRDD.toPandas()
Stdoutput文件" /usr/lib/spark/python/pyspark/sql/dataframe.py" ;,第717行,在toPandas中 Stdoutput导入大熊猫为pd
Stdoutput ImportError:没有名为pandas的模块 Shell命令的退出代码1
<<< Shell命令的调用已完成<<<<
<<<主类的调用已完成<<<<
失败的Oozie Launcher,Main class [org.apache.oozie.action.hadoop.ShellMain],退出代码[1]
Oozie Launcher失败了,优雅地完成了Hadoop工作 Oozie Launcher,将动作数据上传到HDFS序列文件:hdfs://quickstart.cloudera:8020 / user / cloudera / oozie-oozi / 0000000-150724190306010-oozie-oozi-W / shell-node - shell / action-data。 SEQ
Oozie Launcher结束
任何人都可以帮助我成功运行程序吗?
谢谢。