2 MoForest

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 11w+

Spark源码阅读#1:SparkConf详解

1. 类作用我们Spark的代码开头往往是这样的val conf: SparkConf = new SparkConf().setAppName("app").setMaster("local[2]")根据代码和官方的注释可以知道,SparkConf是Spark应用程序的配置类,通常用来设置KV结构的Spark参数。它还具有以下基础的特性。当使用new SparkConf()时,大多数情况下会把系统参数中带有Spark.*格式的参数自动设置到应用中。但是,你通过set方法直接设置的属性优先级会高

2020-08-12 14:46:28

Yarn简介

1.Yarn简介1.1 整体介绍Yarn是Hadoop2.0的新资源管理系统,它主要的用处就是资源的管理和调度,给上层的应用提供统一的服务举个例子中,假如我们需要执行一个MapReduce的任务,任务需要使用哪些节点,怎么让它们协调好,这些都是由Yarn去做的,它充当一个中间管理层的角色,这有一张关系图,一目了然。[外链图片转存失败(img-ofqsREP7-1568022755569...

2019-09-09 17:53:04

Hive详解

1.Hive基本介绍1.1 Hive简介之前有讲过数据仓库的概念,主要就是按主题划分结构。Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射成一张数据库表,并提供类SQL查询功能。通俗来讲就是,我们把需要的数据按照一定的主题拉取到数据仓库中去,数据仓库的底层是Hadoop的HDFS存储,而它的表层会把这种结构化的文件映射成数据库表,然后提供给我们类SQL的查询。...

2019-07-04 21:29:17

MapReduce详解

1.基本介绍1.1 MapReduce简介MapReduce是一种编程模型,也就是说它实际上是一种概念,而Hadoop的MapReduce的框架是概念的具体实现。它最早是由Google公司提出的,基于文件的分布式存储(GFS/HDFS)来实现对大规模数据的并行处理,并且Hadoop的作者就是从Google发的论文中受到了启发而写出目前最主流的大数据Hadoop框架。1.2 基本概念...

2019-06-28 21:02:27

Kylin原理详解

1. 基本介绍1.1 Kylin简介Kylin就是一个解决TB级别数据的数据分析需求的系统,通过预计算方式缓存了所有需要查询的数据结果,需要大量的存储空间。1.2 为什么出现首先需要明确OLAP和OLTP的概念。简单来说OLTP(联机事务处理过程) 是面向交易过程的,特点就是需要即时处理。OLAP(联机分析处理) 支持复杂分析操作,侧重于对决策的支持,要求快速的对大数据量进行查询...

2019-06-11 20:43:31

HBase详解

1. 基本介绍1.1 HBase概念HBase是一种建立在Hadoop文件系统(利用HDFS)上的分布式面向列的数据库,是Hadoop生态系统中的一员。1.2 HBase为什么出现首先,大数据最常用的是Hadoop,它使用分布式文件系统(HDFS)存储大数据,并且通过自己的计算引擎(MapReduce)来处理数据,而MapReduce是函数式编程模型,它适用于处理各种庞大的数据。...

2019-06-06 16:59:33

大数据基础概念

大数据基础大数据通俗意思就是海量数据,通常无法使用常规软件在一定的时间范围内进行捕捉管理或者分析,需要一定的处理模式才能具有更强的决策力、洞察发现力和优化流程能力。数据仓库(DW)面向主题的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。商务智能的基础平台。它是用于支持决策,面向分析型数据处理,不同于操作型数据库(面向应用),多个异构的数据源有效集成,按照主题重组,存放到仓库中...

2019-06-06 10:10:15

深入理解JVM虚拟机——8. 虚拟机字节码执行引擎

8.1 概述执行引擎是Java虚拟机用来执行字节码的,也是这章所讲内容,物理机的执行引擎是直接建立在物理资源层面上的,而虚拟机的执行引擎是自己实现的。8.2 运行时栈帧结构栈帧(Stack Frame) 是用于方法调用和执行的数据结构,它是运行时数据区的虚拟机栈的栈元素。栈帧存储了方法的各种信息。每一个方法从调用到执行完成都对应一个栈帧在虚拟机入栈出栈的过程。对于执行引擎来说,只有位于...

2018-12-23 11:22:08

深入理解JVM虚拟机——7.虚拟机类加载机制

7.1 概述本章讲解虚拟机如何加载class文件以及class文件进入虚拟机后会发生什么变化。虚拟机把描述类的数据从class文件加载到内存,并对数据校验、转换解析和初始化,最终成为虚拟机可以使用的Java类型。而这些工作不需要进行连接,直接在运行时完成,这种方式灵活性强但会增加性能开销。7.2 类加载的时机类从被加载到虚拟机内存开始到卸载出内存的生命周期有七个阶段。加载(Loa...

2018-12-20 22:23:23

深入理解JVM虚拟机——6. 类文件结构

6.1 概述我们的计算机至今仍然只能认识0和1,所以那些老式的语言例如c/c++,编写的程序直接编译成本地机器码(Native Code),但是最近十年,虚拟机发展的越来越好,所以很多的程序语言选择与操作系统和机器指令集无关的、平台中立的格式作为程序编译后的存储格式。6.2 无关性的基石Java刚诞生时的口号是一次编写,到处运行,而与平台无关最终实现在了操作系统的应用层上:各种平台上...

2018-12-20 09:05:33

深入理解JVM虚拟机——5. 调优实战——idea调优

序书上给了一个Eclipse 的调优例子,最后调优将启动时间降了一倍左右,但是自己用的是idea,所以就想模仿例子将自己的idea也进行调优,而idea启动是很慢的,所以调优一下也是很有必要。调优前idea版本信息IntelliJ IDEA 2018.1.5JRE: 1.8.0_152-release-1136-b39 amd64JVM: OpenJDK 64-Bit Serve...

2018-12-18 15:54:14

深入理解JVM虚拟机——4. 虚拟机性能监控与故障处理工具

4.1 概述给一个系统定位问题时,知识,经验是关键基础,数据是依据数据包括:运行日志、异常堆栈、GC日志、线程快照、堆转储快照等。4.2 JDK的命令行工具本章将介绍bin目录下工具的一部分,主要包括用于监视虚拟机和处理的工具。4.2.1 jps:虚拟机进程状况工具jps(JVM Process Status Tool)可以列出正在运行的虚拟机进程,并显示虚拟机执行主类的名...

2018-12-17 19:41:31

深入理解JVM虚拟机——3. 垃圾回收器与内存分配策略

3.1 概述垃圾收集(Garbage Collection GC),GC的历史比Java还要久远,1960年诞生于MIT的Lisp是第一门使用内存动态分配和垃圾收集技术的语言。而垃圾回收需要考虑三件事情。哪些内存需要回收什么时候回收如何回收Java内存的各个区域中,程序计数器,虚拟机栈,本地方法栈都是线程私有的,也就是随线程诞生或死亡,这三个区域基本在编译期就可以确定。栈帧随方法...

2018-12-17 19:40:58

深入理解JVM虚拟机——2. Java内存区域与内存溢出异常

2.1 概述对于c/c++程序员来说,每一个new操作后面要配对delete/free操作来释放内存,很繁琐。而Java将内存控制权交给了Java虚拟机,使得程序员不需要去关心内存的内在机制,而知专注于代码本身。而这一章将介绍虚拟机是如何使用内存的。2.2 运行时数据区域Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区 域。方法区堆虚拟机...

2018-12-17 19:40:19

深入理解JVM虚拟机——1.走进java

Java技术体系广义上讲,运行于Java虚拟机上的所有程序以及语言都属于Java技术体系sun官方传统定义如下Java程序设计语言各种硬件平台上的Java虚拟机Calss 格式文件JavaApi类库JDK: 语言、虚拟机和Api类库统称为JDK(Java Development Kit)JRE: Api类库中JavaSE子集和Java虚拟机称为JRE(Java Runt...

2018-12-17 19:39:42

合并k个排序链表

问题描述合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[    1->4->5,    1->3-

2018-12-03 18:24:38

Java并发编程——线程安全性

2.1 定义当多个线程访问某个类时,不管何种调度方式,这些线程如何调度执行,在调用代码中不需要额外的同步或协同时,这个类都能表现正确的行为,这个类就是线程安全的。2.2原子性例如上一章说的,一个++操作需要进行读取-修改-写入三步,所以如果两个线程调用同一个非线程安全的函数,并且函数中有类似于a++这样的操作,则可能会出现两个线程同时读为9最后都设置为10,结果就将偏差1,也有可能出现其他不...

2018-12-02 15:37:45

三数相加为零

问题描述给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[[-1, 0, 1],[-1, -1, 2]]暴力法套三层循环,如...

2018-11-26 21:17:33

正则表达式匹配

问题描述给定一个字符串 (s) 和一个字符模式 §。实现支持 ‘.’ 和 ‘*’ 的正则表达式匹配。‘.’ 匹配任意单个字符。‘*’ 匹配零个或多个前面的元素。匹配应该覆盖整个字符串 (s) ,而不是部分字符串。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。示例 1:输入:s = “aa”p =...

2018-11-26 21:17:14

最长回文子串

问题描述示例1:输入:"babad输出: “bab”注意: "aba"也是一个有效答案。示例2:输入: “cbbd”输出: “bb”1. 暴力法1.1 思想1)从最长的子串开始,遍历所有该原字符串的子串;2)每找出一个字符串,就判断该字符串是否为回文;3)子串为回文时,则找到了最长的回文子串,因此结束;反之,则继续遍历。1.2 时间复杂度遍历字符串子串:嵌套一个...

2018-11-26 21:16:02

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。