• 1.hive数据库调优之路


    1.关于in使用的悲剧。

                目前公司使用db2数据库(主要),另外也有部分的大数据相关的业务,数据量超级大,主要有hive,hbase,spark等。今天终于有机会在大数据平台hive上跑数据,异常的兴奋,三下五除二写完了代码,开始跑。故事就这么开始了。

    涉及到的表有:temp_A(a1,b1,c1):字段有3个,数据量:1600行左右。

                             temp_B (a1,b1,d,e.....)字段至少三十个,数据量:1600多亿条数据。

    进行了如下的查询:

           select b.phone_number,b.option_times from temp_A   a

                   left join temp_B on  b  on a.a1=b.a1 and a.b1=b.b1  

           where x_id='3423' and op_num='2323' and option_time in('201401 ',' 201402','201403');

          在hive平台进行调度,跑了10分钟,map任务执行了8%,并且严重的占用了资源,导致其他同事的程序也跑不了,最后找到了我的头上,kill了程序。

    进行修改:

       建立临时表temp_C      

    for i in 201401 201402 201403

        do 

    insert into  table temp_C  

      select a1 ,b1,phone_number,opsition_time from temp_B where  x_id='3423' and op_num='2323' and option_time =${i}

    done

       执行完毕后temp_c的数据量大概有23万之多。此程序的调度时间大概10分钟就跑完了。剩下的问题就简单了 。

    总结:上述说明了两个问题,第一,大数据,hive可以处理的数据量很大,处理数据的能力也很强,但是这并不代表你可以 为所欲为的占用资源;第二,不管是sql还是hql语言,调优很重要。

    温馨提示:在hive中insert语句:insert into table tab_name.

    -----------------------------------------------------完美分根线--------------------------------------------------------------

    ----------------------周末我会对hive的基础 操作和概念进行一些简单的总结,谢谢大家支持。假装有很多人【傲娇】------------

          

    2.Java开发

    我们不一样
  • 相关阅读:
    py笔记之循环结构
    PY学习记录#5
    PY学习记录#4
    py笔记之选择结构
    PY学习记录#3
    分享一个可以随时随地写代码的工具
    PY学习记录#2
    日记啊
    Tarjan学习笔记
    Docker commands
  • 原文地址:https://www.cnblogs.com/bug-mark/p/8313491.html
Copyright © 2020-2023  润新知