Shuffle简介Shuffle的本意是洗牌、混洗的意思,把一组有规则的数据尽量打乱成无规则的数据。而在MapReduce中,Shuffle更像是洗牌的逆过程,指的是将map端的无规则输出按指定的规则“打乱”成具有一定规则的数据,以便reduce端接收处理。其在MapReduce中所处的工作阶段是m ...
HiveSQL常用优化方法总结
转自 公众号 大数据技术与架构 原文链接 HiveSQL常用优化方法全面总结 Hive作为大数据领域常用的数据仓库组件,在平时设计和查询时要特别注意效率。影响Hive效率的几乎从不是数据量过大,而是数据倾斜、数据冗余、job或I/O过多、MapReduce分配不合理等等。对Hive的调优既包 ...
Spark 数据倾斜及其解决方案
本文从数据倾斜的危害、现象、原因等方面,由浅入深阐述Spark数据倾斜及其解决方案。 一、什么是数据倾斜对 Spark/Hadoop 这样的分布式大数据系统来讲,数据量大并不可怕,可怕的是数据倾斜。 对于分布式系统而言,理想情况下,随着系统规模(节点数量)的增加,应用整体耗时线性下降。如果一台机器处 ...
HIVE之数据倾斜的原因和解决方法
1 数据倾斜的原因1.1 操作 关键词 情形 后果 Join 其中一个表较小,但是key集中 分发到某一个或几个Reduce上的数据远高平均值 大表与大表,但是分桶的判断字段0值或空值过多 这些空值都由一个reduce处理,非常慢 group by group by 维度过小,某 ...
Spark on Yarn部署流程
Spark on Yarn1 原理Spark yarn 模式有两种, yarn-client, yarn-cluster, 其中yarn-client适合测试环境, yarn-cluster适合生产环境。 在详细说明Yarn模式之前, 需要先了解几个名词 ResourceManager: 整个集群只 ...
一文快速搞懂HBase RowKey设计
作者:digger30 链接:https://www.jianshu.com/p/89bcd80890d6 HBase作为一个数据库,在使用中无外乎增删改查操作,这些操作在HBase中都是和RowKey紧密相关的,所以优秀的RowKey设计方案是非常重要的。 RowKey的作用RowKey在 ...
为什么不建议在 HBase 中使用过多的列族
我们知道,一张 HBase 表包含一个或多个列族。HBase 的官方文档中关于 HBase 表的列族的个数有两处描述: A typical schema has between 1 and 3 column families per table. HBase tables should not b ...
Spark Streaming 基本操作
Spark Streaming 基本操作一、案例引入这里先引入一个基本的案例来演示流的创建:获取指定端口上的数据并进行词频统计。项目依赖和代码实现如下: <dependency> <groupId>org.apache.spark</groupId> ...