数仓-hive
澄绪猿
打好基础,将知识应用到项目中去,融合贯通。
展开
-
UDTF函数 explode
因为炸开后, movie 列值少于categoryname 列所以这里为了达到targetType 需要使用到。explode 将hive 中复杂的 array 炸成多行。explode结合侧面视图达到targeType。split 处理到一个Array 形式。原创 2024-04-14 21:52:20 · 218 阅读 · 0 评论 -
数仓中的数据倾斜问题
spark webUI中的stages 页面的中就是stage数量 : 宽依赖数(shuffle 数量)导致宽依赖的算子数 +n(读取表的数量)查看每一个task的执行时间如何有明显的和其他的task的执行时间相差很大,以及一个查询任务一致卡在某个点跑了很久都没出结果就是数据倾斜了。在计算时会对 每一个小文件启动一个map , 很影响计算的性能, 以及磁盘的寻址时间。数据分布不均匀的问题再第一次mr中已经有很大的改善了。点击不同的stage 可以跳转到对应的task中的。hive中的小文件存储过多的危害。原创 2024-04-14 21:22:23 · 371 阅读 · 0 评论 -
hive-分桶-索引(初篇)
alter index 索引名称 on table_name rebuild;# 其中的source_data 表中的数据一定是提前分好桶的。其中x表示分几个桶进行抽样,y表示间隔几个桶进行一次分桶。刚创建完hive的索引表是数据的, 需要生成索引数据。创建分桶表之前要先设置hive允许进行强制分桶配置。查询分桶表 - > 高效抽样 , 通过桶号进行抽样。原创 2024-04-09 00:00:46 · 544 阅读 · 0 评论 -
数仓-hive DDL (带你手敲秒懂hive三种常见分区)
中hive允许创建最大分区数值1024,避免在进行动态分区时产生过多的小文件分区,造成数据倾斜问题,# 这里设置为true,程序会在某个动态分区为null时,hive将在完成最后一个任务后报一个错误,# 如果不想因为null动态分区影响整个hive的动态分区,就设置为false即可。# 规定hive运行中创建最大文件数限制,使用动态分区之前要开启动态分区。创建外表同时指定静态分区字段。上可以创建的最大分区数量,原创 2024-03-31 19:04:29 · 1006 阅读 · 0 评论