排序:
默认
按更新时间
按访问量

Spark2.1.0之模型设计与基本架构

Spark编程模型      正如Hadoop在介绍MapReduce编程模型时选择word count的例子,并且使用图形来说明一样,笔者对于Spark编程模型也选择用图形展现。      Spark 应用程序从编写到提交、执行、输出的整个过程如图2-5所示。图2-5   代码执行过程图2-5中...

2018-06-12 09:41:32

阅读数:799

评论数:6

Spark2.1.0之模块设计

在阅读本文之前,读者最好已经阅读了《Spark2.1.0之初识Spark》和《Spark2.1.0之基础知识》两篇文章。本文将主要介绍Spark2.1.0版本中的模块设计以及各个模块的功能和特点。整个Spark主要由以下模块组成:Spark Core:Spark的核心功能实现,包括:基础设施、Sp...

2018-06-05 10:00:02

阅读数:708

评论数:2

Spark2.1.0之基础知识

      在阅读本文之前,读者最好已经阅读了《Spark2.1.0之初识Spark》一文,本文将对Spark的基础知识进行介绍。但在此之前,读者先跟随本人来一次简单的时光穿梭,最后还将对Java与Scala在语言上进行比较。版本变迁    经过5年多的发展,Spark目前的版本是2.3.0。Sp...

2018-05-24 09:49:08

阅读数:1058

评论数:0

Spark2.1.0之代码结构及载入Ecplise方法

一、项目结构        在大型项目中,往往涉及非常多的功能模块,此时借助于Maven进行项目、子项目(模块)的管理,能够节省很多开发和沟通成本。整个Spark项目就是一个大的Maven项目,包含着多个子项目。无论是Spark父项目还是子项目,本身都可以作为独立的Maven项目来管理。core是...

2018-05-17 10:01:58

阅读数:569

评论数:0

Spark2.1.0之运行环境准备

       学习一个工具的最好途径,就是使用它。这就好比《极品飞车》玩得好的同学,未必真的会开车,要学习车的驾驶技能,就必须用手触摸方向盘、用脚感受刹车与油门的力道。在IT领域,在深入了解一个系统的原理、实现细节之前,应当先准备好它的运行环境或者源码阅读环境。如果能在实际环境下安装和运行Spar...

2018-05-04 10:15:12

阅读数:1117

评论数:0

Spark2.1.0之初体验

       在《Spark2.1.0之运行环境准备》一文中,已经介绍了如何准备好基本的Spark运行环境,现在是时候实践一下,以便于在使用过程中提升读者对于Spark最直接的感触!本文通过Spark的基本使用,让读者对Spark能有初步的认识,便于引导读者逐步深入学习。运行spark-shell...

2018-05-04 10:01:45

阅读数:3567

评论数:8

Spark2.1.0之剖析spark-shell

        通过在spark-shell中执行word count的过程,让读者了解到可以使用spark-shell提交Spark作业。现在读者应该很想知道spark-shell究竟做了什么呢?脚本分析        在Spark安装目录的bin文件夹下可以找到spark-shell,其中有代...

2018-04-20 09:30:10

阅读数:2013

评论数:0

Spark1.6.0功能扩展——为HiveThriftServer2增加HA

前言 HiveThriftServer2是Spark基于HiveServer2实现的多Session管理的Thrift服务,提供对Hive的集中式管理服务。HiveThriftServer2作为Yarn上的Application,目前只支持yarn-client模式——即Driver运行在本地,A...

2018-04-16 10:10:36

阅读数:635

评论数:0

Spark内核设计的艺术:架构设计与实现——前言

前言为什么写这本书         给这本书写前言,让我想起了两年前给《深入理解Spark:核心思想与源码分析》一书写前言的经历。这让我不禁想起崔护的《题都城南庄》,诗的内容是:去年今日此门中,人面桃花相映红。人面不知何处去,桃花依旧笑春风。         Spark从核心思想和架构来看,它依然...

2018-04-11 14:57:25

阅读数:2750

评论数:14

Spark2.1.0之初识Spark

        随着近十年互联网的迅猛发展,越来越多的人融入了互联网——利用搜索引擎查询词条或问题;社交圈子从现实搬到了Facebook、Twitter、微信等社交平台上;女孩子们现在少了逛街,多了在各大电商平台上的购买;喜欢棋牌的人能够在对战平台上找到世界各地的玩家对弈。在国内随着网民数量的持续...

2018-04-09 09:48:51

阅读数:3311

评论数:12

Spark1.6.0——HiveThriftServer2的生命周期管理

前言 几年前,我在刚刚进入大数据领域的时候,很快就了解到Hive所提供的一种另类的SQL。最初使用Hive的命令行提交任务,后来便用上了HiveServer和HiveServer2。半年前第一次注意到Spark的Thrift服务,当时心中就笃定它肯定与HiveServer2有着某种联系,直到在工作...

2018-03-09 11:43:03

阅读数:3017

评论数:0

Spark2.1命令工具类CommandUtils的源码分析

注:本文是为了配合《Spark内核设计的艺术 架构设计与实现》一书的内容而编写,目的是为了节省成本、方便读者查阅。书中附录F的内容都在本文呈现。 CommandUtils是Spark中最常用的工具类之一,其作用是为了构建进程。如果不太关心其实现也不影响对Spark源码的阅读和原理的学习。我们要介...

2018-03-09 11:40:53

阅读数:356

评论数:0

附录E Hadoop的word count例子

注:本文是为了配合《Spark内核设计的艺术——架构设计与实现》一书的内容而编写,目的是为了节省成本、方便读者查阅。书中附录E的内容都在本文呈现。 这里主要演示Hadoop1.0版本中的word count例子,用于和Spark中的实现对比。package org.apache.hadoop.e...

2018-03-04 16:54:09

阅读数:340

评论数:0

Spark2.1 RPC工具类RpcUtils

注:本文是为了配合《Spark内核设计的艺术 架构设计与实现》一书的内容而编写,目的是为了节省成本、方便读者查阅。书中附录H的内容都在本文呈现。 RpcUtils是RpcEnv中经常用到的工具类,这里讲简要介绍其中提供的方法。lookupRpcTimeout功能描述:根据提供的配置属性列表获取R...

2018-03-01 10:12:50

阅读数:825

评论数:0

附录G Netty与NettyUtils

注:本文是为了配合《Spark内核设计的艺术 架构设计与实现》一书的内容而编写,目的是为了节省成本、方便读者查阅。书中附录G的内容都在本文呈现。 Netty是一个NIO客户端服务器框架,使得开发高性能、高可靠性的网络服务器和客户端程序变得快速且容易。它极大地简化化了网络编程,如TCP和UDP套接...

2018-02-07 09:39:31

阅读数:1279

评论数:0

附录C Jetty与JettyUtils

注:本文是为了配合《Spark内核设计的艺术 架构设计与实现》一书的内容而编写,目的是为了节省成本、方便读者查阅。书中附录C的内容都在本文呈现。Jetty简介 Jetty是一个开源的,以Java作为开发语言的servlet容器。它的API以一组JAR包的形式发布。Jetty容器可以实例化成一个对象...

2018-02-04 18:28:35

阅读数:1903

评论数:0

附录D Metrics简介

注:本文是为了配合《Spark内核设计的艺术——架构设计与实现》一书的内容而编写,目的是为了节省成本、方便读者查阅。书中附录D的内容都在本文呈现。 Metrics是codahale提供的第三方度量仓库。Metrics作为一款监控指标的度量类库,可以为第三方库提供辅助统计信息,还可以将度量数据发送...

2018-02-04 18:26:51

阅读数:1156

评论数:2

附录B Akka简介

注:本文是为了配合《Spark内核设计的艺术 架构设计与实现》一书的内容而编写,目的是为了节省成本、方便读者查阅。书中附录B的内容都在本文呈现。 Akka是一款提供了用于构建高并发的、分布式的、可伸缩的、基于Java虚拟机的消息驱动应用的工具集和运行时环境。从下面Akka官网提供的一段代码示例,...

2018-02-01 21:10:31

阅读数:478

评论数:0

附录A Spark2.1核心工具类Utils

注:本文是为了配合《Spark内核设计的艺术 架构设计与实现》一书的内容而编写,目的是为了节省成本、方便读者查阅。书中附录A的内容都在本文呈现。 Utils是Spark最常用的工具类之一,Spark Core大量使用了此类提供的基础功能。即使不关心其实现也不会对理解本书对Spark源码的分析有太...

2018-01-25 09:46:46

阅读数:1564

评论数:9

使用Akka持久化——消息发送与接收

在《使用Akka持久化——持久化与快照》一文中介绍了如何使用Akka持久化消息及生成快照。对于集群应用来说,发送者发出消息,只有当收到了接受者的成功回复才应当认为是一次完整的请求和应答(一些RPC框架只提供了远程调用、序列化/反序列化的机制,但是具体调用的成功与否实际是抛给了开发者本人),利用Ak...

2017-02-06 09:47:35

阅读数:5383

评论数:4

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