
Hive
文章平均质量分 50
Hive使用记录
微电子学与固体电子学-俞驰
如切如磋,如琢如磨,臻于至善。
展开
-
FAILED: ValidationFailureSemanticException partition spec {dt=2021-04-01} doesn‘t contain all (2) pa
hive> alter table xxxxxxxxxxx add partition (dt = '2021-04-01') location '/yyy/2021-04-01';FAILED: ValidationFailureSemanticException partition spec {dt=2021-04-01} doesn't contain all (2) partition columns解决方案:alter tablexxxxxx add partition (d.原创 2021-04-01 16:34:55 · 6146 阅读 · 0 评论 -
hive清空外表数据
如果是这样建立外表的CREATE EXTERNAL TABLE `Target`( `yyyyyyy` string, `xy_x` double, `insertTime` timestamp )PARTITIONED by ( `dt` string )STORED AS orcfileLOCATION '/Data/Target/2021-03-30';那么我们需要tuncate这个Target表格的时候的命令就是hdfs dfs -rm -r /Dat...原创 2021-03-30 16:09:00 · 720 阅读 · 0 评论 -
元数据实例一则
写的比较啰嗦,但是请仔细看完,看完后对于元数据你会很有底气地说出来啥用。我们老提元数据,元数据到底啥用?各种抽象的概念扑面而来,下面用一个具体的实验例子说清楚。我们先说整个流程:①Flink写入ORC文件②hive建表,指定hive存储数据的文件路径③hive中的表格中的数据长时间更新,我们去读hive的时候,其实是通过②中的文件路径进行更新到最新数据的。############################################################.原创 2021-03-26 12:58:20 · 1385 阅读 · 0 评论 -
hive初始化
①mysql要配置成远程可访问②初始化(只需要一次)schematool -dbType mysql -initSchema③hive --service metastore &(每次都需要,对接mysql需要)④启动hive转载 2021-03-26 10:34:51 · 779 阅读 · 0 评论 -
hive中建立“按天分区“的外表+存储为ORC文件+指定元数据
CREATE EXTERNAL TABLE `example`( `axxsdf` string, `mydeailyTime` timestamp )PARTITIONED by ( `dt` string )STORED AS orcfileLOCATION '/home/appleyuchi/test_write';原创 2021-03-11 12:01:29 · 1102 阅读 · 0 评论 -
hive中的单分区与多分区在hadoop上的对应关系
分区叫法表格举例不同种类分区在HDFS上存放的文件结构单分区/一级分区/主分区t1/user/hive/warehouse/t1/department=depart-1多分区/多级分区/副分区t2/user/hive/warehouse/t2/department=GBD/sex=F根据上述表格中的对比也可以看到,所谓的多分区其实就是根目录(/user/hive/warehouse/t*)下面的多级文件夹.查看Hive表的分区结构具体操作打开:http://d...原创 2021-02-06 22:36:03 · 649 阅读 · 0 评论 -
hive的静态分区与动态分区-用法实例
静态分区分区叫法 表格举例 不同种类分区在HDFS上存放的文件结构 单分区/一级分区/主分区 t1 /user/hive/warehouse/t1/department=depart-1 多分区/多级分区/副分区 t2 /user/hive/warehouse/t2/department=GBD/sex=F 可以看到你所谓的多分区和单分区其实主要取决于数据在HDFS上存放的结构是否是多级文件夹结构.动态分区建立r3,t4表t3表导入t4表原创 2021-01-14 20:53:32 · 421 阅读 · 0 评论 -
hive的新分区和旧分区的概念问题
hive中的一个表格中的内容可以存储在不同分区(可以理解为分片).[1]中描述的是,试图给表格新增一个字段,结果只给新分区进行了新增字段操作,老分区并没有影响,需要使用如下的cascade写法alter table tb add columns(col1 string) cascade;[2]中试图查询最新的分区,但是又不希望遍历所有的分区来寻找,效率太低.总结:对于hive的操作,要时刻注意新分区和旧分区的问题.否则会导致数据不完整以及性能低下的问题...原创 2021-01-04 14:51:49 · 341 阅读 · 0 评论 -
hive中的UDAF的使用流程记载
概述本文是对[1]的整理和复现。环境组件 版本 Hadoop 3.1.2 Zookeeper 3.6.0 Mysql 8.0.22-0ubuntu0.20.04.2 Hive 2.3.7 Hive准备工作以[2]中的例子三为准zhong注册UDAF流程注册命令(hive/beeline中进行) 备注 add jar /home/appleyuchi/桌面/Flink_Code/FLINK读写各种数据源/Jav...原创 2021-01-02 20:51:34 · 251 阅读 · 0 评论 -
GenericUDF使用流程记载(转载+自己整理)
GenericUDF的示例, 根据字符串生成词向量概述本文是对[1]的整理和复现。环境组件 版本 Hadoop 3.1.2 Zookeeper 3.6.0 Mysql 8.0.22-0ubuntu0.20.04.2 Hive 3.1.2 Hive准备工作hive>describetb_test2; OK namestring score_listarray<map<string,int&...原创 2021-01-01 22:50:34 · 1178 阅读 · 0 评论 -
hive中操作struct与map三例
beeline中进行:create table test (id int,course struct<course:string,score:int>)row format delimitedfields terminated by ','collection items terminated by ':';/home/appleyuchi/test.txt中加入以下内容:1,english:802,math:89beeline中继续:load data lo转载 2021-01-02 16:49:09 · 641 阅读 · 0 评论 -
GenericUDTF使用流程记载(转载+自己整理)
概述本文是对[1]的整理和复现。UDTF的意思是进一出多。在hive中UDTF的意思是,输入一条数据,返回多条数据环境组件 版本 Hadoop 3.1.2 Zookeeper 3.6.0 Mysql 8.0.22-0ubuntu0.20.04.2 Hive 3.1.2 Hive准备工作use db1;drop table if exists test;create table test(ind int,col stri.原创 2021-01-01 22:11:14 · 984 阅读 · 0 评论 -
Hive的六种UDF完整实例与使用方法汇总
Hive的UDF 博文链接(转载+自己整理与验证) GenericUDAF GenericUDAF使用流程记载 GenericUDTF GenericUDF UDAF UDTF UDF hive臨時udf與永久udf詳細操作流程原创 2021-01-01 21:13:38 · 474 阅读 · 0 评论 -
GenericUDAF使用流程记载(转载+自己整理)
概述本文是对[1]的整理和复现。环境组件 版本 Hadoop 3.1.2 Zookeeper 3.6.0 Mysql 8.0.22-0ubuntu0.20.04.2 Hive 3.1.2 Hive准备工作use db1;create table address(addressid int, province string, city string) row format delimited fields terminated by ','.原创 2021-01-01 21:04:58 · 400 阅读 · 0 评论 -
hive insert报错return code 1 from org.apache.hadoop.hive.ql.exec.StatsTask (state=08S01,code=1)
0: jdbc:hive2://Desktop:10000> insert into mytable values('yuchi',16556);Error: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.StatsTask (state=08S01,code=1)查看yarn界面,得到报错:java.lang.Runti原创 2020-12-22 14:59:48 · 6235 阅读 · 3 评论 -
关于hive数仓这个概念的一些理解+查看hive底层引擎是否是tez
hive其实本身并不是一个仓库,而使一个sql翻译工具.把sql翻译成mapreduce语句,hadoop集群去hdfs集群上执行这些mapreduce语句在执行的过程中去yarn申请资源,为啥理会这些原理性质的东西呢?因为写代码的时候虽然可以不care原理,但是yarn如果资源不够,那么hive就会卡死.hive卡死的原因要么是编码要么就是底层资源不够导致卡死了.所以,所谓的hive仓库,其实是顶层的一个hive转换工具+底层的HDFS+YARN资源管理器构成的.这和我们之前的认知有所不原创 2020-12-21 10:04:38 · 1009 阅读 · 1 评论 -
Hive drop table时候卡死-各种情况的解决方案(持续更新中)
①jps中kill掉所有RunJar的进程②mysql中drop database hive③hive --service metastore④重启hive客户端转载 2020-05-27 12:13:32 · 3860 阅读 · 1 评论 -
Attempt to do update or delete on table db1.table1 that is not transactional解决
在datagrip尝试对hive中的表格进行删除,碰到了这么个问题Attempt to do update or delete on table db1.table1 that is not transactional官方依据是[2],也就是说支持事务操作需要设置一大堆东西.Reference:[1]Hive Transactions[2]hive0.14-insert、update、delete操作测试[3]CDH5.4.10 在Hive上执行Update,Delete操作报错Attempt转载 2020-12-18 23:25:24 · 4310 阅读 · 1 评论 -
Bad level value for property: .level
复现命令:hive --service metastore &log中出现:Bad level value for property: .levelBad level value for property: java.util.logging.ConsoleHandler.level原因:$HIVE_HOME/conf/parquet-logging.properties中的.level=INFOjava.util.logging.ConsoleHandler.level=INFO原创 2020-12-19 11:27:41 · 631 阅读 · 2 评论 -
Requested resource=<memory:-1, vCores:1>问题解决
故障复现:startmetahiveserver2$HADOOP_HOME/bin/yarn timelineserverbeeline>insert into test(name,pwd,createdate)values('name1','pwd1','2017-06-20 14:14:09');如下:根据前面的info信息,得到application的id是:1608265226746打开yarn界面报错是:Caused by: ..原创 2020-12-18 20:10:12 · 3837 阅读 · 1 评论 -
hive臨時udf與永久udf詳細操作流程
①完整代碼②打包操作③創建UDF創建UDF方式 具體操作步驟 查看註冊結果 UDF效果 創建臨時UDF hive> add jar /home/appleyuchi/桌面/Flink_Code/HIVE_UDF/target/hive_udf-1.0-SNAPSHOT.jar; hive> create temporary function sayHello as 'com.ruozedata.java.HelloUdf'...转载 2020-12-18 14:28:40 · 278 阅读 · 0 评论 -
Schema initialization FAILED! Metastore state would be inconsistent !!
这个问题是在进行schematool -dbType mysql -initSchema的时候碰到的.我的解决方案是:集群中其中一个节点的hive-site.xml不小心误删了.另外可以参考[1]这个问题的出现几乎必然就是$HIVE_HOME/conf/hive-site.xml的问题.Reference:[1]Schema initialization FAILED! Metastore state would be inconsistent !!...原创 2020-12-15 19:09:00 · 1741 阅读 · 0 评论 -
Error while compiling statement: FAILED: LockException [Error 10280]
beeline在创建数据库时碰见报错Error: Error while compiling statement: FAILED: LockException [Error 10280]: Error communicating with the metastore (state=42000,code=10280)去$HIVE_HOME/logs看了下报错javax.jdo.JDODataStoreException: Error executing SQL query "select "DB_I转载 2020-12-14 18:32:03 · 2337 阅读 · 0 评论 -
mysql与hive比较
由于Hive是采用的写时模式,因此数据在加载的过程中不会被校验,因此也不会对数据建立索引。但是Hive并非不支持索引,只是Hive的索引只能建立在表的列上,而不支持主键或者外键。Hive的索引分为紧凑索引和位图索引。紧凑索引适用于值已经经过聚簇处理的情况,而位图索引适用于值的取值范围较小的情况。其实对于更新、事务和索引,并非Hive不支持,而是影响性能,不符合最初数据仓库的设计理念。但是随着时间的发展,Hive在很多方面也做出了妥协,这也导致了Hive和传统数据库的区别越来越小。..原创 2020-12-14 17:21:44 · 937 阅读 · 0 评论 -
小技巧:用python迅速打印Java写 的Flink代码中的hive建表语句
假设我们想要用Flink对hive进行读写,并且其中一段代码如下:// 如果hive中已经存在了相应的表,则这段代码省略 String hiveSql = "CREATE external TABLE fs_table (\n" + " user_id STRING,\n" + " order_amount DOUBLE" + ") partitioned by (d原创 2020-12-14 12:39:42 · 348 阅读 · 0 评论 -
Hive元数据信息表详解
1、存储Hive版本的元数据表(VERSION)2、Hive数据库相关的元数据表(DBS、DATABASE_PARAMS)DBS:该表存储Hive中所有数据库的基本信息字段如下:DATABASE_PARAMS:该表存储数据库的相关参数,在CREATE DATABASE时候用WITH DBPROPERTIES(property_name=property_value, …)指定的参数。DBS和DATABASE_PARAMS这两张表通过DB_...转载 2020-12-02 23:44:52 · 2971 阅读 · 0 评论 -
Underlying cause: com.mysql.cj.jdbc.exceptions.CommunicationsException : Communications link failure
Hive试图schematool -dbType mysql -initSchema时候报错如下:Metastore connection URL: jdbc:mysql://Desktop:3306/hive?characterEncoding=utf8&useSSL=falseMetastore Connection Driver : com.mysql.cj.jdbc.DriverMetastore connection User: appleyuchi...原创 2020-06-29 13:25:03 · 6339 阅读 · 0 评论 -
org.apache.hadoop.hive.metastore.api.InvalidObjectException: Role public already exists.
启动metastore的时候碰到这个异常:org.apache.hadoop.hive.metastore.api.InvalidObjectException: Role public already exists. at org.apache.hadoop.hive.metastore.ObjectStore.addRole(ObjectStore.java:4886) ~[hive-exec-3.0.0.jar:3.0.0] at sun.reflect.NativeMethod...转载 2020-06-04 13:27:17 · 1596 阅读 · 0 评论 -
hiveserver或者hive启动出现Expected authority at index 7问题解决
完整报错如下:2020-06-03 11:17:19,161 INFO [main] conf.HiveConf: Found configuration file file:/home/appleyuchi/bigdata/apache-hive-3.0.0-bin/conf/hive-site.xml2020-06-03 11:17:19,555 ERROR [main] common.FileUtils: Invalid file path file://java.net.URISynta原创 2020-06-03 13:01:59 · 2688 阅读 · 1 评论 -
查看hive中某个表中的数据、表结构及所在路径
查看hive中action_data_myisam表中的数据、表结构及所在路径1.客户端进入hive环境:hive2.查看表数据,鉴于数据量大,这里只显示前五条:select * from action_data_myisam limit 5;3.查看表结构:desc action_data_myisam;4.查看此表所在路径:describe extended action_data_myisam;...转载 2020-06-01 21:50:40 · 6509 阅读 · 0 评论 -
beanutils.FluentPropertyBeanIntrospector: Error when creating PropertyDescriptor for public final vo
hive在对表格进行操作的时候,出现如下报错:2020-06-01 11:54:43,987 INFO [0da57ad2-c8b1-4edb-a38a-22821eed213f main] zookeeper.RecoverableZooKeeper: Process identifier=hconnection-0x53e4a19e connecting to ZooKeeper ensemble=Desktop:21812020-06-01 11:54:44,159 INFO [0da57原创 2020-06-01 11:58:43 · 1914 阅读 · 0 评论 -
hbase映射为hive表(转载+整理+自己验证)
本文是对[1][2]的整理以及在新版本上的验证-----------------------------------------------------------------------------------------环境版本大数据组件 版本 Hadoop 3.1.2 Zookeeper 3.6.0 Hbase 2.2.4 Hive 3.0.0 ---------------------------------------------.原创 2020-05-30 16:33:13 · 1070 阅读 · 0 评论 -
把hive数据导出至mysql
mysql操作如下:create databasesqoop_hbase;use sqoop_hbase;CREATE TABLE book(id INT(4) PRIMARY KEY NOT NULL AUTO_INCREMENT,NAME VARCHAR(255) NOT NULL,price VARCHAR(255) NOT NULL);执行命令:sqoop export --connect jdbc:mysql://Desktop:3306/sqoop_hbase --usern.原创 2020-05-29 22:11:30 · 1497 阅读 · 1 评论 -
hive内表和外表区别(转载+自己整理)
HIVE内表 HIVE外表 存储位置 hive.metastore.warehouse.dir HDFS 删除效果 元数据和表数据全部删除 只删除元数据 创建 create table t1( id int ,name string ,hobby array<string> ,add map<String,string>)row format de...转载 2020-05-29 18:43:06 · 852 阅读 · 0 评论 -
show Locks LockManager not specified解决
完整报错如下:0: jdbc:hive2://Desktop:10000> show locks t1;INFO : Compiling command(queryId=appleyuchi_20200529181834_34dc2f08-7ddd-4581-97be-0c9635c87e94): show locks t1INFO : Concurrency mode is disabled, not creating a lock managerINFO : Semantic A原创 2020-05-29 18:21:44 · 3786 阅读 · 2 评论 -
安装sqoop以后,hive中的info信息无法禁止的问题解决
配置完sqoop以后,我们会发现,即使使用下列文件也无法禁止INFO级别的信息出现/home/appleyuchi/bigdata/hadoop-3.0.3/etc/hadoop/log4j.properties解决方案:下面的信息,在启动sqoop的时候再激活,平时没啥用的时候注释掉即可# export HADOOP_COMMON_HOME=$HADOOP_HOME/share/...原创 2018-07-28 20:03:44 · 1053 阅读 · 0 评论 -
sqoop把mysql数据导入hive
环境:软件 版本 备注 Ubuntu 19.10 sqoop 1.4.7 mysql 8.0.20-0ubuntu0.19.10.1 (Ubuntu) hadoop 3.1.2 hive 3.0.0 之所以和hive有关系是因为需要在.bashrc中设置HCAT_HOME accumulo 2.0.0 需要配合sqoop在.bashrc中设置ACCUMULO_HOMT 数...原创 2020-05-27 11:56:24 · 725 阅读 · 0 评论 -
利用datagrip从hive导入csv数据(还没整理完)
操作步骤如下:①②③注意选中左下角的first row is header点击OK下面报错:不知道啥情况明天再说吧原创 2020-05-28 00:08:58 · 738 阅读 · 0 评论 -
启动hiveserver2时报错Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
启动hiveserver2时报错:java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient at org.apache.hadoop.hive.metastore.utils.JavaUtils.newInstance(JavaUtils.java:86) ~[hive-exec-3.0.0.jar:3.0.0] at org.apa原创 2020-05-27 23:28:32 · 1310 阅读 · 0 评论 -
hive启动时出现javax.jdo.JDODataStoreException: Error executing SQL query
启动metastore和hiveserver2后,发现hiveserver2启动失败,因为没有被占用10000端口$HIVE_HOME/logs下出现如下报错:2020-05-27T22:39:52,203 WARN [pool-6-thread-1] metastore.MetaStoreDirectSql: Failed to execute [SELECT "TBLS"."TBL_NAME" FROM "TBLS" INNER JOIN "DBS" ON "TBLS"."DB_ID"原创 2020-05-27 23:13:49 · 3742 阅读 · 0 评论