[Hadoop] Hive 性能
利用Hive Bulk Inport数据到Hbase
http://wiki.apache.org/hadoop/Hive/HBaseBulkLoad
生成测试数据
/home/bmb/jdk1.6.0_16/bin/java -cp examples.zip examples.CreateLogFile 1 1000000
/home/bmb/jdk1.6.0_16/bin/java -cp examples.zip examples.CreateLogFile 1000000 2000000
/home/bmb/jdk1.6.0_16/bin/java -cp examples.zip examples.CreateLogFile 2000000 3000000
创建性能测试表
不带压缩的测试表
drop table p_test_data;
CREATE TABLE p_test_data (
id INT,
content STRING,
time STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
导入数据
LOAD DATA LOCAL INPATH '/home/iic/hadoop-0.20.2/test_0_1000000.log' INTO TABLE p_test_data;
LOAD DATA LOCAL INPATH '/home/iic/hadoop-0.20.2/test_1000000_2000000.log' INTO TABLE p_test_data;
LOAD DATA LOCAL INPATH '/home/iic/hadoop-0.20.2/test_2000000_3000000.log' INTO TABLE p_test_data;
set mapred.reduce.tasks=1;
select count(a.id) from p_test_data a;
Time taken: 27.265 seconds
select a.id,a.content,a.time from p_test_data a where a.id=1;
Time taken: 18.086 seconds
INSERT OVERWRITE DIRECTORY '/tmp/p_test_data_out'
select a.time,count(1) from p_test_data a group by a.time;
Time taken: 32.899 seconds
带压缩的测试表
(框架检测到输入文件的后缀是.gz和.lzo,就会使用对应的CompressionCodec自动解压缩这些文件 )
drop table p_com_test_data;
CREATE TABLE p_com_test_data (
id INT,
content STRING,
time STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
tar cvf 0_100W.tar test_0_1000000.log
gzip 0_100W.tar
tar cvf 100_200W.tar test_1000000_2000000.log
gzip 100_200W.tar
tar cvf 200_300W.tar test_2000000_3000000.log
gzip 200_300W.tar
导入数据
LOAD DATA LOCAL INPATH '/home/iic/hadoop-0.20.2/0_100W.tar.gz' INTO TABLE p_com_test_data;
LOAD DATA LOCAL INPATH '/home/iic/hadoop-0.20.2/100_200W.tar.gz' INTO TABLE p_com_test_data;
LOAD DATA LOCAL INPATH '/home/iic/hadoop-0.20.2/200_300W.tar.gz' INTO TABLE p_com_test_data;
select a.time,count(1) from p_com_test_data a group by a.time;
Time taken: 26.31 seconds
此例子是针对小量文件的压缩和不压缩的性能测试,虽然不代表最终结果,但是从本次测试可以发现,压缩的效率更高,
可能是因为压缩文件是作为整个Block给Map,减少了InputSplit的检测和分析。
分享到:
相关推荐
在大数据领域,构建一个完整的生态系统是至关重要的,其中包括多个组件,如Hadoop、Spark、Hive、HBase、Oozie、Kafka、Flume、Flink、Elasticsearch和Redash。这些组件协同工作,提供了数据存储、处理、调度、流...
Spark支持多种计算模型,包括批处理、流处理、机器学习和图计算,其核心特性是内存计算,可以显著提升数据处理性能。 Storm是实时数据处理系统,擅长处理连续不断的数据流。与Hadoop和Spark不同,Storm保证每个消息...
Hive 是基于 Hadoop 的数据仓库工具,它可以将结构化的数据文件映射为一张数据库表,并提供 SQL 类似的查询语言(HQL)进行数据查询和分析。在本项目中,Hive 用于对 Hbase 中的数据进行结构化处理和分析,方便进行...
Hadoop Hive的关键特性包括: 1. 扩展性:Hive能够轻松扩展到数千个节点,处理PB级别的数据。 2. 易用性:HiveQL使得非程序员可以编写查询,简化了大数据分析的门槛。 3. 灵活性:支持多种数据格式,如文本、Avro、...
本资源是关于Hive 2.1.1版本与Hadoop 2.7.3版本的集成,特别提到了HiveDrive,这是一个针对Kettle的数据仓库驱动,用于提升ETL(Extract, Transform, Load)过程中的性能。 Hive 2.1.1是Hive的重要版本,它带来了...
Hive 3.1.2是Hive的一个稳定版本,它引入了许多改进和新特性,例如增强的性能、更高的并发性和更好的容错性。 在Hive中,元数据(如表的结构、分区信息等)的存储通常有两种方式:本地元数据存储和远程元数据存储。...
4. **优化性能**:Hive提供了多种性能优化手段,包括分区、桶、物化视图、编译优化等。合理利用这些特性,可以显著提高大数据查询的速度。 总结来说,Hadoop和Hive的组合为大数据处理提供了强大的基础架构。Hadoop...
- Hadoop 3.2.4版本增加了对新特性的支持,提高了性能和稳定性。 - **安装步骤**: - 首先在所有节点上安装JDK,确保版本一致。 - 下载Hadoop 3.2.4的安装包,通常可以从Apache官网获取。 - 配置Hadoop的核心...
总结来说,Hadoop Hive学习配套数据是一个宝贵的资源,它可以帮助你在实践中掌握Hive的各种特性和用法。通过对这些数据库数据的实际操作,你将能够更好地理解Hive在大数据分析中的角色,并提升你的大数据处理技能。
【Hive性能优化及Hive3新特性】 在大数据处理领域,Hive作为一个基于Hadoop的数据仓库工具,常用于大规模数据处理和分析。本章节主要探讨如何优化Hive的性能,以及Hive3引入的新特性。 1. **分区表与分桶表优化** ...
此外,Hive的局限性也需要被认识,例如在涉及到Hadoop底层文件操作的场景,或者全局排序等对性能要求极高的场景,Hive可能不如直接使用MapReduce灵活高效。 针对整个数据处理流程,整体调优之道可以考虑以下几点:...
根据提供的文件信息,我们可以深入探讨Hadoop 3.0.3和Hive 2.3.5的相关知识点。 ### Hadoop 3.0.3 #### 1. Hadoop简介 Hadoop是一个开源软件框架,用于分布式存储和处理大规模数据集。它能够将大量数据分发到多台...
英特尔Hadoop发行版凭借其出色的企业级特性、丰富的功能模块以及广泛的行业应用,成为了企业构建高性能、高稳定性的大数据处理平台的理想选择。无论是电信、金融、医疗还是制造业,都能够从中受益,实现数据驱动的...
为了优化性能,系统可能还需要引入其他组件,如Zookeeper进行集群管理和协调,YARN进行资源调度,以及Hive或Spark进行复杂的数据分析。Hive提供了一种SQL-like接口,使得非编程人员也能对Hadoop数据进行查询,而...
2. 数据模型:Hive中的表、分区、桶的概念,以及如何利用这些特性优化查询性能。 3. SQL查询:掌握HQL(Hive Query Language)的基本操作,如SELECT、JOIN、GROUP BY、HAVING、窗口函数等。 4. 存储和文件格式:了解...
3. **存储格式**: Hive支持多种存储格式,如TextFile、SequenceFile、Parquet和ORC,不同的格式有不同的性能和压缩特性。 4. **视图与UDF**: 视图简化了复杂查询,而用户自定义函数(UDF)允许用户扩展Hive的功能。 ...
### Hive性能优化总结 #### 一、Hadoop与Hive计算框架特性引发的问题 Hadoop作为大数据处理平台,其核心优势在于能够高效处理大规模数据集。然而,在具体的应用场景中,尤其是在Hive作为数据仓库使用时,仍存在...
4. **Hive的JDBC连接**:在Java代码中如何使用Hive JDBC驱动建立与Hadoop集群的连接,执行HQL语句。 5. **Hive与MySQL的交互**:可能涉及到数据迁移、同步或双写场景,需要理解Hive和MySQL的数据模型差异以及转换...
根据提供的文件内容,可以总结出以下关于Hive性能优化的知识点: 1. Hive查询优化实践 - Owen O'Malley作为Hortonworks的创始人兼架构师,长期从事Hive开发工作,与客户密切合作,并有着Hadoop MapReduce与安全性...