`
bupt04406
  • 浏览: 344474 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

hive 脚本

    博客分类:
  • 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
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics