1
我想在Hadoop機器上創建一個別名並從Hive JVM運行它。 當我明確地從Hive運行命令!它的工作前綴,但是當我添加別名,源.bashrc文件並從Hive調用別名,我得到一個錯誤。例如:從Apache Hive運行bash別名
的.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';
呼籲蜂巢:
!load-table;
輸出:
Exception raised from Shell command Cannot run program "load-table": error=2, No such file or directory
使用函數而不是aliasess –
可以減少麻煩,您需要在不同文件中添加別名(我認爲它是.bash_aliases)而不是在bashrc中。 –
@AvinashRaj這是不正確的。將它們放在'.bash_aliases'中可能更常見,但是'.bashrc'文件中的任何內容都會被執行,這包括別名 – arco444