Hive开发人员如何提升?

今天小P同学咨询我一个问题,他在公司做大数据技术开发,却仅是在用Hive写业务的SQL,感觉好空虚和迷茫。让我给出出主意。


我询问了一下业务,是提取新注册用户的信息。又询问了一下数据规模,大概几千万数据量。最后询问了一下团队,有做数据仓库,实时和算法的。


SQL优化和配置优化

优化现在的业务在Hive上的执行效率。对于具体SQL做优化,对小表使用Map join,Bucket map join或者UDF函数优化。对数据倾斜的group by和join做Sql优化。修改Sql提升执行效率,如提高Job并行度减少Job数量等。对于例行任务的优化,观察Map任务Reduce任务的运行时间调整合适的Map任务和Reduce任务的数量。调整buffer大小以避免Spill发生。调整Copy的启动时间和并行度优化资源利用率。选择数据文件格式,复用JVM等在小P同学的工作场景下,因为业务相对单一并且数据规模不大,感觉SQL优化和配置优化可以深入或者需要深入的地方不多。


Hive深入代码

深入Hive的代码专研,SQL解析,逻辑执行计划生,执行计划优化,物理执行计划生成,任务执行优化和存储优化等。了解其它的开源和商业化的类Hive的SQL计算平台的设计和优化策略。不需要全面深入了解,但是一定要在一个方向上深度专研,比如:选执行计划优化方向,各个主流产品都是如何做的,培养独立思考和自己动手做实验的能力。因为小P同学明年毕业,面临找工作压力,而且自己也比较喜欢专研代码。我推荐了这个方向。


大数据计算技能

熟悉Hive以外的Storm,Spark等不同大数据计算平台及其编程模型,关注大数据计算方向新的产品和技术。学习后应用到实际工作场景中。结合小P的团队,可以在数据仓库任务或者算法任务中尝试一下Spark。因为横向学习一般是在深度学习之后展开,而且小P面临找工作,我并没有推荐这个方向。


业务领域的数据技能

针对具体的业务领域做大数据,用数据建模,数据分析和数据挖掘的能力去解决或者优化具体的业务问题。以后在大数据方向,了解具体业务领域的数据的人才是核心的数据人才。但是这个需要长期的业务积累和数据经验,目前也不适合小P目前的情况。


期待大家也能给我或者小P一点建议,一起来讨论Hive的开发人员的职业发展。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值