自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 kafka Failed to send messages after 3 tries 问题解决

使用Kafka_2.11-0.9.0.0生产者API出现错误:Exception in thread "main" kafka.common.FailedToSendMessageException: Failed to send messages after 3 tries.下面是生产者代码:import java.util.Properties;/** * Kafka生产者API */...

2018-05-06 19:33:32 660

转载 认识SparkSQL的Catalyst

SparkSQL的优化器系统Catalyst和大多数当前的大数据SQL处理引擎设计基本相同(Impala、Presto、Hive(Calcite)等),因此通过本文的学习也可以基本了解所有其他SQL处理引擎的工作原理。SQL优化器核心执行策略主要分为两个大的方向:基于规则优化(RBO)以及基于代价优化(CBO),基于规则优化是一种经验式、启发式地优化思路,更多地依靠前辈总结出来的优化规则,简单易行...

2018-05-03 09:36:23 380

原创 Spark RDD、DataFrame、Dataset的区别

Resilient Distributed Dataset (RDD)RDD是一个不可变的分布式的数据元素集合,RDD中的元素在集群上是分区的,提供了Transformation和Action两种并行操作。优点:强类型,编译时类型安全,符合面向对象的编程思想,可以处理结构化数据和非结构化数据。缺点:默认采用的是Java序列化方式,无论是集群间的通信,还是IO操作都需要对对象的结构和数据进行序列化和...

2018-04-26 10:05:03 345

转载 通过分区提高Spark的运行性能

查找质数    比如我们需要从2到2000000之间寻找所有的质数。我们很自然地会想到先找到所有的非质数,剩下的所有数字就是我们要找的质数。  我们首先遍历2到2000000之间的每个数,然后找到这些数的所有小于或等于2000000的倍数,在计算的结果中可能会有许多重复的数据(比如6同时是2和3的倍数)但是这并没有啥影响。我们在Spark shell中计算: Welcome to __...

2018-04-23 15:21:20 552

转载 Spark会把数据都载入到内存么

前言很多初学者其实对Spark的编程模式还是RDD这个概念理解不到位,就会产生一些误解。比如,很多时候我们常常以为一个文件是会被完整读入到内存,然后做各种变换,这很可能是受两个概念的误导:1、RDD的定义,RDD是一个分布式的不可变数据集合;2、Spark 是一个内存处理引擎如果你没有主动对RDD进行Cache/Persist等相关操作,它不过是一个概念上存在的虚拟数据集,你实际上是看不到这个RD...

2018-04-23 15:04:46 2305 1

转载 影响Spark输出RDD分区的操作函数

会影响到Spark输出RDD分区(partitioner)的操作cogroup, groupWith, join, leftOuterJoin, rightOuterJoin, groupByKey, reduceByKey, combineByKey, partitionBy, sort, mapValues(如果父RDD存在partitioner), flatMapValues(如果父RDD存...

2018-04-22 17:01:28 614

原创 HDFS总结

概述    首先,它是一个文件系统,用于存储文件,通过统一的命名空间——目录树来定位文件。其次,它是分布式的,由很多服务器联合起来实现其功能。    HDFS中的文件在物理上是分块存储(block),块的大小可以通过配置参数( dfs.blocksize)来规定,默认大小在hadoop2.x版本中是128M,老版本中是64M。   HDFS文件系统会给客户端提供一个统一的抽象目录树,客户端通过路径...

2018-04-22 13:43:34 506

转载 Spark并发度

梳理一下Spark中关于并发度涉及的几个概念File,Block,Split,Task,Partition,RDD以及节点数、Executor数、core数目的关系。输入可能以多个文件的形式存储在 HDFS 上,每个 File 都包含了很多块,称为 Block。当 Spark 读取这些文件作为输入时,会根据具体数据格式对应的 InputFormat 进行解析,一般是将若干个 Block 合并成一个...

2018-04-20 20:57:36 2862

原创 Spark中的cache() persist() checkpoint()之间的区别

cache与persist的区别/** Persist this RDD with the default storage level (`MEMORY_ONLY`). */def cache(): this.type = persist()/** * Set this RDD's storage level to persist its values across operations...

2018-04-20 20:32:54 2812

原创 Spark中repartition和partitionBy的区别

    repartition 和 partitionBy 都是对数据进行重新分区,默认都是使用 HashPartitioner,区别在于partitionBy 只能用于 PairRdd,但是当它们同时都用于 PairRdd时,结果却不一样:    不难发现,其实 partitionBy 的结果才是我们所预期的,Why?我们打开 repartition 的源码进行查看:def repartitio...

2018-04-17 21:45:36 8452 2

原创 ArrayList源码解析(基于JDK1.8.0_144)

ArrayList简介public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable    ArrayList 是一个数组队列,相当于动态数组。与Java中的数组相比,它的容量能动...

2018-04-17 15:05:19 301

空空如也

空空如也

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

TA关注的人

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