漫谈千亿级数据优化实践:一次数据优化实录

0x00 前言

即使没有数据倾斜,千亿级的数据查询对于系统也是一种巨大负担,对于数据开发来说,如何来优化它,既是挑战,也是机遇!

在上一篇文章 《漫谈千亿级数据优化实践:数据倾斜(纯干货)》中,我们分享了一些在千亿级数据优化实践中和数据倾斜相关的内容。本文将分享千亿级数据优化的另个一点:如何使用使用数据!

注意:

  1. 本文会限定一些业务场景和技术架构,因此解决方法会局限于此。很多问题可以通过换架构或者引入新的组件来解决,但是成本可能会很高,因此暂不考虑。
  2. 本文不是一篇Hive使用和优化文档,更侧重于梳理笔者的思路,让大家少走些坑。

文章主题

在流行的大数据领域中,Hive绝对占据了很大的一片天地,不管是数据仓库和数据分析,还是数据挖掘和机器学习,凡是需要和大数据量打交道的童鞋们,基本上都要接触Hive。因此,本文将侧重于千亿级数据在Hive中的使用,并通过一个典型的数据使用难题来总结一些在大规模数据场景下的优化方式。

本文主要以一个具体的使用场景为切入点,为了解决该场景下的使用难题,笔者经理了一次次的尝试+失败,最终找到了一种相对比较合适的方式。

文章结构

本文可以看过是一种记录和思考,完全还原笔者在遇到问题时的解决方式。因此全文会以事情的发展为主线,每次尝试一种解决方法,失败后继续查找新的方法,中间会穿插一些技术细节。

文章主线如下:

  1. 明确使用场景和困难。
  2. 如何解决,这是一个不断推翻重来的过程。
  3. 回顾总结

0x01 问题来了!

本章作用主要有二:

  1. 明确业务背景和使用场景
  2. 明确困难所在

1. 业务背景和使用场景

按照惯例,我又来到了一家电商网站来工作,我们有一张十分重要的表:用户和购买过的商品表。

如下图,该表只有三个字段,分别是用户ID、商品ID。我们可以简单地理解这是一张事实表。对事实表没印象的可以参考这篇《漫谈数据仓库之维度建模》

我们暂且不管当初为何这样设计的,现在的情况就是

列名 字段类型
user_id st
  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值