Eclipse 导出hadoop库类路径的Shell脚本不起作用
我尝试使用pyarrow包开发与hadoop文件系统3.3交互的python客户端。我的操作系统是CentOS 8,ide是eclipse pydev。示例代码很简单Eclipse 导出hadoop库类路径的Shell脚本不起作用,eclipse,shell,pyarrow,Eclipse,Shell,Pyarrow,我尝试使用pyarrow包开发与hadoop文件系统3.3交互的python客户端。我的操作系统是CentOS 8,ide是eclipse pydev。示例代码很简单 from pyarrow import fs hdfs = fs.HadoopFileSystem('localhost', 9000) 但是,为了成功运行python代码,必须执行先决条件命令。命令是 # export CLASSPATH=`$HADOOP_HOME/bin/hdfs classpath --glob` 每
from pyarrow import fs
hdfs = fs.HadoopFileSystem('localhost', 9000)
但是,为了成功运行python代码,必须执行先决条件命令。命令是
# export CLASSPATH=`$HADOOP_HOME/bin/hdfs classpath --glob`
每当我运行EclipseIDE时,我都必须在eclipse之前执行上面的exportclasspath
命令。为了避免这种不便并自动化ide配置,我创建了如下shell脚本文件:
#! /bin/bash
export CLASSPATH=$(/usr/local/hadoop/bin/hdfs classpath --glob)
echo $CLASSPATH
当我执行这个脚本时,shell脚本的输出消息是正确的。但是,当我在下一行执行eclipse时,上面的pyarrow python代码无法成功运行。我对这次失败一无所知。当我在shell本身上执行export CLASSPATH
命令时,eclipse上的python代码工作正常。但是当我执行shell脚本时,eclipsepython代码会抛出错误。任何答复都将不胜感激。致意
==更新部分
我进入[运行配置]菜单并选择[环境]选项卡。我点击[Add]并在[New Environment Variable]对话框中输入以下值
Name : CLASSPATH
Value : $(/usr/local/hadoop/bin/hdfs classpath --glob)
但是我的配置不正确,同样的错误还会再次出现
我附加ide配置的映像。有什么想法吗
如注释中所述,在eclipe的“运行配置”菜单中,您需要为调用的
类路径添加en环境变量条目
该值必须是运行此命令时shell返回的值:
/usr/local/hadoop/bin/hdfs classpath --glob
不要试图放置$(/usr/local/hadoop/bin/hdfs classpath--glob)
,它将被解释为一个字符串,不会工作。如果您是从eclipse运行代码,您应该编辑“运行配置”,并在“环境”选项卡中将类路径设置为相关值。谢谢你的回复。因此,我尝试编辑“运行配置”来设置“环境”选项卡中的类路径。但我的尝试又失败了。请检查我的更新部分,并告诉我我的错误。我不是netbean的专家,但我假设它期望“Value”是一个字符串。在本例中,您向它传递一个生成字符串的命令。要修复它,请运行命令/usr/local/hadoop/bin/hdfs classpath--glob
,并将它返回的值作为classpath的值。我确认它可以工作!谢谢,圣诞快乐;-)