`
bupt04406
  • 浏览: 348361 次
  • 性别: 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
分享到:
评论

相关推荐

    如何在python中写hive脚本

    在Python中编写Hive脚本主要是为了方便地与Hadoop HIVE数据仓库进行交互,这样可以在数据分析和机器学习流程中无缝地集成大数据处理步骤。以下将详细介绍如何在Python环境中执行Hive查询和管理Hive脚本。 1. **直接...

    捕获hive脚本异常: echo $?

    本文将深入探讨如何在执行Hive脚本时捕获并处理异常,以及如何利用shell命令"echo $"来检查脚本的退出状态,以便更好地管理和优化Hive作业。 首先,我们来看标题“捕获hive脚本异常:echo $?”。在Linux或Unix系统...

    Hive脚本任务参数优化配置.doc

    ### Hive脚本任务参数优化配置详解 #### 一、概述 在大数据处理场景中,Apache Hive作为一款广泛使用的数据仓库工具,提供了SQL查询接口来处理存储在Hadoop文件系统中的结构化数据。为了提高Hive查询性能,合理的...

    sql解析,hql解析,hive脚本转mysql,解析hive,sparkSql,ER图自动生成、Excel自动生成.zip

    将Hive脚本转换为MySQL语句通常是为了在关系型数据库中实现类似的功能。这可能涉及对HQL的特定特性进行映射,比如Hive的分桶、分区、UDF(用户定义函数)等,这些在MySQL中可能有不同的实现方式。转换过程需要对两种...

    hive安装依赖以及启动脚本

    hive安装依赖以及启动脚本 文件包含如下: 01_mysql-community-common-5.7.29-1.el7.x86_64.rpm 02_mysql-community-libs-5.7.29-1.el7.x86_64.rpm 03_mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpm 04_...

    CSVTOHIVE:从CSV文件自动生成Hive脚本-开源

    从CSV文件自动生成Hive脚本。 1.脚本将csv文件复制到Hadoop文件系统。 2.生成CREATE语句以创建表。 3.在与csv文件夹相同的文件夹中生成.hive文件,并使用所有合并文件生成run.sh。 因此,只需切换到.hive脚本所在的...

    hive的一些报错及解决方法

    - **现象**:执行Hive脚本时卡住或报错,检查发现10200端口没有相关进程。 - **解决步骤**: - 启动`timelineserver`服务: ```shell yarn-daemon.sh start timelineserver ``` - 再次检查10200端口是否有...

    hive基础知识总结

    - **Jar**: 类似于Hadoop Jar,Hive也支持通过Jar命令执行Hive脚本或程序。 - **Metadata**: 默认情况下,元数据服务与Hive运行在同一进程中。但也可以通过特定配置让元数据服务以单独的进程运行,提高系统的稳定性...

    TPCDS测试-99条Hive基准测试流程

    3. **表创建**:根据TPCDS的规格,编写Hive脚本创建相应的表结构,包括分区表、桶表等。 4. **数据加载**:将生成的数据加载到Hive表中,可以使用`LOAD DATA INPATH`或`INSERT OVERWRITE`命令。 5. **查询编译**:将...

    Hive离线分析项目.zip

    6. **定时任务调度**:学习如何设置Cron或类似的调度工具,实现Hive脚本的自动运行。 7. **性能优化**:探讨如何通过调整Hive的执行参数、使用桶表、优化查询语句等方式提升查询性能。 8. **数据可视化与报告**:...

    hive编程手册,从入门到精通

    每个案例都会详细解释数据处理逻辑,以及如何编写相应的Hive脚本来实现目标。 除了基础和进阶知识,手册还将讨论Hive与其他大数据工具的集成,如Hadoop MapReduce、Spark、HBase等。这将帮助读者理解Hive在大数据...

    大数据技术之Hive-03(源码).pdf

    至于Hive程序的入口,可以通过$HIVE_HOME/bin/hive脚本进入客户端执行HQL语句,或者使用$HIVE_HOME/bin/hive-e命令行方式直接执行HQL语句,还可以通过$HIVE_HOME/bin/hive-f指定执行一个包含HQL语句的文件。...

    大数据【Hive】一键部署脚本

    在Hadoop集群中进行部署Hive时需要部署Mysql、Hive、Tez引擎、配置环境变量等等,在这整理了一份一键部署的脚本,希望可以帮助到大家,也可参考文章【大数据】Hadoop在呼唤Hive(附一键部署Hive脚本)...

    基于Hadoop的数据仓库Hive学习指南.doc

    用户可以通过Hive脚本处理Hadoop集群中的数据,完成数据清洗、格式转换等任务,然后将处理后的数据加载到新的表中,用于后续的分析和报表生成。 在Hadoop生态系统中,Hive扮演着数据仓库的重要角色,为企业的大数据...

    hive-shell批量命令执行脚本的实现方法

    HIVE_HOME='/opt/module/cdh-5.3.6-ha/hive-0.13.1-cdh5.3.6' ####### execute hive ###### sql=$(cat <<!EOF use db_01; drop table dept_nopart; create table IF NOT EXISTS dept_part( deptno int, dname ...

    hive-testbench-hive14.zip大数据TPCDS-99SQL自动测试脚本

    《Hive Testbench与TPCDS:大数据性能测试与99条SQL脚本解析》 在大数据处理领域,Hive作为一个分布式数据仓库系统,被广泛应用于海量数据的存储和分析。而TPCDS(Transaction Processing Performance Council ...

    hadoop hive 半自动安装脚本(初识shell脚本)

    为hive-0.11半自动安装脚本 使用前请先阅读本脚本注释部分 已有hadoop环境可使用本脚本 因为初识shell脚本 望大虾勿喷 如有不吝赐教者 不胜感激

    apache-hive-1.2.1-bin.tar.gz

    8. **libexec**:辅助脚本,如初始化Hive脚本和HQL转换工具。 9. **scripts**:一些额外的脚本,用于创建和管理Hive表。 10. **test**:单元测试和集成测试用例,用于验证Hive的功能和性能。 在部署Hive时,通常...

    hadoop常用脚本

    2. **Hive脚本**: - `hive`:启动Hive命令行界面。 - `show databases`:列出所有可用的数据库。 - `use 数据库名字`:选择要使用的数据库。 - `show tables`:查看当前数据库中的所有表。 - `desc 表名`:...

Global site tag (gtag.js) - Google Analytics