随笔分类 -  HIVE

摘要:需求场景,组内排序,例如统计某个用户前10次消费金额,如求某个相同id或组内的top值 步骤一,创建测试表 create table tmp_partition_test ( name string, subject string, score int ) 步骤二,插入测试数据 insert int 阅读全文
posted @ 2021-08-06 15:17 欣欣姐 阅读(427) 评论(0) 推荐(0) 编辑
摘要:Group By 默认情况下,Map阶段同一Key数据分发给一个reduce,当一个key数据过大时就倾斜了。 但并不是所有的聚合操作都需要在Reduce端完成,很多聚合操作都可以先在Map端进行部分聚合,最后在Reduce端得出最终结果。 1)开启Map端聚合参数设置 (1)是否在Map端进行聚合 阅读全文
posted @ 2021-08-04 19:10 欣欣姐 阅读(516) 评论(0) 推荐(0) 编辑
摘要:MapJoin 如果不指定 MapJoin 或者不符合 MapJoin 的条件,那么Hive解析器会将 Join 操作转换成 Common Join,即:在 Reduce 阶段完成 join。容易发生数据倾斜。可以用 MapJoin 把小表全部加载到内存在 map 端进行 join ,避免 redu 阅读全文
posted @ 2021-08-04 18:50 欣欣姐 阅读(296) 评论(0) 推荐(0) 编辑
摘要:hive中,需要每天定时跑一些sql的脚本或者其他脚本,可以通过调用sh脚本 1.新建一个sh文件 [root@master log]# vim wh_hive_daily.sh 2.添加以下内容 (可以直接复制,然后修改sql里面的内容即可) #!/bin/bash APP=uiopdb hive 阅读全文
posted @ 2021-07-29 16:48 欣欣姐 阅读(1723) 评论(0) 推荐(0) 编辑
摘要:进入到,50070页面报错,There are 1557 missing blocks. The following files may be corrupted: 步骤1,检查文件缺失情况 执行一下代码, hdfs fsck / -list-corruptfileblocks,查看哪些数据块损坏 阅读全文
posted @ 2021-07-22 18:06 欣欣姐 阅读(594) 评论(0) 推荐(0) 编辑
摘要:问题:在使用hive的insert into 往表里插入数据时 ,却发现原来的数据被覆盖了。如下图,如论insert 语句执行多少次,只会有最新的一条数据。(情况跟overwrite一样) 经过多次查找原因,才知道时因为飘号的原因,去掉飘号就可以了 总结: 所以要么用户名和表名分别都加飘号,要么就都 阅读全文
posted @ 2021-07-20 16:36 欣欣姐 阅读(2598) 评论(0) 推荐(0) 编辑
摘要:往hive分区表中插入数据时,如果一张表的数据量非常大,需要按照日期分区,且将指定日期的数据插入到对应分区,如果使用进来分区一天一天的手工输入,效率极低,故hive提供了一个动态分区功能,其可以基于查询参数的位置去推断分区的名称,从而建立分区。 假如有两张表临时表 trade_detail_his 阅读全文
posted @ 2021-07-19 15:30 欣欣姐 阅读(3297) 评论(0) 推荐(1) 编辑
摘要:需求:在某一张 hive 表中需要有一列值,作为唯一标识,有些类似于MySQL中的自增ID,(唯一标识取别名时,尽量不要表中现有字段重名) 方法一,唯一标识: select regexp_replace(reflect("java.util.UUID", "randomUUID"), "-", "" 阅读全文
posted @ 2021-07-16 16:13 欣欣姐 阅读(2065) 评论(0) 推荐(0) 编辑
摘要:1.取得当前日期: select current_date(); --返回类型'yyyy-mm-dd',如今天日期'2020-01-01' 2.取得当前日期时间: select current_timestamp(); --返回格式'yyyy-mm-dd hh:mi:ss' 如'2021-07-26 阅读全文
posted @ 2021-07-14 18:04 欣欣姐 阅读(2706) 评论(0) 推荐(0) 编辑
摘要:1. OVER():用于指定分析函数工作时的数据窗口大小,这个数据窗口大小可能会随着行的变而变化; 2. CURRENT ROW:当前行; n PRECEDING:往前n行数据; n FOLLOWING:往后n行数据; UNBOUNDED:起点,UNBOUNDED PRECEDING 表示从前面的起 阅读全文
posted @ 2021-07-06 11:22 欣欣姐 阅读(902) 评论(0) 推荐(0) 编辑
摘要:1. 创建分桶分区表 set hive.enforce.bucketing=true; --设置自动分桶参数 CREATE Table `tmp_wfll_log_url` ( `log_time` string, `log_key` string, `url_detail` string, `ur 阅读全文
posted @ 2021-06-30 18:05 欣欣姐 阅读(1014) 评论(0) 推荐(0) 编辑
摘要:Hive和HBase的区别 Hive是为了简化编写MapReduce程序而生的,使用MapReduce做过数据分析的人都知道,很多分析程序除业务逻辑不同外,程序流程基本一样。在这种情况下,就需要Hive这样的用戶编程接口。Hive本身不存储和计算数据,它完全依赖于HDFS和MapReduce,Hiv 阅读全文
posted @ 2021-06-29 13:57 欣欣姐 阅读(2138) 评论(0) 推荐(0) 编辑
摘要:一、hive架构相关 可以结合平时使用hive的经验作答,也可以结合下图从数据的读入、解析、元数据的管理,数据的存储等角度回答: 二、hive的特点 本题主要为了考察对hive的整体使用场景的掌握程度,毕竟只有知道了hive的特点,才能有针对性的在实际项目中的合适场景下使用hive。 可以从下面四个 阅读全文
posted @ 2021-06-29 11:40 欣欣姐 阅读(347) 评论(0) 推荐(0) 编辑
摘要:1.Hive新建分区表 create external table bmal.wall_log_url ( log_time string, log_key string, url_detail string, url_briefly string, url_action string, time_ 阅读全文
posted @ 2021-05-27 14:21 欣欣姐 阅读(58) 评论(0) 推荐(0) 编辑
摘要:过程: 此代码在shell中进行编辑,并采用crontab进行定时运行 1.先将每天的数据导导到一张临时表mal.wall_log_url_tmp表中,此表可为内部表 2.然后再将临时表的数据导入到目标表中 mal.wall_log_url #!/bin/sh # upload logs to hd 阅读全文
posted @ 2021-05-27 11:48 欣欣姐 阅读(216) 评论(0) 推荐(0) 编辑
摘要:1.hive创建外部分区表,并将hdfs上的文件导入hive create external table db_hive_edu.wall_log_url ( log_time string, log_key string, url_detail string, url_briefly string 阅读全文
posted @ 2021-05-19 10:06 欣欣姐 阅读(1471) 评论(0) 推荐(0) 编辑
摘要:前言:数据倾斜大多数是由于数据本身的分布不均匀。故而需要我们使用诸如列裁剪、Mapjoin、GroupBy等方法进行处理。数据倾斜表现:1、任务日志进度长度为99%,在日志监控进度条显示只有几个reduce进度一直没有完成。 2、某一reduce处理时长>平均处理时长 3、job数过多 数据倾斜原因 阅读全文
posted @ 2021-04-29 17:18 欣欣姐 阅读(88) 评论(0) 推荐(0) 编辑
摘要:一,hadoop进入到hive的命令交互界面 进入到hive的安装目录bin下,cd /opt/soft/hive/bin [root@master bin]# cd /opt/soft/hive/bin [root@master bin]# ./hive 二,进入到beeline下 [root@m 阅读全文
posted @ 2021-03-25 15:05 欣欣姐 阅读(1067) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示