hive 脚本

hive

bin=`dirname "$0"`
bin=`cd "$bin"; pwd`
//$0 命令行的第一个参数,代表命令本身(当前Shell程序的文件名)
//dirname $0,获取当前Shell程序的路径(返回命令的路径)
//

. "$bin"/hive-config.sh //运行hive-config.sh


if [ "$SERVICE" = "" ] ; then
if [ "$HELP" = "_help" ] ; then
SERVICE="help"
else
SERVICE="cli" //默认是cli
fi
fi


hive-config.sh :

this="$0"
while [ -h "$this" ]; do
ls=`ls -ld "$this"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '.*/.*' > /dev/null; then
this="$link"
else
this=`dirname "$this"`/"$link"
fi
done

# convert relative path to absolute path
bin=`dirname "$this"`
script=`basename "$this"`
bin=`cd "$bin"; pwd`
this="$bin/$script"

basename
从文件名中去掉路径信息, 只打印出文件名. 结构 basename $0 可以让脚本知道它自己的名字, 也就是, 它被调用的名字. 可以用来显示用法信息, 比如如果你调用脚本的时候缺少参数, 可以使用如下语句:
echo "Usage: `basename $0` arg1 arg2 ... argn"

dirname
从带路径的文件名中去掉文件名, 只打印出路径信息.

basename 和 dirname 可以操作任意字符串. 参数可以不是一个真正存在的文件, 甚至可以不是一个文件名

# the root of the Hadoop installation
export HIVE_HOME=`dirname "$bin"`

# Allow alternate conf dir location.
HIVE_CONF_DIR="${HIVE_CONF_DIR:-$HIVE_HOME/conf}"
export HADOOP_HEAPSIZE=${HADOOP_HEAPSIZE:-256}
// ${HADOOP_HEAPSIZE:-256} 若HADOOP_HEAPSIZE为空或未设置,则用256代替。
${parameter:-word} 若parameter为空或未设置,则用word代替parameter进行替换,parameter的值不变。 变量替换。


hive的脚本hive-0.6.0/bin/hive会调用运行bin/hive-config.sh、bin/ext/、bin/ext/util下面的脚本,最终会调用hadoop-0.20.2/conf/hadoop-env.sh、hadoop-0.20.2/bin/hadoop-config.sh、hadoop-0.20.2/conf/hadoop。
所以需要在.bashrc或者bin/hive-config.sh里面设置HADOOP_HOME并export。

跟踪进入hadoop的脚本hadoop-0.20.2/bin/hadoop

exec /usr//bin/java
-Dhadoop.log.dir=/home/tianzhao/hive/hadoop-0.20.2/bin/../logs -Dhadoop.log.file=hadoop.log
-Dhadoop.home.dir=/home/tianzhao/hive/hadoop-0.20.2/bin/.. -Dhadoop.id.str= -Dhadoop.root.logger=INFO,console
-Djava.library.path=/home/tianzhao/hive/hadoop-0.20.2/bin/../lib/native/Linux-i386-32 -Dhadoop.policy.file=hadoop-policy.xml
org.apache.hadoop.util.RunJar
/home/tianzhao/hive/hive-0.6.0/lib/hive-cli-0.6.0.jar
org.apache.hadoop.hive.cli.CliDriver
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值