row_number 数据倾斜
时间: 2023-08-26 16:18:22 浏览: 335
数据倾斜是指在使用row_number函数进行排序时,某些频道的数据量过大导致计算速度变慢。解决数据倾斜的方法有多种,其中一种是使用随机数来分散数据。具体做法是将频道的ID与一个0到分区数之间的随机数相加,得到新的频道ID,然后再进行排序计算。这样可以将数据均匀地分散到多个分区中,从而解决数据倾斜的问题。另一种常用的解决方案是在使用row_number函数时,将数据进行优化。可以通过对查询语句进行调整,使用子查询和分区操作来提高查询效率。例如,可以使用row_number函数在每个频道分组内根据时间进行排序,然后再查询每个频道下第一次出现的用户。这样可以避免在全局范围内进行排序,提高查询速度。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [Hive ROW_NUMBER TopN 性能优化](https://blog.csdn.net/SunnyYoona/article/details/129094825)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
- *3* [spark sql 使用row_number 出现oom](https://blog.csdn.net/alitech2017/article/details/130619671)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文