记pykafka的一个问题

pykafka的使用问题 由于业务需要,需使用kafka,由于底层使用的是python,要是使用python的API 现有的包有kafka-python和pykafka,前者需要自己手动管理消费者的offset,比较麻烦,pykafka可使用zk管理offset,相对简单 pykafka De...

2019-03-19 17:29:52

阅读数 42

评论数 0

spark常用RDD的练习

spark的核心RDD 1.RDD是什么?(5个特性) RDD是由一系列partition组成 算子是作用与partition上的(而非RDD) RDD之间有依赖关系 分区器是作用在K-V格式的RDD上 partition对外提供最佳计算位置,利于数据处理的本地化 2.RDD的理解 hdfs...

2018-11-30 14:48:02

阅读数 43

评论数 0

spark的wordcount(scala与java版本)

Scala与java版本的WordCount 1.Scala版本 -涉及算子 textFile,非算子,读取数据,生成一个RDD,RDD的每个元素是文件的一行 flatmap算子:一对一的映射 map算子:一对多的映射 reduceByKey算子:先分组,再reduce sortBy算子:参数1...

2018-11-30 14:45:41

阅读数 53

评论数 0

spark的持久化

spark的持久化 cache persisit checkpoint 以上算子都可以将RDD持久化,持久化的单位是partition。cache和persist都是懒执行的。必须有一个action类算子触发执行。checkpoint算子不仅能将RDD持久化到磁盘,还能切断RDD之间的依赖关系。...

2018-11-30 14:29:52

阅读数 46

评论数 0

设计模式-策略模式

1.策略模式(Strategy Pattern)的适用场景    策略模式就是用来封装算法的,但在实践中,我们发现可以用它来封装几乎任何类型的规则,只要在分析过程中听到需要在不同时间应用不同的业务规则,就可以考虑使用策略模式处理这种变化的可能性。2.策略模式的特点(1)策略模式是一种定义一系列算法...

2018-05-15 11:58:40

阅读数 43

评论数 0

单例设计模式总结-5种常见写法+防止发射反序列化

单例模式是设计模式中最常见的,也是最简单的一种,所谓单例,是需要在任何时候只存在一个对象实例,故显然需要私有化构造器,构造器私有了,要想获得这个实例,故必须在类内部创建对象实例,同时必须提供静态方法来获取,静态方法只能操作静态属性,故内部对象实例需要被static修饰,由于单例,可用final修饰...

2017-10-22 19:20:50

阅读数 252

评论数 0

Java中的volatile关键字详解及单例模式双检锁问题分析

【参考文献】http://www.cnblogs.com/dolphin0520/p/3920373.html 看了好多关于volatile关键字的文章,这篇应该是讲得最清楚的了吧,从Java内存模型出发,结合并发编程中的原子性、可见性、有序性三个角度分析了volatile所起的作用,并从汇编角度...

2017-08-26 22:49:30

阅读数 1251

评论数 0

Java可重入锁与其释放

在学习Java多线程相关的知识时,通常都会涉及锁这个概念,常见的synchronized、Lock均为可重入锁。为了更好的理解可重入锁,需要先理解一下几个问题: 1、谁持有了锁?   2、锁的对象是谁? 3、可重入锁的可重入是什么意思? 一、synchronized关键字 synchronize...

2017-08-26 20:45:25

阅读数 1379

评论数 0

深入分析集合并发修改异常(源码分析)java.util.ConcurrentModificationException

在我们迭代操作集合时,有时可能需要改变集合的元素,若操作不当,经常都会出现不正确的结果或者并发操作异常,如下:Exception in thread "main" java.util.ConcurrentModificationException at java.util.A...

2017-03-13 14:25:42

阅读数 384

评论数 1

JAVA语法细节-中间变量缓存机制

在程序设计中,我们经常遇到 i++ 或 ++i 等变量自加操作,一般来说,如 i=0; x=i++ 很容易就会思考到 i 是先使用,后自加,然后x=0; i=1;  对于 x=++i ; 则是先自加,再引用, i=i+1,即i=1 ;再执行x=1;  这也是通常老师上课为大家这么分析的,那么对于 ...

2017-03-13 10:19:02

阅读数 216

评论数 0

二叉树的非递归遍历---JAVA实现

二叉树的递归遍历方式是很简单的,当需要用非递归的方式遍历时,就需要借助栈这种数据结构,以前序遍历为例,其定义为先访问根节点,再以前序方式访问左子树,再以前序遍历方式访问右子树,这是个递归的定义。对于前序遍历,最先访问的是根,然后是根左边的孩子,在继续访问孩子的左边孩子,走到底部,再从底部开始倒退回...

2017-03-13 09:24:04

阅读数 236

评论数 1

由浅入深:求给定两个树节点的最低公共祖先(二叉树、普通树结构)JAVA实现

最近看了一道面试题目,觉得很有意思,而且常常被问到,今天综合归纳了一下这道题目,并给出了各种变形题目,附上JAVA版的程序解答。 题目是这样的:寻找二叉树的最低公共祖先?(其中隐含着一个盲点:树是什么树?排序二叉树、普通二叉树、或者不是二叉树?)所以要分别考虑哈各种情况哈 形式一:当树为二叉排序...

2017-02-27 20:34:38

阅读数 736

评论数 0

判断一棵二叉树是否为另一棵二叉树的子结构(JAVA版本)

分析:判断root1是否为root2的子树?首先,必须先找到树1中与树2的根节点相同的节点,然后判断从该节点开始root1中是否root2的结构;若有,则返回true,若没有,则返回false?答案是No! 因为二叉树root1中可能含有值相同的节点,所以,如果没有找到,就需要继续遍历root1....

2017-02-27 20:09:00

阅读数 331

评论数 0

Java多线程-基础篇(一)

多线程---基础篇,本文主要针对多线程的基础进行复习,内容包括线程的理解,创建方式,Thread类函数理解; 1、线程的理解:OS系统角度:每个运行的程序都会被操作系统创建对应的进程(包括分配的资源、PCB等),进程是操作系统分配资源的基本单位(理解:程序运行需要空间,操作系统创建对应进程时就为之...

2017-02-23 20:57:54

阅读数 250

评论数 1

JAVA泛型总结

最近复习了一下关于JAVA泛型方面的内容,在此做一下简单的总结,分一下几个方面介绍: 1、泛型带来的优点 2、泛型类泛型接口和泛型方法 3、通配泛型 4、泛型的限制 泛型简单的说,就是指参数化类型的能力,在未使用泛型之前,如ArrayList类,其中可以存放任意类型的对象,其方法大部分的参数类型都...

2017-02-16 20:31:39

阅读数 635

评论数 0

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