自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

RayfunC的博客

等待, 寻找机会, 一举颠覆

  • 博客(11)
  • 资源 (1)
  • 收藏
  • 关注

原创 理解 o(1), o(n), o(logn), o(nlogn)

在描述算法复杂度时,经常用到 o (1), o (n), o (logn), o (nlogn) 来表示对应算法的时间复杂度,这里进行归纳一下它们代表的含义:这是算法的时空复杂度的表示。不仅仅用于表示时间复杂度,也用于表示空间复杂度。O 后面的括号中有一个函数,指明某个算法的耗时 / 耗空间与数据增长量之间的关系。其中的 n 代表输入数据的量。比如时间复杂度为 O (n),就代表数据...

2019-04-29 07:37:24 1961

原创 Kafka 本地策略 LocationStragies:PreferConsistent

创建 Direct 方式的 Stream注意导入的包名称以及版本是 org.apache.spark.streaming.kafka010Scala 代码:import org.apache.kafka.clients.consumer.ConsumerRecordimport org.apache.kafka.common.serialization.StringDeserial...

2019-04-27 19:49:48 4479 3

原创 Spark 中 reduceByKey 和 countByKey 的区别

相同点:两者都会根据 key 来分组不同点:reduceByKey:Transormation 类算子,根据用户传入的聚合逻辑对数组内的数据进行聚合, 懒策略, 延迟计算countByKey:Action 类算子,不需要用户传入聚合逻辑,直接对数组内的数据进行统计记录数, 触发计算data.countByKey () 相当于 data.reduceByKey (_+_...

2019-04-26 20:39:51 712

原创 Windows 使用 virtualenv 安装 Jupyter notebook

如果图方便可以直接下载 Anaconda 平台, 包含机器学习的常用工具包如果想要简洁可以使用 Miniconda, 这里介绍这种:1.首先安装 Miniconda进入官网, 下载 windows 对应版本https://docs.conda.io/en/latest/miniconda.html2.安装 virtualenv打开创建一个自定义文件, 使用 dir 查看当...

2019-04-22 09:42:48 323

原创 Ubuntu 更换国内安装源

1. 备份原来的源sudo cp /etc/apt/sources.list /etc/apt/sources_init.list以防以后用到2. 更换源sudo vim /etc/apt/sources.list使用 vim 打开文档,将下边的阿里源复制进去, 覆盖或将原来的注释掉,然后点击保存关闭。阿里源deb http://mirrors.aliyun.com/...

2019-04-20 19:51:46 5090

原创 Thread.currentThread().getContextClassLoader().getResourceAsStream

打个简单的比方,你一个 WEB 程序,发布到 Tomcat 里面运行。首先是执行 Tomcatorg.apache.catalina.startup.Bootstrap 类,这时候的类加载器是 ClassLoader.getSystemClassLoader ()。而我们后面的 WEB 程序,里面的 jar、resources 都是由 Tomcat 内部来加载的,所以你在代码中动态加载 ja...

2019-04-19 08:55:17 3337

原创 Spark 函数 updateStateByKey 解析

updateStateByKey 操作允许您在使用新的信息持续更新时保持任意状态1、定义状态 - 状态可以是任意数据类型。2、定义状态更新功能 - 使用函数指定例如以 DStream 中的数据进行按 key 做 reduce 操作,然后对各个批次的数据进行累加对于有状态操作,要不断的把当前和历史的时间切片的 RDD 累加计算,随着时间的流逝⌛,计算的数据规模会变得越来越大upda...

2019-04-15 19:11:42 1372

原创 理解栈帧和栈的运行原理

栈中的数据都是以栈帧(Stack Frame)的格式存在,栈帧是一个内存区块,是一个数据集,是一个有关方法(Method)和运行期数据的数据集,当一个方法A被调用时就产生了一个栈帧 F1,并被压入到栈中,A方法又调用了 B方法,于是产生栈帧 F2 也被压入栈,B方法又调用了 C方法,于是产生栈帧 F3 也被压入栈,……执行完毕后,先弹出 F3栈帧,再弹出F2栈帧,再弹出F1...

2019-04-08 19:53:07 7173 3

原创 理解 JVM GC 垃圾回收算法

JVM 堆根据对象的生命周期长短特点将其进行分块,根据每块内存区间的特点,使用不同的回收算法,新生代使用了复制算法,老年代使用了标记压缩清除算法, 目的是为了提高垃圾回收的效率。这些算法是什么, 有什么不同?究竟是如何提高效率的呢?算法一:复制算法(Java 中新生代采用)核心思想是将内存空间分成两块,同一时刻只使用其中的一块,在垃圾回收时将正在使用的内存中的存活的对象复制到未使...

2019-04-08 19:29:25 183

原创 对象的四种引用: 强引用, 弱引用, 软引用, 虚引用

JDK1.2 之前定义什么是引用:如果 reference 类型的数据中存储的数值代表的是另一块内存的起始地址,就称这块内存代表着一个引用。强引用就是指在程序代码中普遍存在的,类似 “Object obj = new Object()” 这类的引用,只要强引用还存在,垃圾收集器永远不会回收掉被引用的对象。软引用是用来描述一些还有用但并非必须的对象。对于软引用关联着的对象,在系统...

2019-04-08 18:56:41 332

原创 HUE 连接 MySql 数据库报错 libmysqlclient_r.so.16: cannot open shared object file: No such file

安装 CDH 的 HUE 时连接 MySql 数据库报错查看日志信息:Error loading MySQLdb module: libmysqlclient_r.so.16: cannot open shared object file: No such file or directorylibmysqlclient_r.so.16: cannot open shared objec...

2019-04-03 21:53:27 1050 2

空空如也

空空如也

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

TA关注的人

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