急,求高手!!hive在向整合hbase的分区表插入数据时报错:Must specify table

hadoop版本:hadoop-2.7.12.7.1
hbase版本:hbase-1.1.2
hive版本:apache-hive-2.0.0-bin

本人是新手,在整合了hive和hbase之后,我在hive中创建了一张关联了hbase表的分区表,然后在向表插入数据的时候报错了,下面是插入语句和报错,求懂的人解答。
visited_in_hive是关联了hbase表,准备插入数据的表;hv_c_hb是hive中的另一张表(不是分区表),里面有数据,而且字段和visited_in_hive一样。
插入语句:insert into table visited_in_hive partition (datetime='2016-03-05') select * from hv_c_hb;

报错:WARNING: Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.
Query ID = test2_20160308092429_26a93c7c-b945-4329-98ff-47a4067b579d
Total jobs = 3
Launching Job 1 out of 3
Number of reduce tasks is set to 0 since there's no reduce operator
java.io.IOException: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.IllegalArgumentException: Must specify table name
at org.apache.hadoop.hive.ql.exec.FileSinkOperator.checkOutputSpecs(FileSinkOperator.java:1106)
at org.apache.hadoop.hive.ql.io.HiveOutputFormatImpl.checkOutputSpecs(HiveOutputFormatImpl.java:67)
at org.apache.hadoop.mapreduce.JobSubmitter.checkSpecs(JobSubmitter.java:268)
at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:139)
at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1290)
at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1287)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
at org.apache.hadoop.mapreduce.Job.submit(Job.java:1287)
at org.apache.hadoop.mapred.JobClient$1.run(JobClient.java:575)
at org.apache.hadoop.mapred.JobClient$1.run(JobClient.java:570)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:570)
at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:561)
at org.apache.hadoop.hive.ql.exec.mr.ExecDriver.execute(ExecDriver.java:432)
at org.apache.hadoop.hive.ql.exec.mr.MapRedTask.execute(MapRedTask.java:138)
at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:158)
at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:101)
at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1840)
at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1584)
at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1361)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1184)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1172)
at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:233)
at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:184)
at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:400)
at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:778)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:717)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:645)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.IllegalArgumentException: Must specify table name
at org.apache.hadoop.hive.ql.exec.FileSinkOperator.createHiveOutputFormat(FileSinkOperator.java:1128)
at org.apache.hadoop.hive.ql.exec.FileSinkOperator.checkOutputSpecs(FileSinkOperator.java:1103)
... 37 more
Caused by: java.lang.IllegalArgumentException: Must specify table name
at org.apache.hadoop.hbase.mapreduce.TableOutputFormat.setConf(TableOutputFormat.java:188)
at org.apache.hive.common.util.ReflectionUtil.setConf(ReflectionUtil.java:101)
at org.apache.hive.common.util.ReflectionUtil.newInstance(ReflectionUtil.java:87)
at org.apache.hadoop.hive.ql.io.HiveFileFormatUtils.getHiveOutputFormat(HiveFileFormatUtils.java:300)
at org.apache.hadoop.hive.ql.io.HiveFileFormatUtils.getHiveOutputFormat(HiveFileFormatUtils.java:290)
at org.apache.hadoop.hive.ql.exec.FileSinkOperator.createHiveOutputFormat(FileSinkOperator.java:1126)
... 38 more
Job Submission failed with exception 'java.io.IOException(org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.IllegalArgumentException: Must specify table name)'
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask

它报的错是没有指定表名,但是语句里明明已经指定表名了啊。难道是版本问题????求高手解答。

0

1个回答

0
baidu_35779931
baidu_35779931 回复C-Q-D: 你的问题解决了吗?我现在也报这个错
接近 3 年之前 回复
u012810317
C-Q-D 我的和那个不同,我只有插入到分区表才会报错,不是分区的可以正常插入。
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
hive与hbase的整合时错误
当利用hive来管理hbase时,出现如下错误: java.io.IOException: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.IllegalArgumentException: Must specify table name at org.apache.hadoop.hive.ql.exec.F
hive和hbase整合知识总结
参考资料 http://lxw1234.com/archives/2015/06/319.htm   https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration http://blog.csdn.net/wulantian/article/details/38111683 1.hiv
hive创建外部表映射hbase中已存在表问题
hbase中的建表脚本:create 'HisDiagnose',{ NAME => 'diagnoseFamily'} 通过往hive中创建外部表来映射hbase中已经存在的表结构,从而可以通过Hive QL查询hbase表中的数据,从而使得hbase这种NOSQL数据库具备SQL的能力,脚本脚本为:CREATE EXTERNAL TABLE HisDiagnose(key strin...
hive导入数据到hbase 遇到的问题
原文地址:http://blog.csdn.net/manburen01/article/details/39477733?utm_source=tuicool&utm_medium=referral   版本说明:hive-0.13.1         hbase-0.96.0/hbase-0.98.2  第一步:在hive客户端执行hive关联hbase建表语句    hive中对应
Hive动态分区与建表、插入数据操作
1、定义 动态分区指不需要为不同的分区添加不同的插入语句,分区不确定,需要从数据中获取。 set hive.exec.dynamic.partition=true;//使用动态分区 (可通过这个语句查看:set hive.exec.dynamic.partition;)  set hive.exec.dynamic.partition.mode=nonstrict;//无限制模式 如果
hbase与hive关联、插入数据
接上一篇文章hbase的基本操作,做进一步深入。细想一下,使用put命令插入数据到hbase,使用get方法从hbase读取数据还是有诸多不方便。显然,NO SQL数据库在某些操作上还是没有支持SQL的数据库更加便捷。那么,是否可以将hbase与什么关联一下,既支持hbase的NO SQL又保留SQL的一些特性?答案是hbase与hive关联可以实现上述需求。 如何关联 关联前,先创建hbas...
创建hive和hbase整合表报错原因之一
我的hive版本是apache-hive-1.2.1-bin.tar在hive里创建hive和hbase整合表的内部表报错信息如下:FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org.apache.hadoop.hbase.HTableDescriptor.addFamily...
hive和hbase集成异常
一、偶尔出现两个异常 Error: java.lang.IllegalArgumentException: Illegal character code:-1, at 0. User-space table qualifiers can only contain 'alphanumeric characters': i.e. [a-zA-Z_0-9-.]: � at org.apach
hive和Hbase整合时发生的异常!
建表提示错误 FAILED:ExecutionError,return,code,1,from,org.apache.hadoop.hive.ql.exec.DDLTask.org.apache.hadoop.hbase.HTableDescriptor.addFamily(Lorg/apache/hadoop/hbase/HColumnDescriptor;) 解决:hive版本是1.2.0 ...
hive向动态分区插入数据
向一个定义了分区的空表中插入数据,命令如下:insert overwrite table t_name partition (par_1) select t1.field1 as field1, t1.field2 as field2, t1.field3 as par_1 from ( select * from t3 where par_2=value2) t1 where t1.fiel
Hive笔记三之内部表,外部表,分区表,桶表
hive内部表,外部表,分区表,桶表
HIVE的分区、hive关联Hbase、UDF函数
Hive and HDFS 原始数据 //建立hive和Hdfs的外部关联表 CREATE EXTERNAL TABLE people(id int,sex string,name string) partitioned by (logdate string,hour string) row forma
hive向表中插入数据报错和linux中mysql启动报[运行错误]
hive向表中插入数据失败但是导入可以,很可能是hadoop集群中的conf/hadoop/core-side.xml配置好了但是没分发到集群上其它的节点的原因,可以看看集群中其它的机器的core-side.xml文件是否与内容一致 hive命令中是删除不了hdfs文件系统中的表的数据的, 删除或更新会报:Error while compiling statement: FAILED: Seman...
hive根据现有数据表创建分区表,进行动态或静态分区插入数据
1:现有数据表结构定义: CREATE TABLE `tab_user`( `name` string, `age` int, `sex` string, `addr` string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' STORED AS INPUTF...
hive整合hbase 建表命令
1. 启动hive ./hive --auxpath /opt/apache/hive-0.12.0-bin/lib/hive_hbase-handler-0.12.0.jar,/opt/apache/hive-0.12.0-bin/lib/hbase-0.94.8.jar -hiveconf hbase.master=master:60000
HBase学习之一: 创建hive和hbase关联表
背景:项目中需要使用HQL对源数据进行分析,分析的结果需要做近似于实时的查询,所以创建的表就需要在hive和hbase之间相关联,此为背景。 drop table tbl_hive_test; create external table tbl_hive_test (   id   string,   name string,   age  string ) STORED BY '
HIVE 建表访问 HBASE 笔记
在HIVE建表,同时往HBASE里创建此表 DROP TABLE works as usual, but ALTER TABLE is not yet supported for non-native tables. 所以,如果要修改HIVE中非本地表的结构,那么只能 drop table 然后重新创建外部表了 下面这个建表脚本会创建一个HIVE表,同时也会创建一个 HBASE 表 建表脚...
hbase总结:插入数据的表名不存在或和创建的表名不一致
异常情况一: public static void main(String[] args) { try { QueryRunner qr = MyDbutils.getQueryRunner(); String sql = "SELECT * FROM OptionInfo"; List list = qr.query(sql, new BeanListHandler(Op
spark sql读取映射hbase数据的hive外部表报错
集群环境CDH5.8.0 / spark2.1.0 我们用执行以下命令报错: spark2-submit --master yarn --class com.egridcloud.hive.SparkReadHbaseTest2 ./dac-repair2.jar 'SELECT count(*) FROM test' 'hdfs:///user/asmp/test/HT' 其中test表是...
hive创建分区导入数据
create table t_sz01(id int,name string) row format delimited fields terminated by ','; create table if not exists mytable(sid int,sname string) row format delimited fields terminated by ',' stored a...
Hive整合Hbase(一)
Hive整合Hbase(一) 1、简介 Hive提供了与HBase的集成,使得能够在HBase表上使用HQL语句进行查询 插入操作以及进行Join和Union等复杂查询、同时也可以将hive表中的数据映射到Hbase中。 2、应用场景 1、将ETL操作的数据存入HBase 2、HBase作为Hive的数据源 3、构建低延时的数据仓库 3、环境准备 3.1...
用mapreduce程序将hive写数据到hbase慢的解决办法
项目中可能会有将hive的数据同步到hbase的需求,但是有时mapreduce程序写数据会非常慢,也有可能会出现数据倾斜问题。这时就要对mapreduce程序进行优化了。        首先确定调大reduce个数,比如从5个调大到10个,如果还不能有效的加快速度。就需要在mapreduce程序中将hive中大量的空过滤掉,这部分特别耗资源,也会引起数据倾斜。这部分空到hbase中也没用,过滤
Hbase表映射成hive中
Hbase表映射成hive中 一、1.Hive内部表,语句如下 1、hive中建表 CREATE TABLE member( m_id string , address_contry string , address_province string , address_city string , info_age string , info_birthday string ,
SQOOP数据导入
sqoop是一个用于在Hadoop和关系型数据库(Oracle,Mysql...)间数据传递的开源工具。下面以Oracle为例,介绍使用sqoop将数据从Oracle导入到Hadoop中(HDFS、Hive和HBase)。
向hive表插入数据如何自动分区
首先强调一下,分区的名称不能是中文,只能是英文!不然会报错。   1. 本地文件导入到分区表 LOAD DATA 【LOCAL】 INPATH ‘....’ 【OVERWRITE】 INTO TABLE t1 【PARTITION (...)】 eg: load data local inpath '/usr/local/data/user' into table jiuye par...
Hive与Hbase关系整合
近期工作用到了Hive与Hbase的关系整合,虽然从网上参考了很多的资料,但是大多数讲的都不是很细,于是决定将这块知识点好好总结一下供大家分享。 本篇文章在具体介绍Hive与Hbase整合之前,先给大家用一个流程图介绍Hadoop业务的开发流程以及Hive与Hbase的整合在业务当中的必要性。 其中在数据存入hbase—>Hive对数据进行统计分析的这个步骤中就涉及到了Hive
Hive和HBase整合
hive hbase 整合
使用Spark,从HIVE中获取数据写入HBase过程中遇到的坑
在学习大数据的过程中,通过提交spark-submit提交jar包,将hive中的数据写入HBase的过程中遇到诸多问题,与大家分享。 首先,在跑任务的过程中发现错误。 ERROR metastore.RetryingHMSHandler: AlreadyExistsException(message:Database default already exists)  该问题是在...
Hive集成HBase(二)
Hive集成HBase(一) Hive集成HBase(二) 1.添加依赖jar 在Hive启动时添加依赖jar:hive-hbase-handler-x.y.z.jar和编译hive-handler源码时依赖的jar。添加jar时,有两种方法: 在Hive CLI启动时添加,在Hive CLI启动后用ADD jar添加。 对于单节点的HBase服务器,Hive CLI启动时:
Hive内部表、外部表、分区表以及外部分区表创建以及导入数据实例讲解
源数据格式: [dd_edw@BJHC-Client-144113 zhang_dd_edw]$ more data.txt 25502#hdfs://ns1/user/dd_edw/adm.db/adm_dealer_order_list_di_big/dt=2015-07-15 25499#hdfs://ns1/user/dd_edw/adm.db/adm_dealer_order_li
Hive表中通过查询插入数据错误(解决!)
1.报错如下: 2.错误原因: 表中字段太多,为了简便使用了 select *,导致查询结果中的列数不匹配。 3.解决办法: 将 select * 改为需要的字段即可。
HIVE外部表和管理表区别以及INSERT INTO/INSERT OVERWRITE区别
很多同学在Hive开发过程中,都会遇到外部表和管理表的问题,而且在联合使用insert into 和 insert overwrite 时,总是理不清。下面我们就根据实际开发中的测试来说明一下。 Hive中管理表与外部表的区别:1、在导入数据到外部表,数据并没有移动到自己的数据仓库目录下,也就是说外部表中的数据并不是由它自己来管理的!而管理表则不一样; 2、在删除管理表的时候,Hive将会把属于表
HIVE:表中插入数据出错
在hive中创建表t,id int ,name string ,age int如下图 hive> desc t; OK id int name string age int 向表中插入数据 hive> insert into t (id,name,age)...
hive partition分区表使用Python代码导入数据
写这篇博客的背景,先有数据,想使用hive进行分析,导入hive中很是吃力。 先看数据源 前10行 NASDAQ,ABXA,2009-12-09,2.55,2.77,2.50,2.67,158500,2.67 NASDAQ,ABXA,2009-12-08,2.71,2.74,2.52,2.55,131700,2.55 NASDAQ,ABXA,2009-12-07,2.65,2.76,2....
Hive整合Hbase详解
Hive 整合Hbase1、摘要Hive提供了与HBase的集成,使得能够在HBase表上使用HQL语句进行查询 插入操作以及进行Join和Union等复杂查询、同时也可以将hive表中的数据映射到Hbase中。 2、应用场景2.1 将ETL操作的数据存入HBase  2.2 HBase作为Hive的数据源  2.3 构建低延时的数据仓库 3、环境准备3.1 hive与hbase版本兼容性Hive...
hive的装载数据方式
1.1、从本地加载数据 格式 LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)] 例子1: 创建一个分区表 CREATE TABLE person(name string, age int, sex s...
Hadoop学习_HIVE(内部表,外部表建立与区别以及分区表学习)+ HBASE了解
一.HIVE 1.基本概念:   在线业务产生的海量数据放到数据仓库中,使用HIVE对其进行离线分析挖掘(按理说可以用mapreduce程序,但是很麻烦,需要不断的得到中间结果,然后保存下来,再去执行下一个语句。且MapReduce相比于生气了语句复杂,还需要Java基础,没有基于sql知识的HIVE来的快)。 hive的粗略工作流程:   a) 在hive框架下创建需要分析...
ambari集成Impala,通过hive查询hbase表报错null
通过浏览器IP+25000或者25020端口访问,查看logs日志,发现zookerper连接配置的参数存在问题,显示连接/hbase,而我们ambari连接的应该是hbase-unsecure,怀疑是配置文件未加载导致。 解决方案:缺少hbase的配置文件hbase-site.xml,将其拷贝的并分发到各个节点。 cp /etc/hbase/conf/hbase-site.xml /etc/...
hive导入数据到分区表/动态导入
首先说明,insert into tab_name (clumn1,…) values (…) 这种格式hive是不支持的 从A表中查询数据插入到B分区表中 hive> insert into table B > partition (分区1 = '',分区2 = '') > select id, name > from A > where ...
hive 分区partition表 创建 数据导入(动态分区插入、静态分区插入、动静态混合插入)
学习《hive 编程指南》一书,整理的知识,所以文章例子出自此书。 分区创建与数据导入的步骤: 1.创建分区表(以外部分区表为例)       create external table if not exists dividends(         ymd string,         dividend string)      partitioned by (ex_ch
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java 在线学习 高手 云计算高手班教程