Hive
文章平均质量分 63
lvtula
这个作者很懒,什么都没留下…
展开
-
2021-05-26
hive报错整理之Malformed ORC file 、Invalid postscript.将本地文件的数据加载到hive的ORC格式表时,出现以下报错:Diagnostic Messages for this Task:Error: java.io.IOException: java.lang.reflect.InvocationTargetException at org.apache.hadoop.hive.io.HiveIOExceptionHandlerChain.h...原创 2021-05-26 16:17:54 · 384 阅读 · 0 评论 -
Hive调优策略——并行执行、严格模式、JVM重用、压缩、设置mapper和reducer个数 & 小文件合并
目录1. 并行执行2. 严格模式3. JVM重用4. 压缩(1)开启Map输出阶段压缩(snappy压缩)(2)开启Reduce输出阶段压缩(snappy压缩)5. 合理设置Map和Reduce个数(1)小文件过多,减少map数(2)小文件进行合并(3)文件比较大、文件处理逻辑复杂,增大map数(4)合理设置Reduce个数(1)开启Map输出阶段压...转载 2020-04-24 12:18:27 · 563 阅读 · 1 评论 -
hive按当天日期建立分区表 | 动态往日期分区插入数据
hive建立分区表,以当天日期(“2014-08-15”)作为分区依据,hql如下:CREATE EXTERNAL TABLE IF NOT EXISTS product_sell(category_id BIGINT,province_id BIGINT,product_id BIGINT,price DOUBLE,sell_num BIGINT)PARTITIONED BY ...转载 2020-03-10 16:05:14 · 2932 阅读 · 0 评论 -
对现有Hive的大表进行动态分区
分区是在处理大型事实表时常用的方法。分区的好处在于缩小查询扫描范围,从而提高速度。分区分为两种:静态分区static partition和动态分区dynamic partition。静态分区和动态分区的区别在于导入数据时,是手动输入分区名称,还是通过数据来判断数据分区。对于大数据批量导入来说,显然采用动态分区更为简单方便。- 对现存hive表的分区首先,新建一张我们需要的分区以后的表cre...转载 2019-05-28 10:36:19 · 992 阅读 · 0 评论 -
hive中count(*)、count(1)、count(某字段)的区别
最近看到某公司面试题有这个,顺便查了一下。count(*):所有行进行统计,包括NULL行count(1):所有行进行统计,包括NULL行count(column):对column中非Null进行统计我在集群找了一个表试了一下,结果差距不是很大,因为执行时间会受集群资源的影响,所以看下具体的执行步骤先看结果,count(*)执行时间26sselect count(*)from...转载 2019-05-27 17:37:18 · 1408 阅读 · 0 评论 -
Hive之parse_url函数详解
https://www.jianshu.com/p/3a4305d88cf9转载 2019-05-27 15:26:56 · 453 阅读 · 0 评论 -
hive动态分区和混合分区
各位看官,今天我们来讨论下再Hive中的动态分区和混合分区方面的一些知识点以及相关的一些问题。前面我们已经讲过管理表和外部表的一般分区的一些知识点,对于需要对表创建很多的分区,那么用户就需要些很多的SQL代码,举例:比如我创建了一张分区表emp,需要 将分区表employees中的某些区数据按分区导入到表emp中,如果我需要导入的分区有上百个,那么就需要写上百个INSERT ...SELE...转载 2019-05-22 17:16:18 · 480 阅读 · 0 评论 -
如何每日增量加载数据到Hive分区表
加载数据数据加载到Hive分区表(两个分区,日期(20160316)和小时(10))中每日加载前一天的日志文件数据到表db_track.track_log1. 数据存储数据日志文件,放入某个目录下,每天日志文件放入同一个目录eg: 20160316 - 目录名称日志文件数据,每个小时生成一个文件,一天总共有二十四个文件eg: 20160318202. shell脚本编写...转载 2019-05-22 15:56:59 · 1844 阅读 · 0 评论 -
Hive解决SQL的join or
在处理数据时,遇到join on的条件有多个,然而hive不支持on or,因此问了度娘,找了google才发现这东西还涉及hive优化,吭哧了一下午终于弄出来,心情豁然开朗,希望本文能帮到遇到难题的你们。我的一个表是有关电话号码的,另一个表是解析这个电话号码的,分析号码的省,市,服务商,手机号就取前7位获得省市服务商,固话就取前3/4位,所以问题就来了,join 后面的条件有多个,要是sql...原创 2019-05-17 14:09:00 · 6347 阅读 · 0 评论 -
图解SQL的inner join、left join、right join、full outer join、union、union all的区别
https://blog.csdn.net/mangmang2012/article/details/8017034转载 2019-05-13 13:57:33 · 101 阅读 · 0 评论 -
hive的空字符串与null
int与string类型,null底层默认存储为\N,查询显示为null。导出文件会以存储格式导出。若导出为null,存储的字符串就是null。hive不区分大小写。原创 2019-05-21 13:42:52 · 1499 阅读 · 0 评论 -
hive的高级查询(group by、 order by、 join 、 distribute by、sort by、 clusrer by、 union all等)
参考:https://www.cnblogs.com/huxinga/p/7688376.html查询操作group by、 order by、 join 、 distribute by、sort by、 clusrer by、 union all底层的实现mapreduce常见的聚合操作count计数count(*) 所有值不全为NULL时,加1操作co...转载 2019-05-07 13:38:53 · 275 阅读 · 0 评论 -
Hive表中的NULL值处理
1 MySQL 到 Hive 表的sqoop任务把 原本的NULL 变成字符串 ‘null’ 了alter table ${table_name} SET SERDEPROPERTIES('serialization.null.format' = '\\N'); -- 修改表的NULL值属性sqoop代码最后面加上 --null-string '\\N' --null-non-strin...转载 2019-05-14 15:33:33 · 1024 阅读 · 0 评论 -
Hive 表的复制
简介本文介绍hive中表的复制非分区表的复制如果我们想要复制一张非分区表,可以使用create tale as去解决;实例假如我们有一张t_temp的表,为普通的内部表.复制可以采用如下的语句:create table t_copy as select * from t_temp;1这样就复制出一张和t_temp结构一致的表分区表的复制分区表如果采用这种create…a...转载 2019-05-14 15:26:15 · 770 阅读 · 0 评论 -
hive中导入json格式的数据(hive分区表)
hive中建立外部分区表,外部数据格式是json的如何导入呢?json格式的数据表不必含有分区字段,只需要在hdfs目录结构中体现出分区就可以了This is all according to this guide: http://blog.cloudera.com/blog/2012/12/how-to-use-a-serde-in-apache-hive/1 hive> A...转载 2019-05-28 14:36:50 · 1518 阅读 · 0 评论 -
hive修改 表/分区语句
参考:https://www.cnblogs.com/ggjucheng/archive/2013/01/03/2843393.html原创 2019-05-28 14:40:51 · 1339 阅读 · 0 评论 -
Hive 行列转换
一、列转行(对某列拆分,一列拆多行)使用函数:lateral view explode(split(column, ',')) numeg: 如表:t_row_to_column_tmp 数据如下,对tag列进行拆分SQL代码:select id,tag,tag_new from t_row_to_column_tmplateral view explode(spl...转载 2019-08-28 15:05:23 · 273 阅读 · 0 评论 -
hive实现自增列
selectrow_number() over(order by 1) as id,a.* from dp_ipo_tmp.tmp_ipo_yekuai_118_2018q4_06 a where Finterest_date <= '2018-12-31'代码line2所示,即为添加的自增id列select row_number() over(partition by 1 ord...原创 2019-06-11 21:03:17 · 3015 阅读 · 0 评论 -
hive 将一个分区表数据全部插入另外一个分区表
假如现在hive有个分区表A,分区字段为dt需求是:需要将A表中的数据全部插入到分区表B中具体步骤如下:1.create Blike A;2.插入数据set hive.exec.dynamic.partition=true;set hive.exec.dynamic.partition.mode=nonstrict;insert overwrite table B PAR...转载 2019-06-16 10:27:01 · 7695 阅读 · 1 评论 -
一张图看清楚OLTP和OLAP的区别
一张图:转载 2019-06-16 09:45:33 · 363 阅读 · 0 评论 -
hive实现json数组拆解
PAYCHANNELDETAIL表中间字段acquire_type是json格式如下Json代码[{"payAmount":"375000","payChannelCode":"BOC"},{"payAmount":"376000","payChannelCode":"ABC"}]下面是数据拆解操作Sql代码selectpay_order_id,ta...转载 2019-06-09 11:16:00 · 4412 阅读 · 0 评论 -
hive中的lateral view 与 explode函数的使用
https://blog.csdn.net/guodong2k/article/details/79459282原创 2019-05-29 15:00:29 · 1150 阅读 · 0 评论 -
Hive正则表达式
前言昨日技术交流群里有人提了个问题,问题是这样子的:把一个由子母和数字组成的字符串,提取所有的字母串和数字串。简单想了下可以写udf解决,也可以用正则处理。采用正则处理的实例如下:--字符串'sdfsd1232sdf324',拆成'sdfsd','1232','sdf','324'select explode(split(regexp_replace('sdfsd1232sdf324'...转载 2019-05-29 11:20:24 · 2753 阅读 · 1 评论 -
sparkSQL来完成对Hive的操作
https://blog.51cto.com/14048416/2339270原创 2019-05-28 16:33:15 · 190 阅读 · 0 评论 -
cloudera mamager中配置hive加载第三方JAR
问题出现在将清洗过的log日志加载进入HIVE这一步中,由于log是采用了json的格式,所以需要使用第三方的jar进行格式转换。使用JsonSerde这里使用了JsonSerde在hive shell 中只需要手动临时添加jar就可以了,但是退出后需要再次添加add jar /opt/hive_lib/json-serde-1.3.8-jar-with-dependencie...原创 2019-05-28 16:14:06 · 807 阅读 · 0 评论 -
hive学习
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-RowFormats&SerDe原创 2019-05-28 16:09:49 · 162 阅读 · 0 评论 -
hive1.1.0建立外部表关联HDFS文件
https://www.cnblogs.com/fefjay/p/6044474.html原创 2019-05-28 16:07:31 · 427 阅读 · 0 评论 -
hive的null/''作为join条件时的区别
hive NULL生成方式:1 文本方式:如果通过 load data local inpath'/opt/stu.txt' into table stu 这种上传本地文件数据方式到Hive制造hive NULL的时候,需要在 stu.txt中 用idname1zhangsan2\N写法,而不是idname...转载 2019-05-14 11:17:40 · 1336 阅读 · 0 评论 -
hive中null和'','NULL'
说下hive中的null。employee表hive>desc employee;empid stringdeptid stringsalary string查询employeehive>select * from employee1 NULL NULLhive 中null实际在HDFS中默认存储为'\N'即employee中的数据在HDFS中为1 \...转载 2019-05-14 10:52:42 · 908 阅读 · 0 评论 -
hive笔记
目录·概况·手工安装·引言·创建HDFS目录·创建元数据库·配置文件·测试·原理·架构·与关系型数据库对比·API·WordCount·命令·数据类型·文件存储格式·数据格式·数据库...原创 2019-04-30 11:50:28 · 256 阅读 · 0 评论 -
Hive笔记之collect_list/collect_set(列转行)
Hive中collect相关的函数有collect_list和collect_set。它们都是将分组中的某列转为一个数组返回,不同的是collect_list不去重而collect_set去重。做简单的实验加深理解,创建一张实验用表,存放用户每天点播视频的记录: 1 2 3 4 5 create table t_visit_v...原创 2019-04-21 17:56:45 · 285 阅读 · 0 评论 -
hive关联查询
https://www.cnblogs.com/wkrbky/p/5882975.htmlSQL各种连接查询详解(左连接、右连接..)https://blog.csdn.net/yueqi1125/article/details/79478143SQL查询:并集、差集、交集https://blog.csdn.net/weixin_41852491/article/details/8...原创 2019-04-15 19:02:41 · 974 阅读 · 0 评论 -
Hive做一个PV,UV统计的案例记录
https://blog.csdn.net/u010316188/article/details/79769862Hive做一个PV,UV统计的案例记录原创 2019-04-12 13:22:38 · 623 阅读 · 0 评论 -
hive删除数据库
Hive删除数据库DROP DATABASE是删除所有的表并删除数据库的语句。它的语法如下:DROP DATABASE StatementDROP (DATABASE|SCHEMA) [IF EXISTS] database_name [RESTRICT|CASCADE];下面的查询用于删除数据库。假设要删除的数据库名称为userdb。hive> DROP DATAB...原创 2019-04-15 17:14:36 · 752 阅读 · 0 评论 -
ERROR beeline.ClassNameCompleter: Fail to parse the class name from the Jar file due to the
[root@主机名~]# beeline -u jdbc://hive2://主机名:10000 -n rootJava HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512M; support was removed in 8.0Java HotSpot(TM) 64-Bit Server VM warn...原创 2019-03-28 17:22:49 · 1733 阅读 · 0 评论 -
hive内部表外部表的创建及load数据
内部表创建hive内部表create table test_01(id bigint, name string ) row format delimited fields terminated by ',';默认记录和字段分隔符:\n 每行一条记录^A 分隔列(八进制 \001)^B 分隔ARRAY或者STRUCT中的元素,或者MAP中多个键值对之间分隔(...转载 2019-04-10 18:03:55 · 2329 阅读 · 0 评论 -
hive 存储,解析,处理json数据
hive处理json数据总体来说有两个方向的路走1、将json以字符串的方式整个入Hive表,然后通过使用UDF函数解析已经导入到hive中的数据,比如使用LATERAL VIEW json_tuple的方法,获取所需要的列名。2、在导入之前将json拆成各个字段,导入Hive表的数据是已经解析过得。这将需要使用第三方的SerDe。测试数据为新浪微博测试公开数据该数据采用json...原创 2019-04-10 17:23:39 · 265 阅读 · 0 评论 -
Mysql 上亿级数据导入Hive思路分享
前提条件:数据库容量上亿级别,索引只有id,没有创建时间索引达到目标:把阿里云RDS Mysql表数据同步到hive中,按照mysql表数据的创建时间日期格式分区,每天一个分区方便查询 每天运行crontab定时的增量备份数据,还是依据自增的id遇到的问题:没法建立创建时间的索引,不能按时间范围去查询,那样会严重影响线上数据库的性能? 只能按照id的方式去增量的读取索引,...原创 2019-03-13 15:40:04 · 1497 阅读 · 0 评论 -
sqoop将Mysql数据导入Hive中乱码问题解决
参考:https://blog.csdn.net/wangyang1354/article/details/52936400https://www.cnblogs.com/wujiadong2014/p/6165720.htmlhttps://blog.csdn.net/leen0304/article/details/80534385https://blog.csdn.net/c...原创 2019-03-12 11:32:15 · 1084 阅读 · 0 评论 -
Hive权限控制
Hive之——权限管理(授权)https://blog.csdn.net/l1028386804/article/details/80216911开放计算平台——数据仓库(Hive)权限控制https://www.cnblogs.com/yurunmiao/p/4449439.html...原创 2019-03-12 11:12:36 · 841 阅读 · 0 评论