Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件hive映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。
Hive目前还不支持像Mysql那样的sql脚本,如果遇到需要批量处理HQL就会比较麻烦(这两天就遇到需要批量删除有命名规则的表的情况,想了许多土方法)。
于是就想到了用shell脚本去实现执行批量HQL命令的方法。
其实原理很简单,在shell脚本中用echo命令将HQL命令以字符串的形式‘导入’Hive客户端里面去执行,还可以用重定向将执行结果保存到脚本日志中。
下面来个简单的一例子:
#如果已经配好环境就不需要再export了
export HADOOP_HOME=/opt/hadoop-0.19.2/
export HIVE_HOME=/opt/hive.0.42/
echo "show tables;CREATE TABLE leign(id INT,name STRING) COMMENT 'This is a test table'
PARTITIONED BY(dt STRING, country STRING)
STORED AS SEQUENCEFILE;show tables;exit;" | hive -u root -p *** > hive_create_table.log
以上这个例子简单地创建了一张表,然后将建表前后所有表的情况都打到了log日志里面。
大家可以发挥想象,写出自己需要的hive脚本。
分享到:
相关推荐
2.hive源表:创建hive源表,每个shell脚本对应一个hive源表 #!/bin/bash source /etc/profile CUR_DATE=`date +%Y%m%d` echo "-- CUR_DATE:"$CUR_DATE /opt/cloudera/parcels/CDH/bin/hive (进入hive) USE ...
#### Shell脚本实现Hive与Sqoop命令执行 假设我们需要定期将某个日期时间插入到Hive的一个表中,并将该表中的数据导出到MySQL数据库中。我们可以按照以下步骤来编写Shell脚本来实现这一过程: 1. **定义变量**:...
本文将详细介绍如何在Shell脚本中循环调用Hive SQL语句,以便实现批量处理数据或者执行一系列相关的查询操作。 首先,我们要理解Shell脚本的基本结构和Hive SQL的功能。Shell脚本是一种解释型的编程语言,主要用于...
总结一下,这个脚本展示了如何通过Shell脚本来批量执行Hive命令,包括创建数据库、删除表、创建分区表、上传数据到HDFS以及修复表元数据。这种方法在需要自动化执行大量Hive操作时非常有用,例如在ETL流程或者数据...
为hive-0.11半自动安装脚本 使用前请先阅读本脚本注释部分 已有hadoop环境可使用本脚本 因为初识shell脚本 望大虾勿喷 如有不吝赐教者 不胜感激
通过shell脚本,批量把一个库下面的表结构全部导出,在开发环境执行过。
根据提供的文件信息,我们可以归纳出三个主要的大数据采集与处理技术相关的Shell脚本知识点:自动创建文件、自动采集以及分区。 ### 自动创建文件 此脚本的主要功能是基于两个给定日期(`beg_date` 和 `end_date`...
【标题】"CDH及其组件安装的Shell脚本集合"主要涵盖了在Linux环境中部署和管理Cloudera's Distribution Including Apache Hadoop (CDH) 的一系列自动化脚本。这些脚本旨在简化CDH组件的安装、配置和维护过程,提高...
本文将深入探讨如何在执行Hive脚本时捕获并处理异常,以及如何利用shell命令"echo $"来检查脚本的退出状态,以便更好地管理和优化Hive作业。 首先,我们来看标题“捕获hive脚本异常:echo $?”。在Linux或Unix系统...
Hive 提供了一个称为 Hive Shell 的交互式环境,用于执行 Hive 查询和管理 Hive 对象。本文将详细介绍 Hive Shell 的基本操作。 ### 初始 Hive 首先,你需要安装和配置 Hive。Hive 的安装通常包括将 Hive 的二进制...
为了解决这个问题,我们可以创建自定义的Shell脚本以及使用systemd服务来实现一键启停Hive的相关服务。 首先,我们来看一下提供的Shell脚本。这个脚本定义了两个主要的功能:启动和停止Hive的Metastore服务和...
github.rar Hadoop Snapshot
描述中指出,这个压缩包包含的是一个可以在Windows上运行的Hive bin目录,这意味着它包含了所有必要的脚本和可执行文件,使得用户可以在本地Windows环境中执行Hive命令。通常,Hive的bin目录包含`hive`、`hiveserver...
要自己先安装jdk和Hadoop,也可以去这里https://download.csdn.net/download/weixin_44033210/12657718,https://download.csdn.net/download/weixin_44033210/12657738,这里有自动安装jdk和Hadoop的脚本
在这个场景中,我们看到一系列shell脚本被用来自动化处理数据处理流程,主要涉及Hadoop、Hive、MySQL和NLP(自然语言处理)的任务。以下是这些脚本的主要职责和涉及的技术点: 1. `/opt/running/edi/edi_new_in_...
将“數倉數據提供與報表流程開發\码表导入\TY”中csv内容导入hive的码表当中。 目标csv:sfc_b_phase.csv 2、将csv文件放到hive对应的服务器上 hadoop服务器:10.176.153.32 1、将sfc_b_phase.csv放在32的root目录下...
为了解决这个问题,我们可以利用脚本批量执行Spark-shell中的命令。本文将详细介绍如何通过编写bash脚本来实现这一功能。 首先,让我们了解脚本的基本结构。在Linux环境下,我们通常使用bash shell来编写这样的脚本...
在执行Hive脚本时,可能会遇到脚本执行卡住或报错的情况。这类问题通常与Hadoop服务的状态有关。 1. **Timelineserver服务未启动**: - **现象**:执行Hive脚本时卡住或报错,检查发现10200端口没有相关进程。 - ...
- **shell 脚本**:shell 脚本应存放在 `/home/[hadev]/app/[gn,bi,sg,…]/sh`,加工脚本(如 Hive Shell 脚本)则存放在 `/home/[hadev]/app/[gn,bi,sg,…]/sh/sql`,日志文件则存放在相应目录下。 这些规范旨在...