hivef:hive 执行 sql 文件

摘要:
Hivef:hive执行sql文件#/Bin/bashstoday=`date-d-1days'+%Y-%m-%d'`今天=`date'+%Y-%tm-%d'`tomarrow=`date-d天'+%Y-%m-%d'`#echo“当仅向外部传递两个参数时,第一个参数必须是hivesql文件,第二个参数必须为YYYY-MM-DD格式的日期!”#Echo“当只有一个参数从外部传递时,第一个参数
hivef:hive 执行 sql 文件
#!/bin/bash

yesterday=`date -d -1days '+%Y-%m-%d'`
today=`date '+%Y-%m-%d'`
tomarrow=`date -d 1days '+%Y-%m-%d'`

#echo "从外部只传递两个参数时,第一个参数必须是 hive sql 文件,第二个必须是YYYY-MM-DD格式的日期!"
#echo "从外部只传递一个参数时,第一个参数必须是 hive sql 文件"

if [ $# == 2 ]; then
   sqlfile=$1
   echo "从外部只传递两个参数时,第一个参数必须是 hive sql 文件,第二个必须是YYYY-MM-DD格式的日期!"
   if [ $2 == "1970-01-01" ]; then
      ## 正常调度时,real 作业的日期是当天,但是依赖 real 作业的离线作业的日期是前一天
      if [[ $sqlfile == *"real.sql"* ]]; then
         echo "定时调度运行real 作业时,只需要一个sql文件作为参数,日期默认取当天"
         dt=$today
      else
         echo "正常调度时,real 作业的日期是当天,但是依赖 real 作业的离线作业的日期是前一天"
         dt=$yesterday
      fi
   elif [[ $2 =~ ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ ]] && date -d "$2" >/dev/null
      then echo "Date $2 is valid and matches the format (YYYY-MM-DD)"
      echo "手动运行的时候,第二个参数为日期,需要手动指定,格式: YYYY-MM-DD"
      dt=$2
   else
      echo "Date $2 not matches the format (YYYY-MM-DD)!"
      exit 11
   fi
else
   echo "无法识别的参数!"
   exit 11
fi

echo "===>> 当前sql: $sqlfile, 执行日期: $dt"

hive 
-d yesterday=$yesterday -d date=$dt -d tomarrow=$tomarrow 
-f $sqlfile 
-i hdfs://emr-header-1.cluster-70637:9000/dw/hive_udf/hive_udf_init.hql

if test $? -ne 0
then
exit 11
fi

免责声明:文章转载自《hivef:hive 执行 sql 文件》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Python接口自动化-接口基础(二)树莓派 配置 OMV 搭建 NAS(五) 设置共享权限下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Hive速览

一、概述 Hive由Facebook开源,是一个构建在Hadoop之上的数据仓库工具 将结构化的数据映射成表 支持类SQL查询,Hive中称为HQL 1.读模式 2.Hive架构 3.使用Hive的原因 Hadoop数据分析的问题: MapReduce实现复杂查询逻辑开发难度大,周期长 开发速度无法快速满足业务发展 使用Hive原因 类似SQL语法,使...

Hive metastore源码阅读(一)

不要问我为什么,因为爱,哈哈哈哈。。。进入正题,最近做项目顺带学习了下hive metastore的源码,进行下知识总结。 hive metastore的整体架构如图: 一、组成结构: 如图我们可以看到,hive metastore的组成结构分为 客户端 服务端 ,那么下来我们逐一进行分析: 1、客户端 从代码的角度来看:尼玛太多了。。我们从入口HIV...

Hive扩展功能(六)--HPL/SQL(可使用存储过程)

软件环境: linux系统: CentOS6.7 Hadoop版本: 2.6.5 zookeeper版本: 3.4.8 ##主机配置: ######一共m1, m2, m3这五部机, 每部主机的用户名都为centos ``` 192.168.179.201: m1 192.168.179.202: m2 192.168.179.203: m3 m1:...

hive权限配置

基于CDH5.x的Hive权限配置 1、打开权限控制,默认是没有限制的 set hive.security.authorization.enabled=true; 2、配置默认权限 1 hive.security.authorization.createtable.owner.grants = ALL 2 hive.security.authoriz...

Hive的访问接口 | Allen's World

Hive的访问接口 | Allen's World Hive的访问接口 Hive提供了三种客户端访问接口: 1)Hive CLI(Hive Command Line,Hive命令行),客户端可以直接在命令行模式下进行操作。 2)hwi(Hive Web Interface,Hive Web接口),Hive提供了更直观的Web界面 3)hiveserve...

大数据技术-spark+hive+hbase研究

大数据 spark 研究(0基础入门)一 背景 1 基础 Scala 语言基础:Scala详细总结(精辟版++) spark 介绍    :  spark介绍     二 环境 1 部署spark   <![if !supportLists]>1、<![endif]>环境准备(1)配套软件版本要求: Java 6+  Python...