`
085567
  • 浏览: 213586 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hiveQL 优化

    博客分类:
  • hive
阅读更多

1.当hive执行join内存溢出时,可以修改hive的配置文件hive-site.xml,增大内存,如下: mapred.child.java.opts -Xmx 1024m

2.hive默认建表时的路径也可以在hive-site.xml里配置,如下: hive.metastore.warehouse.dir value >/user/hive/warehouse description >location of default database for the warehouse

3.执行join操作的时候,尽量把小表放前面,大表放前面可能会因为内存溢出而出错

4.对分区表进行操作需要对分区进行过滤(如:ds=$yday)。 特别是在JOIN操作的时候,分区过滤(如:ds=$yday)需要放到 ON语句 或子查询 里面。不能放到ON后面的WHERE里,这样会扫描所有表,最后才判断分区。也就是说程序会先执行JOIN操作,才会执行最后的WHERE操作。

5.在JOIN操作中,后面被连续JOIN且同一字段,只会执行一个mapreduce操作。 SELECT * FROM a LEFT OUTER JOIN b ON a.t=b.t LEFT OUTER JOIN c ON a.t=c.t; 推荐的 SELECT * FROM a LEFT OUTER JOIN b ON a.t=b.t LEFT OUTER JOIN c ON b.t=c.t; 效率低下的

6.当一个大表和一个很小的表进行JOIN操作的时候,使用MAPJOIN操作,这样会把小表读入内存进行JOIN,只需要一个map操作JOIN就完成了 select /*+ mapjoin(a)*/ a.c1,b.c2,b.c3 from a join b on a.c4=b.c4;

7.通过设置hive.merge.mapfiles可以关闭hive对于扫描表的优化,但有时候会提高效率。默认值为true。可以视情况设置:只含有SELECT的语句 或 MAPJOIN 推荐使用

8.ALTER TABLE a SET SERDEPROPERTIES('serialization.null.format' = ''); 可以使结果表不出现\N字符串,而用空串代替

分享到:
评论

相关推荐

    HiveSQL详细和优化

    HiveSQL详细和优化,以及部分个人点评 This is a brief tutorial that provides an introduction on how to use Apache Hive HiveQL with Hadoop Distributed File System. This tutorial can be your first step ...

    hive 中join和Group的优化

    group by 优化 set hive.map.aggr = true; //是否在 Map 端进行聚合,默认为 True ;该设置会消耗更多的内存。 set hive.groupby.mapaggr.checkinterval = 100000000; //在 Map 端进行聚合操作的条目数目 set hive....

    Hive编程PDF

    《Hive编程指南》是一本ApacheHive的编程指南,旨在介绍如何使用Hive的SQL方法——HiveQL来汇总、查询和分析存储在Hadoop分布式文件系统上的大数据集合。《Hive编程指南》通过大量的实例,首先介绍如何在用户环境下...

    MapReduce计算框架

    Driver组件:将HiveQL(类SQL)语句进行解析、编译优化,生成执行计划,然后调用底层的MapReduce计算框架。

    SparkSql和DataFrame实战.docx

    Spark SQL的一个用途是执行使用基本SQL语法或HiveQL编写的SQL查询。Spark SQL还可以用于从现有的Hive安装中读取数据。有关如何配置此功能的更多信息,请参考Hive表格部分。当从另一种编程语言中运行SQL时,结果将...

    Hive视频教程详解及实战.rar

    Hive视频教程详解及实战视频教程,课程由浅入深,介绍了Hive基本架构及环境部署,带领大家认识数据仓库Hive的优势及Hive具体使用。并通过企业实际需求分析,讲解HiveQL中的DDL和DML的使用,以及常见的性能优化方案。

    大数据之运维.pptx

    大数据运维 郭现伟 大数据之运维全文共12页,当前为第1页。 大数据知识图谱 大数据之运维全文共12页,当前为第2页。 大数据运维知识图谱 大数据之运维全文共12页,当前... 解释器、编译器、优化器、执行器 解释器、编译

    Hadoop实战中文版

    10.5.3 关系型运算符 10.5.4 执行优化 10.6 用户定义函数 10.6.1 使用UDF 10.6.2 编写UDF 10.7 脚本 10.7.1 注释 10.7.2 参数替换 10.7.3 多查询执行 10.8 Pig 实战——计算相似专利的例子 10.9 小结 第...

    Hadoop实战(陆嘉恒)译

    Hive及Hadoop群11.1 Hive11.1.1 安装与配置Hive11.1.2 查询的示例11.1.3 深入HiveQL11.1.4 Hive小结11.2 其他Hadoop 相关的部分11.2.1 HBase11.2.2 ZooKeeper11.2.3 Cascading11.2.4 Cloudera11.2.5 Katta11.2.6 ...

    Hadoop实战

    18710.5.3 关系型运算符 18910.5.4 执行优化 19610.6 用户定义函数 19610.6.1 使用UDF 19610.6.2 编写UDF 19710.7 脚本 19910.7.1 注释 19910.7.2 参数替换 20010.7.3 多查询执行 20110.8 Pig实战——计算相似专利的...

    Hadoop实战中文版.PDF

    18910.5.4 执行优化 19610.6 用户定义函数 19610.6.1 使用UDF 19610.6.2 编写UDF 19710.7 脚本 19910.7.1 注释 19910.7.2 参数替换 20010.7.3 多查询执行 20110.8 Pig实战——计算相似专利的例子 ...

Global site tag (gtag.js) - Google Analytics