摘要:
1. 列处理 : 说明 : 避免使用 select *,有分区时,要指定分区2. 行处理 : 关联原则 : 在关联操作时,能先where的尽量先where,减少数据集 3. hive底层优化策略-谓词下推(predicate pushdown) : 什么是谓词下推 ? 1. 将过滤表达式尽可能移动至 阅读全文
posted @ 2022-02-11 16:07
学而不思则罔!
阅读(636)
评论(0)
推荐(0)
摘要:
1. 笛卡尔积 1. 触发笛卡尔积条件 1. join 时,没有on条件 或 on 条件无效 2. 为什么要尽量避免笛卡尔积? hive 只会使用一个reduce来完成笛卡尔积,当数据量过大时,容易内存不足 3. 如果必须使用笛卡尔积时,可以使用MapJoin,关联操作在Map端完成 4. 测试 - 阅读全文
posted @ 2022-02-11 11:07
学而不思则罔!
阅读(1255)
评论(0)
推荐(0)
摘要:
1. count(distinct) 调优 说明 : count(distinct) 会启用一个 ReduceTask 来完成,当数据量巨大时,单个ReduceTask 无法完成 在对大量数据做 count(distinct)操作时, 可以使用 group by 后,再 count ,将任务拆分 示 阅读全文
posted @ 2022-02-11 11:02
学而不思则罔!
阅读(437)
评论(0)
推荐(0)
摘要:
1. 对group by的调优 (开启map端聚合) 说明 : 默认情况下 Map阶段相同的key 会被发送到同一个reduce中去聚合 当某个key数据量过大时,就造成了数据倾斜 什么是map端聚合? 并不是所有聚合操作,都需要在reduce端聚合,可以在map端先将部分数据,进行聚合,最终数据在 阅读全文
posted @ 2022-02-11 10:59
学而不思则罔!
阅读(1872)
评论(0)
推荐(0)

浙公网安备 33010602011771号