原因分析: 是由于没有初始化数据库导致,执行名称初始化数据库即可。schematool -dbType mysql -initSchema
2017.3.11 问题找到了,原来 Hive2需要hive元数据库初始化
今天在使用Hadoop集群上的Hive时,结果出现了以下的情况。 hive (default)> show databases; FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStore
1、启动hive的时候出现这个问题,报错如下所示: 1 [hadoop@slaver1 conf]$ hive 2 3 Logging initialized using configuration in jar:file:/home/hadoop/soft/hive-0.13.1-cdh5.3.6/lib/hive-common-0.13.1-cdh5.3.6.jar!/hive-log4j.properties 4 Exception in thread "main" java.lang.Ru
FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
hive启动后运行命令时出现: FAILED: Error in metadata: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask 这种情况一般原因比较多,所以需要进行hive调试: 进
客户端的报错信息,并没有完全展现问题背后的全貌。我们进入 hiveserver2 所在节点查看hiveserver2的日志,可以看到如下相关信息:
(3)修改 apache-hive-1.2.1-bin.tar.gz 的名称为 hive
在利用数据仓库进行数据处理时,通常有这样一个业务场景,为一个Hive表新增一列自增字段(比如事实表和维度表之间的"代理主键")。虽然Hive不像RDBMS如mysql一样本身提供自增主键的功能,但它本身可以通过函数来实现自增序列功能:利用row_number()窗口函数或者使用UDFRowSequence。
1/在$HADOOP_HOME/lib/native下面放了2.5.0-native-snappy.tar.gz,这是HDFS存储压缩所需的本地lib包。 cd ~/app/hadoop-2.5.0-cdh5.3.6/lib/native/
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。
从上述报错,浏览社区没得到任何有价值的信息。通过查看hive的源码,也没有有效的信息。因此,我们需要查看hive的详细日志。
Hive:由Facebook开源用于解决海量结构化日志的数据统计(分析框架)。 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。 本质是:将HQL转化成MapReduce程序。
直接通过MapReduce来对存储在Hadoop HDFS上的数据进行查询和分析比较繁琐而且还需要编程。Hive是一个数据仓库系统,构建在HDFS之上,它提供了类似SQL的语法(HQL),可以将HQL翻译成MapReduce作业进行查询,使得对数据的管理和检索更为便利。
Hive是为了解决hadoop中mapreduce编写困难,提供给熟悉sql的人使用的。只要你对SQL有一定的了解,就能通过Hive写出mapreduce的程序,而不需要去学习hadoop中的api。
今天在使用hive函数weekofyear的时候遇到一个奇怪的情况,原sql如下:
本片博文是“大数据线上问题排查系列”大类别之一,讲述前段时间我司某产品在某券商遇到的一个问题及解决方案,其背后涉及到 hive 的一个 BUG,在 hive 3.0 才修复。以下是正文。
RegexSerDe 可以从 Hive 两个jar文件的类中获取,hive-serde-<version>.jar中的 org.apache.hadoop.hive.contrib.serde2.RegexSerDe 以及 hive-contrib-<version>.jar 中的 org.apache.hadoop.hive.serde2.RegexSerDe。
在利用spark sql on hive的过程中,访问Mysql总是报错,其报错的日志总是显示:
一、异常信息 hive安装成功之后,执行hive命令时,控制台正常,但是通过命令: hive -hiveconf hive.root.logger=DEBUG,console; 去查看日志时,却发现出现报如下异常: 18/03/26 18:18:29 [main]: DEBUG metastore.ObjectStore: Rollback transaction, isActive: true at: org.apache.hadoop.hive.metastore.ObjectStore
单独的 hadoop、hbase 、hive 都是正常的,但是在 hive 整合hbase 时,在 hive中输入以下建表语句,
问题原因通常是:表的inputformat 和 outputformat 是 orc,而序列化serde不是orc
flink写入hudi,开启自动同步 hudi表结构如下: CREATE TABLE myhive.test.hudi_users2_m_has_s ( id BIGINT PRIMARY KEY NOT ENFORCED, name STRING, birthday TIMESTAMP(3), ts TIMESTAMP(3) ) WITH ( 'connector' = 'hudi', 'table.type' = 'MERG
当我们在使用ORC文件格式创建Hive表,并且对Hive表的schema进行更改后,然后进行如insert into…select或insert overwrite … select会报错,以下具体看看报错。
使用的是缺省参数每个task分配200M内存「mapred.child.java.opts」
泛型函数 (Generic Function) 存在的意义,解决了运行时参数类型多变,而标准函数无法一一匹配的情况。以判断某变量是否为 Null 而赋予不同默认值为例。程序不可能做到对每种类型都做这样的判断,这样将需要重写很多方法,而泛型则很好解决了该问题
这几天发现insert overwrite partition运行的很慢,看了下是hive on spark引擎,这引擎平时比mapreduce快多了,但是怎么今天感觉比mapreduce慢了好几倍,运行了1h多还没运行完。
使用beeline连接HiveServer2,创建columnread角色并授权test表s1列的读权限,将columnread角色授权给fayson_r用户组
对应开发代码内容: package com.am.udf; import org.apache.hadoop.hive.ql.exec.UDFArgumentException; import org.apache.hadoop.hive.ql.metadata.HiveException; import org.apache.hadoop.hive.ql.udf.generic.GenericUDF; import org.apache.hadoop.hive.serde2.objectinspect
较早的Hive版本,不会在MetaStore中写入版本号。所以升级到新版本之后,会报错:
1.自从spark2.0.0发布没有assembly的包了,在jars里面,是很多小jar包
在集群中进行Hive-On-Spark查询失败,并在HiveServer2日志中显示如下错误:
UDF全称:User-Defined Functions,即用户自定义函数,在Hive SQL编译成MapReduce任务时,执行java方法,类似于像MapReduce执行过程中加入一个插件,方便扩展。
Elasticsearch 是一个开源的分布式搜索和分析引擎,建立在 Apache Lucene 基础上。它提供了一个可扩展的、实时的搜索和分析平台,用于处理和分析大规模的结构化和非结构化数据。 在类实时读写与全文检索上有极大的优势。
想要从日志数据中分析一下操作系统、浏览器、版本使用情况,但是hive中的函数不能直接解析useragent,于是可以写一个UDF来解析。useragent用于表示用户的当前操作系统,浏览器版本信息,形如:
在HDFS集群中NameNode存在单点故障(SPOF),对于只有一个NameNode的集群,如果NameNode机器出现意外,将导致整个集群无法使用。为了解决NameNode单点故障的问题,Hadoop给出了HDFS的高可用HA方案,HDFS集群由两个NameNode组成,一个处于Active状态,另一个处于Standby状态。
从上游Oracle数据库中导出的携带中文乱码且编码集为ISO-8859-1的数据文件,将导出的数据文件导入到Hive表,在原始表的基础上通过创建视图,按照与上游接口约定的定长的方式拆分字段时报错,异常内容如下:
详细讲解Hive自定义函数UDF、UDTF、UDAF基础知识,带你快速入门,首先在Hive中新建表”apache_log”
如何将上述事例数据加载到Hive表(multi_delimiter_test)中,表结构如下:
日志中有sql提交用户:userName,还有提交主机:ipAddress,提交sql:insert overwrite into table XXXX select * from YYYYY,编译的时间等信息;
hive.HiveImport: Exception in thread "main" Java.lang.NoSuchMethodError: org.apache.thrift.EncodingUtils.setBit(BIZ)B
Hive 自带了一些函数,比如:max/min等,但是数量有限,自己可以通过自定义UDF来方便的扩展。
本文介绍了如何使用HiveServer2和HiveServer1的配置和连接,以及如何使用Hive进行数据表创建、查询、删除等操作。同时,还介绍了一种通过Java API的方式对Hive进行操作的方法。另外,还探讨了如何通过使用MySQL的存储引擎来存储Hive的数据,以及如何使用MySQL的客户端工具来连接Hive和查询数据。最后,还介绍了一种通过配置防火墙来解决问题的方式。
14/04/07 15:33:21 INFO hive.metastore: Waiting 1 seconds before next connection attempt. 14/04/07 15:33:22 INFO hive.metastore: Trying to connect to metastore with URI thrift://127.0.0.1:9083 14/04/07 15:33:22 WARN hive.metastore: Failed to connect to the
Hive支持的函数除了内置函数,允许编写用户自定义函数(User Define Function)来扩充函数的功能。
在使用hive-2.1.0的过程中使用desc tableName或者show create table tableName发现comment出现中文乱码问题。需要对hive作出修改并重新打包
元数据管理是数据仓库的核心,它不仅定义了数据仓库有什么,还指明了数据仓库中数据的内容和位置,刻画了数据的提取和转换规则,存储了与数据仓库主题有关的各种商业信息。本文主要介绍Hive Hook和MetaStore Listener,使用这些功能可以进行自动的元数据管理。通过本文你可以了解到:
本文已上述的错误为切入点,分析下异常原因以及Hive相关的关于Format的异常。主要内容如下:
领取专属 10元无门槛券
手把手带您无忧上云