非Hive Metastore Server节点执行load命令时出现“cannot recognize input near '<EOF>' '<EOF>' '<EOF>' in switch database statement”

摘要:
liunx的特殊字符转义规则对传递的所有参数使用“”引号。参数包含需要转义的“和”。此外,还有^、]、[等

我的脚本如下

dbname=bigdata
month=$(date -d 0"month ago"${date} +%Y%m)
#删除分区及数据
ssh root@bda1node06 "hive -e 'use "${dbname}";ALTER TABLE tablename DROP IF EXISTS PARTITION (pt="${month}")'"
#创建分区
ssh root@bda1node06 "hive -e 'use "${dbname}";ALTER TABLE tablename ADD PARTITION (pt="${month}")'"
#把HDFS上的数导入到HIve表中
ssh root@bda1node06 "hive -e "use ${dbname};load data inpath '/data/roaddist/*' overwrite into table tablename partition(pt=${month})""

原因分析:使用双引号进行包括,则"hive -e"会认为后面的内容作为一个单独的参数传给hive 否则会解析成为多个参数造成错误。

liunx的特殊字符转义规则

传递参数全部使用""引号,参数内有"和`,需要用转义.除此之外还有^、] 、[ 等 

免责声明:文章转载自《非Hive Metastore Server节点执行load命令时出现“cannot recognize input near '<EOF>' '<EOF>' '<EOF>' in switch database statement”》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇System.Threading.Tasks.Task 任务引起的IIS应用程序池崩溃坑(三)—— pymysql数据异常下篇

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

相关文章

CDH| Cloudera Manager的安装

一.  cloudera manager的概念 简单来说,Cloudera Manager是一个拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具(软件),使得安装集群从几天的时间缩短在几个小时内,运维人员从数十人降低到几人以内,极大的提高集群管理的效率。 功能: 1)   管理:对集群进行管理,如添加、删除节点等操作。 2)   监控:监控集群...

大数据采集和抽取怎么做?这篇文章终于说明白了!

本文来源于公众号【胖滚猪学编程】,转载请注明出处! 关于数据中台的概念和架构,我们在大白话 六问数据中台和数据中台全景架构及模块解析!一文入门中台架构师!两篇文章中都说明白了。从这一篇文章开始分享中台落地实战。 其实无论是数据中台还是数据平台,数据无疑都是核心中的核心,所以闭着眼睛想都知道数据汇聚是数据中台/平台的入口。纵观众多中台架构图,数据采集与汇聚都...

Hive 安装配置

实验简介 本次课程学习了如何安装配置 Hive。 一、实验环境说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌面上的程序: XfceTerminal: Linux命令行终端,打开后会进入Bash环境,可以使用Linux命令;...

【转】Hive的insert操作

insert 语法格式为: 1. 基本的插入语法: insert overwrite table tablename [partition(partcol1=val1,partclo2=val2)] select_statement; insert into table tablename [partition(partcol1=val1,partclo2...

Hive 以及mysql 中如何做except 数据操作

在db2 和 oracle 中 ,当我们想知道两张结构相同的table 中,数据差异时候可以采用如下sql : select * from table1 except select * from table2 上面语句 求出来的就是 数据在table1 而不再table2 中的数据 , 但是令人失望的是mysql 和hive 中竟然没有提供这样子...

hive删除空分区

当hive中分区字段有NULL值时,hive会使用dynamic partition,数据会放到一个特殊的分区,这个分区由参数“hive.exec.default.partition.name”控制,默认为“__HIVE_DEFAULT_PARTITION__”,即上面这种情况。 如果不想保留,则使用下面命令删除该分区,同时手工删除hdfs上该分区文件。...