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

如下所示:

#!/usr/bin/bash
HADOOP_HOME="/opt/module/cdh-5.3.6-ha/hadoop-2.5.0-cdh5.3.6"
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 string,
loc string
)
partitioned by (day string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';

!EOF)
############ execute begin  ###########
echo $sql
cd $HIVE_HOME
bin/hive -e "$sql"

cd $HADOOP_HOME
bin/hdfs dfs -mkdir -p /hive/warehouse/db_01.db/dept_part/day=20150913 ;
bin/hdfs dfs -put /opt/data/dept.txt /hive/warehouse/db_01.db/dept_part/day=20150913 ;

cd $HIVE_HOME
bin/hive -e "use db_01;msck repair table dept_part;"

exitCode=$?
if [ $exitCode -ne 0 ];then
     echo "[ERROR] hive execute failed!"
     exit $exitCode
fi

以上这篇hive-shell批量命令执行脚本的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • python处理数据,存进hive表的方法

    首先,公司的小组长给了我一个任务,把一个txt的文件中的部分内容,存进一个在hive中已有的表的相同结构的表中.所以我的流程主要有三个,首先,把数据处理成和hive中表相同结构的数据,然后仿照已有的hive中表的结构再创建一张新的数据表,最后把本地的txt文件上传到hive中新建的数据表中. 1:已有的数据表的结构和在hive表中的结构完全对不上,下面的图是原来hive中表的结构和小组长给我的txt中表的结构: 大家可以看出,我们原来的hive中表的字段一共有17个,而组长给我的表中的字段一共有

  • shell中循环调用hive sql 脚本的方法

    脚本tt.sh的内容如下: #!/bin/bash params=$1 for param in $params do echo $param done 运行方式为:sh tt.sh "1 2 3 4 5" 输出为: 1 2 3 4 5 所以参考上面的命令,可以把hql的脚本写为如下方式,就可以循环执行sql: 功能:查找字符串 comments 中的param第一次出现的位置 ,返回的是位置数字 #!/bin/bash params=$1 for param in $params d

  • mysql 5.7.18 Archive压缩版安装教程

    本文为大家分享了mysql 5.7.18 Archive压缩版安装的具体方法,供大家参考,具体内容如下 文章参考: 5.7.17 winx64安装配置图文教程 mysql 5.7 zip archive版本安装教程 官网 进入 进入 往下滑: 解压: 设置环境变量:好像没用到这个环境变量(可以尝试不设置) 1) 2) 新建my.ini 初始化 注意:初始化只能一次,第二次执行mysqld –initialize会报错 初始化后找到mysql的密码: 输入密码是,黏贴:f6yL!frt>!wn 修

  • sql server编写archive通用模板脚本实现自动分批删除数据

    博主做过比较多项目的archive脚本编写,对于这种删除数据的脚本开发,肯定是一开始的话用最简单的一个delete语句,然后由于部分表数据量比较大啊,索引比较多啊,会发现删除数据很慢而且影响系统的正常使用.然后就对delete语句进行按均匀数据量分批delete的改写,这样的话,原来的删除一个表用一个语句,就可能变成几十行,如果archive的表有十几个甚至几十个,那我们的脚本篇幅就非常大了,增加了开发和维护的成本,不利于经验比较少的新入职同事去开发archive脚本,也容易把注意力分散到所谓分

  • mysql 5.7 zip archive版本安装教程

    本文为大家分享了mysql 5.7 zip archive版本安装教程,供大家参考,具体内容如下 1.  从官网下载zip archive版本:官网地址 2. 解压缩至相应目录,并配置环境变量(将*\bin添加进path中): 3. (重要)在根目录新建my.ini文件,写入以下内容: [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] # 设置3306端口 port = 3306 # 设置mysql的安装目录 basedi

  • 使用shell脚本执行hive、sqoop命令的方法

    1.test.sh脚本内容如下: #!/bin/bash #CURR_DATE=`date +"%Y-%m-%d %H:%M:%S"`------>不能使用 v_sql="insert into origin_ennenergy_energytrade.test2 values('"$(date +"%Y-%m-%d %H:%M:%S")"','"Y"')" echo $v_sql #insert i

  • 如何在python中写hive脚本

    这篇文章主要介绍了如何在python中写hive脚本,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.直接执行.sql脚本 import numpy as np import pandas as pd import lightgbm as lgb from pandas import DataFrame from sklearn.model_selection import train_test_split from io import St

  • python导出hive数据表的schema实例代码

    本文研究的主要问题是python语言导出hive数据表的schema,分享了实现代码,具体如下. 为了避免运营提出无穷无尽的查询需求,我们决定将有查询价值的数据从mysql导入hive中,让他们使用HUE这个开源工具进行查询.想必他们对表结构不甚了解,还需要为之提供一个表结构说明,于是编写了一个脚本,从hive数据库中将每张表的字段即类型查询出来,代码如下: #coding=utf-8 import pyhs2 from xlwt import * hiveconn = pyhs2.connec

  • php ZipArchive实现多文件打包下载实例

    实例代码: public function downLoad($dataUrl,$saveName) { $datalist = [ ROOT_PATH.'/public/introduce/110.docx', ROOT_PATH.'/public/upfile/110.zip' ]; // print_r($datalist);die; $filename = ROOT_PATH.'\public\/'.$saveName.'.zip'; if(file_exists($filename))

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

    如下所示: #!/usr/bin/bash HADOOP_HOME="/opt/module/cdh-5.3.6-ha/hadoop-2.5.0-cdh5.3.6" 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 NO

  • Spark-shell批量命令执行脚本的方法

    批量执行spark-shell命令,并指定提交参数 #!/bin/bash source /etc/profile exec $SPARK_HOME/bin/spark-shell --queue tv --name spark-sql-test --executor-cores 8 --executor-memory 8g --num-executors 8 --conf spark.cleaner.ttl=240000 <<!EOF import org.apache.spark.sql.

  • hbase-shell批量命令执行脚本的方法

    批量执行hbase shell 命令 #!/bin/bash source /etc/profile exec $HBASE_HOME/bin/hbase shell <<EOF truncate 'tracker_total_apk_fact_zyt' major_compact('t_abc') disable 't_abc' drop 't_abc' create 't_abc', 'info' EOF 以上这篇hbase-shell批量命令执行脚本的方法就是小编分享给大家的全部内容了,

  • .net 程序通过 crontab 无法启动手动执行脚本启动的方法

    目录 一.问题描述 二.将 .net 程序写成服务 三.通过 crontab 执行脚本无法启动原因 一.问题描述 .net 网关程序需要设置定时重启,按照日常操作先把正在运行的 PID kill 掉后,再执行启动服务. 把脚本放到 crontab 计划任务上,可以把服务 PID kill 掉,但无法启动服务,直接手动运行脚本是可以成功启动的. .net 服务重启脚本test1.sh 如下: [root@localhost ~]# cat test1.sh #!/bin/bash ID=`ps -

  • Yii使用migrate命令执行sql语句的方法

    本文实例讲述了Yii使用migrate命令执行sql语句的方法.分享给大家供大家参考,具体如下: Yii2自带一个强大的命令行管理工具,在windows下打卡cmd命令窗口,切换到Yii项目所在目录(包含Yii.bat),就可以在cmd中运行Yii命令了. 使用Yii migrate命令执行sql语句: 如在路径为/console/migrations/m130524_201442_init.php这个文件定义了一张User表的sql,我们要执行这个sql来生成数据表,就运行: yii migr

  • CentOS使用expect批量远程执行脚本和命令

    我们有时可能会批量去操作服务器,比如批量在服务器上上传某个文件,安装软件,执行某个命令和脚本,重启服务,重启服务器等,如果人工去一台台操作的话会特别繁琐,并浪费人力. 这时我们可以使用expect,向目标服务器上发送指令去实现批量操作. 下面的例子将在centos上将一个文件,批量拷贝到其他服务商上,并执行相应的命令 1. 在centos上安装expect yum install expect 2. 编写expect脚本 copyfilebatch.sh 下面的脚本将向内网IP为 192.168

  • PowerShell因为在此系统中禁止执行脚本的解决方法

    在Powershell直接脚本时会出现: 无法加载文件 ******.ps1,因为在此系统中禁止执行脚本.有关详细信息,请参阅 "get-help about_signing". 所在位置 行:1 字符: 17 + E:\Test\test.ps1 <<<< + CategoryInfo : NotSpecified: (:) [], PSSecurityException + FullyQualifiedErrorId : RuntimeException p

  • shell批量curl接口脚本的简单实现方法

    前言 相信大家应该都有所体会,shell脚本可以说作用非常大,在服务器领域,用shell操作事务可比手动点击要方便快捷得多了.虽然只是文字界面,但是其强大的处理功能,会让各种操作超乎想象.而且,也可以将这些习惯移植到日常的工作当中,提升办事效率. 其实shell语法很简单,基本上就是综合一下在命令行下,一个个的命令集合,然后就组成了shell脚本.当然了,不懂语法的,百度搜索一下就好了嘛,毕竟,重要的是思想而非语法. 最近,刚接一需求,如下: DBA会将一些服务规则的数据导出,然后一条条手动去c

  • 利用shell find命令删除过期的缓存方法示例

    前言 最近发现网站的缓存文件过多,达到100G,占据了大量硬盘,但是其实有很多缓存是不需要的,因为文件被访问的次数并不相同.通过查找相关的资料发现最节省硬盘的缓存方式就是只留下2天的缓存,因为一个网站的文件,总被大量访问的就那么几个.下面就来看看详细的解决方法吧. 方法如下 find / -amin -10 # 查找在系统中最后10分钟访问的文件 find / -atime -2 # 查找在系统中最后48小时访问的文件 find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件 f

  • shell之正向解析脚本的实现方法

    正向解析脚本 #!/bin/bash yum install bind -y //安装解析工具包 //修改主配置文件 sed -i '13s/127.0.0.1/192.168.17.156/' /etc/named.conf //把解析主配置文件第13行的IP地址换成192.168.17.156 sed -i '21s/localhost/any/' /etc/named.conf //把主配置文件的21行localhost换成any //添加内容到区域配置文件 sed -i '24azone

随机推荐