`
085567
  • 浏览: 214925 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
转自 :http://www.tbdata.org/archives/622   使用Hive可以高效而又快速地编写复杂的MapReduce查询逻辑。但是某些情况下,因为不熟悉数据特性,或没有遵循Hive的优化约定,Hive计算任务会变得非常低效,甚至无法得到结果。一个”好”的Hive程序仍然需要对Hive运行机制有深入的了解。 有一些大家比较熟悉的优化约定包括:Join中需要将大表写在靠右的位置;尽量使用UDF而不是transfrom……诸如此类。下面讨论5个性能和逻辑相关的问题,帮助你写出更好的Hive程序。 全排序 Hive的排序关键字是SORT BY,它有意区别于传统数据库的O ...
String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver";    try {      Class.forName(driverName);    } catch (ClassNotFoundException e) {      // TODO Auto-generated catch block      e.printStackTrace();      System.exit(1);    }    Connection con = DriverManager.getConnection(" ...

hive优化

    博客分类:
  • hive
Hive 针对不同的查询进行了优化,优化可以通过配置进行控制,本文将介绍部分优化的策略以及优化控制选项。 列裁剪(Column Pruning) 在读数据的时候,只读取查询中需要用到的列,而忽略其他列。例如,对于查询: SELECT a,b FROM T WHERE e < 10; 其中,T 包含 5 个列 (a,b,c,d,e),列 c,d 将会被忽略,只会读取a, b, e 列 这个选项默认为真: hive.optimize.cp = true 分区裁剪(Partition Pruning) 在查询的过程中减少不必要的分区。例如,对于下列查询: ...
Hive 是什么 在接触一个新的事物首先要回到的问题是:这是什么? 这里引用 Hive wiki 上的介绍: Hive is a data warehouse infrastructure built on top of Hadoop. It provides tools to enable easy data ETL, a mechanism to put structures on the data, and the capability ...
Hive 是一个很开放的系统,很多内容都支持用户定制,包括: 文件格式:Text File,Sequence File 内存中的数据格式: Java Integer/String, Hadoop IntWritable/Text 用户提供的 map/reduce 脚本:不管什么语言,利用 stdin/stdout 传输数据 用户自定义函数: Substr, Trim, 1 – 1 用户自定义聚合函数: Sum, Average…… n – 1 File Format   TextFile SequenceFIle RCFFile Data type ...
1:Shuffle Error: Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-outAnswer:程序里面需要打开多个文件,进行分析,系统一般默认数量是1024,(用ulimit -a可以看到)对于正常使用是够了,但是对于程序来讲,就太少了。修改办法:修改2个文件。 ...
<property> <name>mapred.min.split.size</name> <value>268435456</value> <description>决定了每个 Input Split的最小值,也间接决定了一个Job的map 数目。 这里设置为256M,默认64M,有效减少了map的数量,因为在大数据量时, map数量过大并不一定速度就快,而1个进程处理256M数据也是很快的 ...
Sqoop是什么? 它是一个工具,一个在Hadoop和关系型数据库之间进行数据导入导出,它将这个过程中的大部分步骤自动执行,简化了使用者的。同时,它将整个数据导入导出过程用MapReduce进行实现,充分利用了Hadoop分布式的优点. 实例场景 广告PV记录,包含广告ID,PV时间,访问IP三项信息数据规模:1700万原始位置:本机MySQL数据库 Sqoop从DB到HDFS 格式: sqoop import (generic-args) (import-args) 常用参数:–connect (jdbc-uri)       Specify JDBC connect str ...
  Hive与HBase的整合功能的实现是利用两者本身对外的API接口互相进行通信,相互通信主要是依靠hive_hbase-handler.jar工具类 (Hive Storage Handlers), 大致意思如图所示: 口水: 对 hive_hbase-handler.jar 这个东东还有点兴趣,有空来磋磨一下。 一、2个注意事项:1、需要的软件有 Hadoop、Hive、Hbase、Zookeeper,Hive与HBase的整合对Hive的版本有要求,所以不要下载.0.6.0以前的老版 本,Hive.0.6.0的版本才支持与HBase对接,因此在Hive的lib目录下可以看见多了 ...
转自:http://www.db2china.net/club/thread-11637-1-1.html 最近分析和比较了Hive和并行数据仓库的架构,本文记下一些体会。Hive是架构在Hadoop MapReduce Framework之上的开源数据分析系统。 Hive具有如下特点:1. 数据以HDFS文件的形式存储,从而 ...
应用crontab定时将数据导入到hive中:在调用/bin/hive -f 'loadData.sql' 的时候,报错:Cannot find hadoop installation: $HADOOP_HOME must be set or hadoop must be in the path。 查资料得知是由环境变量在crontab中不一定可识别引起的。于是在脚本中前面加入export HADOOP_HOME=/home/work/hadoop-0.20.2  问题解决。也可以加这句话/home/work/.bashrc   引用某博客的一句话: crontab中必须十分注意环境变量 ...
转自:http://blog.csdn.net/dajuezhao/archive/2010/07/21/5753055.aspx 一、背景 1、在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作。有时候只需要扫描表中关心的一部分数据,因此建表时引入了partition概念。 2、分区表指的是在创建表时指定的partition的分区空间。 3、如果需要创建有分区的表,需要在create表的时候调用可选参数partitioned by,详见表创建的语法结构。 二、技术细节 1、一个表可以拥有一个或者多个分区,每个分区以文件夹的形式单独存 ...
一、 创建表     在官方的wiki里,example是这样的: CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name   [(col_name data_type [COMMENT col_comment], ...)]   [COMMENT table_comment]   [PARTITIONED BY (col_name data_type     [COMMENT col_comment], ...)]   [CLUSTERED BY ( ...
http://www.tech126.com/hive-mysql-metastore/ Hive默认是采用Derby来存储其Meta信息的,如下: < property>  < name> javax. jdo. OPTION . ConnectionURL</ name>  < value> jdbc:derby:// zw- hadoop- master:1527 / metastore_db;create= true</ value>  < description> JDBC connect string ...
MongoDB资料-MongoDB.The.Definitive.Guide   
Global site tag (gtag.js) - Google Analytics