- 浏览: 220164 次
- 性别:
- 来自: 北京
最新评论
-
yugouai:
下载不了啊。。。
如何获取hive建表语句 -
help:
[root@hadoop-namenode 1 5 /usr/ ...
Sqoop -
085567:
lvshuding 写道请问,sqoop 安装时不用配置什么吗 ...
Sqoop -
085567:
lvshuding 写道请问,导入数据时,kv1.txt的文件 ...
hive与hbase整合 -
lvshuding:
请问,sqoop 安装时不用配置什么吗?
Sqoop
文章列表
转自 :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 针对不同的查询进行了优化,优化可以通过配置进行控制,本文将介绍部分优化的策略以及优化控制选项。
列裁剪(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