自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 HBase之Rowkey设计总结与实战篇

HBase之Rowkey设计总结与实战篇一、引言HBase由于其存储和读写的高性能,在OLAP即时分析中越来越发挥重要的作用,在易观精细化运营产品–易观方舟也有广泛的应用。作为Nosql数据库的一员**,HBase查询只能通过其Rowkey来查询(Rowkey用来表示唯一一行记录),Rowkey设计的优劣直接影响读写性能。**HBase中的数据是按照Rowkey的ASCII字典顺序进行全局...

2019-03-27 22:04:39 856

原创 Hbase优化

Hbase优化1.预先分区默认情况下,在创建 HBase 表的时候会自动创建一个 Region 分区,当导入数据的时候,所有的 HBase 客户端都向这一个 Region 写数据,直到这个 Region 足够大了才进行切分。一种可以加快批量写入速度的方法是通过预先创建一些空的 Regions,这样当数据写入 HBase 时,会按照 Region 分区情况,在集群内做数据的负载均衡。2.Row...

2019-03-27 20:15:30 224

原创 HBase的读写流程

HBase的读写流程我们看到HBase集群的物理模型,包括:Client、ZooKeeper、HMaster、HRegionServer、HLog、HRegion、Store、StoreFile、MemStore。对于HBase,它的元数据存放在ZooKeeper中,真实数据存放在MemFile(内存)和StoreFile(HDFS)中。一. 写数据过程写过程1.Client访问ZK,根...

2019-03-27 20:00:10 526

原创 Hbase架构与原理

一:HBase的概念HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBa...

2019-03-27 18:49:31 374

原创 Hadoop对小文件的解决方案

一:小文件概念指的是那些size比HDFS的block size(默认64M)小的多的文件。任何一个文件,目录和block,在HDFS中都会被表示为一个object存储在namenode的内存中, 每一个object占用150 bytes的内存空间。所以,如果有10million个文件, 每一个文件对应一个block,那么就将要消耗namenode 3G的内存来保存这些block的信息。如果规模...

2019-03-25 22:22:14 456

原创 Spark mapPartition方法与map方法的区别

rdd的mapPartitions是map的一个变种,它们都可进行分区的并行处理。两者的主要区别是调用的粒度不一样:map的输入变换函数是应用于RDD中每个元素,而mapPartitions的输入函数是应用于每个分区。假设一个rdd有10个元素,分成3个分区。如果使用map方法,map中的输入函数会被调用10次;而使用mapPartitions方法的话,其输入函数会只会被调用3次,每个分区调用...

2019-03-22 14:17:59 261

原创 Spark中repartition和coalesce的区别与使用场景解析

repartition和coalesce都是进行RDD的重新分区操作,那么他们有什么区别与各自合适的使用场景呢,我们来看下边的源码def repartition(numPartitions: Int)(implicit ord: Ordering[T] = null): RDD[T] = withScope { coalesce(numPartitions, shuffle = true)...

2019-03-22 12:49:50 3296

原创 HSQL转换成MapReduce过程

hive的库、表等数据实际是hdfs系统中的目录和文件,让开发者可以通过sql语句, 像操作关系数据库一样操作文件内容, 比如执行查询,统计,插入等操作。一直很好奇hive是如何做到这些的。通过参考网上几篇不错的文档, 有点小心得分享出来。主要的参考链接http://tech.meituan.com/hive-sql-to-mapreduce.htmlhttp://www.slideshare...

2019-03-21 18:41:07 388

原创 Hive数据倾斜及处理

数据倾斜的直白概念:数据倾斜就是数据的分布不平衡,某些地方特别多,某些地方又特别少,导致的在处理数据的时候,有些很快就处理完了,而有些又迟迟未能处理完,导致整体任务最终迟迟无法完成,这种现象就是数据倾斜。针对mapreduce的过程来说就是,有多个reduce,其中有一个或者若干个reduce要处理的数据量特别大,而其他的reduce处理的数据量则比较小,那么这些数据量小的reduce很快就可...

2019-03-21 18:25:44 519

原创 数据库分表处理设计思想和实现

数据库分表处理设计思想和实现一、概述分表是个目前算是比较炒的比较流行的概念,特别是在大负载的情况下,分表是一个良好分散数据库压力的好方法。首先要了解为什么要分表,分表的好处是什么。我们先来大概了解以下一个数据库执行SQL的过程:接收到SQL --> 放入SQL执行队列 --> 使用分析器分解SQL --> 按照分析结果进行数据的提取或者修改 --> 返回处理结果当...

2019-03-13 09:37:21 528

原创 Flume的开发之 自定义 source 自定义 sink 自定义拦截器

一:开发相关加入 jar 包依赖:<dependency><groupId>org.apache.flume</groupId><artifactId>flume-ng-core</artifactId><version>1.5.2</version></dependency&gt

2019-03-11 22:27:27 466

原创 Flume的安装与使用

一:安装和使用Flume 的 rpm 安装方式很简单,这里不做说明。示例1: avro 数据源安装成功之后,在 /etc/flume/conf 目录创建 f1.conf 文件,内容如下agent-1.channels.ch-1.type = memoryagent-1.sources.avro-source1.channels = ch-1agent-1.sources.avro-so...

2019-03-10 22:40:41 145

原创 Flume之介绍 核心组件 可靠性 恢复性

一:介绍Flume 是 Cloudera 提供的日志收集系统,具有分布式、高可靠、高可用性等特点,对海量日志采集、聚合和传输,Flume 支持在日志系统中定制各类数据发送方,同时,Flume 提供对数据进行简单处理,并写到各种数据接受方的能力。Flume 使用 java 编写,其需要运行在 Java1.6 或更高版本之上。官方网站:http://flume.apache.org/用户文档:...

2019-03-10 16:14:18 618

原创 生产Spark Streaming 黑名单过滤案例

测试数据(通过Socket传入):20180808,zs20180808,ls20180808,ww黑名单列表(生产存在表):zsls思路:1、原始日志可以通过Streaming直接读取成一个DStream2、名单通过RDD来模拟一份逻辑实现:1、将DStream转成以下格式(黑名单只有名字)(zs,(20180808,zs))(ls,(20180808,ls))(ww...

2019-03-08 08:13:29 253

原创 Spark Shuffle详解剖析

HashShuffle一:概述所谓Shuffle就是将不同节点上相同的Key拉取到一个节点的过程。这之中涉及到各种IO,所以执行时间势必会较长,Spark的Shuffle在1.2之前默认的计算引擎是HashShuffleManager,不过HashShuffleManager有一个十分严重的弊端,就是会产生大量的中间文件。在1.2之后默认Shuffle改为SortShuffleManager,...

2019-03-06 18:08:43 243

原创 外部数据源 之 Plugin 可插拔的方式整合到Spark中/Spark源码中

一:概念理解Plugin 可插拔的方式整合到Spark中/Spark源码中为了在用外部数据源读取文件的时候,本来读取是valui 使他变成一个带schema的df 有具体的信息外部数据源就是把很多东西都封装好了BaseRelation:作用是定义了schema信息TableScan查表 读表 构建RDD(Row)TableScan select a,b,c,d,e from s...

2019-03-06 12:45:23 296

原创 解决数据倾斜一:RDD执行reduceByKey或则Spark SQL中使用group by语句导致的数据倾斜

一:概述有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的性能。二、产生原因**方案适用场景:**对RDD执行reduceByKey等聚合类shuffle算子或者在Spark SQL中使用group by语句进行分组聚合时,比较适用这种方案。方案实现思...

2019-03-06 08:54:44 2165

原创 ODBC和JDBC是做什么的?为初学者理解概念问题

什么是JDBC?JDBC, 全称为Java DataBase Connectivity standard, 它是一个面向对象的应用程序接口(API), 通过它可访问各类关系数据库。JDBC也是java核心类库的一部分。JDBC的最大特点是它独立于具体的关系数据库。与ODBC (Open Database Connectivity)类似, JDBC API 中定义了一些Java类分别用来表示与数...

2019-03-03 08:34:37 2079

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除