我试图在hadoop机器上创建一个别名,并从hivejvm运行它。当我从配置单元显式运行命令时!前缀它工作,但是当我添加别名,源代码.bashrc文件并从配置单元调用别名时,我得到一个错误。例子:
.bashrc内容:
# Environment variables required by hadoop
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
export HADOOP_HOME_WARN_SUPPRESS=true
export HADOOP_HOME=/home/hadoop
export PATH=$PATH:/home/hadoop/bin
alias load-table='java -cp /home/hadoop/userlib/MyJar.jar com.MyClass.TableLoader';
呼叫Hive:
!load-table;
输出:
Exception raised from Shell command Cannot run program "load-table": error=2, No such file or directory
1条答案
按热度按时间uidvcgyl1#
与shell函数相比,别名有几个限制(例如,默认情况下,不能从非交互式shell调用别名)。
在您的
~/.bashrc
:你的消息来源
.bashrc
应用更改。然后,打电话load-table
.