1. Hadoop配置压缩算法(Hadoop的配置属性,Hive读取core-site.xml文件中的配置,可以再hive-site.xml中配置以覆盖Hadoop中的配置)
key: io.compression.codecs
value:org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.BZip2Codec,org.apache.hadoop.io.compress.SnappyCodec
压缩算法压缩/解压缩的速度与压缩比之间取得一个平衡,
GZip,BZip2的压缩比高,压缩速度相对低;
Snappy,LZO的压缩比低,但是压缩解压缩的速度很高。
BZip2,LZO支持压缩文件分block后的并行处理,而GZip和Snappy则不可以。要使用GZip和Snappy,推荐使用Block压缩的Sequence File
压缩文件是否支持分割?
数据压缩成GZIP,BZIP2,Snappy或者LZO格式后,这个压缩文件如果比较大,比如1G,那么HDFS将它分成10个block(每个block是128M),那么每个分块是否支持
并行处理?
答:
1.
In text files, each line is a record, but these boundaries are obscured by GZip and Snappy.
However, BZip2 and LZO provide block-level compression, where each block has
complete records, so Hadoop can split these files on block boundaries.
Hive属性配置
1. hive.exec.compress.intermediate
表示是否对MapReduce的Shuffle过程产生的中间数据进行压缩,默认是false,即不压缩
2. mapred.map.output.compression.codec
Shuffle过程产生的中间数据采用的压缩算法
3. hive.exec.compress.output
表示是否对Hive的查询结果数据做压缩,默认是false,表示不压缩
4. mapred.output.compression.codec
表示最终结果(reducer输出)的压缩算法
5.Sequence File文件格式的特点
a. The sequence file format supported by Hadoop breaks a file into blocks and then optionally compresses the blocks in a splittable way(按block压缩,表示SequenceFile得到的分块数据是完整的).
b. Sequence files have three different compression options: NONE, RECORD, and BLOCK.RECORD is the default. However, BLOCK compression is usually more efficient and it still
provides the desired splittability
c.设置Sequence File的压缩类型(compression options)
<property>
<name>mapred.output.compression.type</name>
<value>BLOCK</value>
<description>If the job outputs are to compressed as SequenceFiles,
how should they be compressed? Should be one of NONE, RECORD or BLOCK.
</description>
</property>
d. 使用Sequence File作为最终文件格式(reduce输出数据的文件格式,可以对每个block进行压缩)
hive> set mapred.output.compression.type=BLOCK;
hive> set hive.exec.compress.output=true;
hive> set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;
hive> CREATE TABLE final_comp_on_gz_seq
> ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
> STORED AS SEQUENCEFILE
> AS SELECT * FROM a;
对Sequence File而言,可以使用Gzip进行压缩,原理是Sequence File支持按照块进行压缩(每个块都是完整的数据)
- 浏览: 1068057 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (345)
- Zookeeper (11)
- Hadoop (20)
- Concurrency (0)
- Linux (10)
- 语言入门 (1)
- Maven (10)
- Python (0)
- Lua (1)
- MongoDB (13)
- JSON (8)
- Gson (8)
- css (1)
- Velocity (5)
- Thrift (2)
- Struts2 (6)
- httpclient (1)
- 语言基础 (7)
- Java (12)
- Hessian (4)
- RPC (6)
- Burlap (1)
- HttpInvoker (1)
- ORM (8)
- MyBatis3 (8)
- Spring (3)
- Nginx (6)
- Log4j (2)
- EhCache (3)
- Cache (3)
- Quartz (0)
- Resin (1)
- JVM (9)
- 多线程 (2)
- 架构 (2)
- 备忘 (1)
- 分布式 (5)
- ElasticSearch (1)
- Redis (5)
- Memcached (2)
- Hive (19)
- Sqool (0)
- Storm (2)
- Pig (1)
- Sqoop (1)
- Scala (19)
- Spark (109)
- Kafka (14)
- Spark,Hadoop (1)
- Flume (3)
- Akka (1)
- Mysql (1)
- HBase (13)
- Avro (4)
- Parquet (2)
- 日志分析 (1)
- Mahout (3)
- WSO2 (0)
- 111 (1)
最新评论
-
jchubby:
关于第一个reduceByKey对应的cache,shuffl ...
【Spark三十七】Spark Cache机制 -
bo_hai:
看了你的文章,updateStateByKey 这个方式的使用 ...
【Spark八十八】Spark Streaming累加器操作(updateStateByKey) -
bo_hai:
棒极啦,解决了我的问题。
【Spark七十二】Spark的日志配置 -
tivan:
你好,这个代码生成主要在,那个地方使用。
【Spark105】Spark SQL动态代码生成一 -
zxsz4085:
看楼主这么厉害的样子,请问楼主如何知道类库的版本呢?比如g++ ...
【Thrift一】Thrift编译安装
发表评论
-
【Hive十九】Hive JDBC URL for Kerberos secured cluster
2016-06-08 11:22 3393对于如下的Hive JDBC连接串, !connect j ... -
【Hive十八】Hive QL中使用配置的变量
2016-05-27 13:21 11641. 使用set命令,设置参数 hive>set X ... -
【Hive十七】Hive Thrift Server HA配置
2016-05-24 11:14 3594<property> <name& ... -
【Hive十六】Hive SQL Standard Based Hive Authorization
2016-05-24 10:57 1373启用授权选项,默认是false,后面的授权操作基于此选项为tr ... -
【Hive十四】Hive读写Parquet格式的数据
2015-04-14 18:02 282791. 原始数据 hive> select * f ... -
【Hive十三】Hive读写Avro格式的数据
2015-04-14 17:25 40921. 原始数据 hive> select * fr ... -
【Hive十二】Hive服务
2015-04-08 15:36 8191. metastore [hadoop@hadoop ... -
【Hive十一】Hive数据倾斜优化
2015-04-08 15:03 3706什么是Hive数据倾斜问题 操作:join,gr ... -
【Hive十】Programming Hive学习笔记
2015-04-04 16:30 940第二章 Getting Started 1.Hive最大的 ... -
【Spark八十一】Hive in the spark assembly
2015-03-16 10:54 1401Spark SQL supports most commo ... -
【Hive八】Hive用户自定义生成表函数(UDTF)
2015-03-11 11:30 16631. 什么是UDTF UDTF,是User Def ... -
【Hive七】Hive用户自定义聚合函数(UDAF)
2015-03-11 11:12 5742用户自定义聚合函数,用户提供的多个入参通过聚合计算(求和、 ... -
【Hive六】Hive用户自定义函数(UDF)
2015-03-10 15:08 34821. 什么是Hive UDF Hive是基于Hadoop ... -
【Hive五】HQL查询
2015-03-10 13:36 15081. 查询语句组成 2. 查询语句关键字含义 2 ... -
【Hive四】HQL DML之LOAD和INSERT
2015-03-10 12:55 16961. HQL DML 数据加载语句 LOAD ... -
【Hive三】HQL DDL
2015-03-10 09:57 8861. DDL 1.1 DDL语句 同MySQL的DDL ... -
【Hive二】Hive架构
2015-03-09 20:24 21721. 什么是Hive,Hive是用来做什么的 Hive ... -
【Hive一】Hive入门
2014-12-25 00:12 5850Hive安装与配置 Hive的 ...
相关推荐
本篇将重点讲解如何利用Hive对Protobuf序列化的文件进行读取,以及相关的技术细节。 首先,了解Protobuf(Protocol Buffers)。这是Google开发的一种数据序列化协议,用于结构化数据的序列化,可以看作是XML、JSON...
10. **Apache Commons**: Apache Commons库提供了一些通用的Java工具类,如IO、Lang、Collections等,对Hive JDBC的实现非常有用。 11. **JDBC基础**: 了解JDBC的基本概念,如Connection、Statement、...
#### 五、启动Hive 1. **启动Hive服务**:在终端中运行`hive`命令启动Hive服务。 #### 六、常见问题解决 在启动Hive时可能会遇到以下异常: **异常信息**: ``` Exception in thread "main" java.lang....
hive jdbc jar包用于hive连接数据库驱动
import org.apache.hadoop.hive.serde2.io.TimestampWritable; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; public class UDFNowDate...
1. 创建一个Java项目,引入Hive相关的依赖库,如`hive-exec`和`hive-serde`。 2. 编写一个名为`Base64UDF`的类,继承`org.apache.hadoop.hive.ql.udf.generic.GenericUDF`。这个类将包含加密和解密方法。 ```java ...
Hive的架构优化是课程的重点,包括降低IO负载、表分区、动态分区、压缩和分布式缓存等技术,以提升Hive的性能。 针对HQL的优化,课程将深入探讨具体的策略和方法,包括Map和Reduce的优化、数据倾斜问题的解决,以及...
分区允许数据按特定的维度(如日期、地区等)进行组织,使得针对特定分区的查询只需要扫描部分数据,减少了不必要的IO操作。 2. 压缩:启用数据压缩可以减少存储空间并提高读取速度。Hive支持多种压缩格式,如Gzip...
HiveHBaseTableOutputFormat cannot be cast to org.apache.hadoop.hive.ql.io.HiveOutputFormat 问题的补丁,替换jars文件夹下的对应jar包即可,版本spark2.1
例如,在Python中,我们可以使用`pyhive`库连接Hive并调整参数,而在Scala中,可以直接调用SparkSession的相关方法来修改配置。 DataX是阿里巴巴开源的一款数据同步工具,它支持多种数据源之间的数据迁移。虽然...
- 调整`io.sort.mb`参数,优化内存中的排序过程。 #### 三、JOB优化 除了上述针对Hive本身的优化外,还可以从Job的配置层面进行调优。 1. **资源分配**: - 根据实际需求调整`yarn.nodemanager.resource.cpu-...
《Hive编程指南》是一本深入探讨Hive技术的教程,专门为那些想要利用Hadoop进行大规模数据处理的读者设计。Hive是建立在Hadoop生态系统之上的一种数据仓库工具,它允许用户通过SQL-like语言(HQL)对分布式存储的...
### Hive进阶强化必备知识点详解 #### 一、HiveThrift服务启动及连接方法 在Hive的日常管理和使用过程中,Hive...通过以上知识点的学习,可以帮助我们更好地理解和掌握Hive的相关技能,提高数据分析和处理的效率。
具体修改的源码类未在描述中给出,但通常这类bug修复会涉及解析、执行或统计相关类的改动,你可能需要查看该JIRA问题的具体详情以确定需要修改哪些文件。 完成所有修改后,使用Maven进行编译: ```shell cd apache...
标题《Hive及Hadoop作业调优》与描述《阿里巴巴内部hive优化经验文档》指明了本文档的核心内容,它涉及到了在大数据处理领域内,如何针对Hive以及Hadoop作业进行优化的详细方法和经验分享。标签“hive”, “hadoop”...
SparkSQL通过Hive创建DataFrame问题分析 问题一 Caused by: org.apache.spark.sql.catalyst.analysis.NoSuchTableException: Table or view 'stu' not found in database 'default'; 分析:确实没有临时表View,...
- **空值关联问题**:通过添加条件或使用`CASE`语句避免空值参与关联,减少Job数量和IO操作。 - **不同类型ID关联**:确保关联字段的数据类型一致,避免类型转换带来的倾斜问题。 - **利用Hive对UNION ALL的优化*...
2. HDFS抛出错误(java.io.IOException: config()) 这种情况可能是由于HDFS中的配置文件存在问题,导致HDFS无法正常工作的情况。可以通过检查HDFS的配置文件,确保其正确性和完整性来解决这个问题。 Hadoop和Hive...