Spark通信架构-通读理解
折腾七个小时,终于到安徽参加大学好友,应该是我们这群小伙伴里最后一个结婚的好友婚宴。。。Spark作为分布式计算框架,多个节点的设计与相互通信模式是其重要的组成部分。其中Akka和Netty的通信架构在Spark架构中扮演重要角色。手稿学习如下通信组件概览RpcEndPoint:RPC端点,Spar
Spark SQL 和 Hive 数据类型
在使用Spark交互过程中经常会出现一个需要面对问题,就不系统之间数据之间转换和映射。数据类型的映射和转换是一个不可避免的问题。同样的,在SparkSQL连接Hive的场景下,Catalyst中定义的数据类型与Hive中的数据类型间的互相转换是一个重要的需求。在SparkSQL的Hive模块下,由H
Hive UDF - 管理机制
最近组内童鞋在自定义的Hive的UDF、UDTF,然后SparkSQL去使用时候,遇到种种问题。躺了一遍血坑之后后来发现UDTF是一种机制,UDF、UDAF是一种机制。绝对一部血泪史,非常值得记录和深入探究。于是计划带着问题研读下HiveUDF管理机制,以及如何SparkSQL和Hive的UDF结合
Spark-Submit 源码剖析
直奔主题吧:常规Spark提交任务脚本如下:其中几个关键的参数:--class--properties--driver-java-options--jars--filesjar包再看下cluster.conf配置参数,如下:spark.local.dirspark.masterspark.num.e
Spark任务 Driver的注册与启动源码剖析
之前是在SparkSubmit源码剖析中,期间剖析SparkSubmit.scala通过doRunMain方法进入提交操作,提交后发生什么呢?从提交的总体架构上来看,显示在Driver端提交,然后注册,那么提交后进入的步骤是Driver的注册于启动。直接先看Client.scala用于启动和终止Dr
Spark预准备环境 源码剖析
一个JOB提交到spark集群中时候,需要预准备一些环境变量这里涉及到主要三个关键词:SparkContext,SparkConf,SparkSessionSpark版本历史演进中非常重要的一个节点是Spark2.0的到来,其中不仅仅是通信机制彻底更新,而且Spark启动方式做彻底分调整。那么其中就
Spark TaskScheduler创建启动 源码剖析
spark任务的真正的运行时由action算子进行一个触发,最终调用sc.runJob方法,在driver端会初始化2个重要的组建DagScheduler和TaskSchedulerTaskScheduler的主要职责:负责将DagScheduler发送过来的的taskset放入到Taskset的缓
Spark Application调度算法 源码剖析
之前阅读剖析过SparkApplication注册的源码。传送门:《SparkApplication的注册源码剖析》当时在看的过程中卡过很多点,其中如何Application是如何调度的,调度的算法如何做到最佳状态,和保持分布式的高效稳定的。今天于是带着问题去剖析一把。SparkApplicatio
Spark Executor的启动 源码剖析
application向Master注册并提交后,Master最终会调用schedule方法规划分配将要worker上运行的executor的资源,然后调用allocateWorkerResourceToExecutors将资源分配给executor,并启动executor。master.scala
Spark CoarseGrainedExecutorBackend启动 源码剖析
回到CoarseGrainedExecutorBackend端,在接收到RegisteredExecutor消息后,创建executor对象,创建完毕的Executord对象,用于之后执行Driver分配Taskexecutor的启动,调用fetchAndRunExecutor方法,创建Proces
SQOOP 源码浅析
在数据处理的生态群里sqoop组件,占据了举足轻重地位。特别是将Hadoop和关系型数据库中的数据相互转移的sqoop是不二之选的工具。Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署,也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一
MPPDB和HADOOP --笔记
1、什么是MPP?MPP(MassivelyParallelProcessing),即大规模并行处理,在数据库非共享集群中,每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和应用特点划分到各个节点上,每台数据节点通过专用网络或者商业通用网络互相连接,彼此协同计算,作为整体提供数据库服
Hbase 架构通读理解
几乎接触hbase都会看过的一本书《HBase权威指南》。为什么要用Hbase-Hbase的诞生是因为现有的关系型数据库已经无法在硬件上满足疯狂增长的数据了,而且因为需要实时的数据提取Memcached也无法满足-Hbase适合于无结构或半结构化数据,适合于schema变动的情况-Hbase天生适合
Hbase 应用进阶深入
高级用法一,行键设计:HBase有两种基本的键结构:行键(rowkey)和列键(columnkey)。两者都可以存储有意义的信息,这些信息有两类,一种是键本身存储的内容,另一种是键的排列顺序。HBase的表中数据分隔主要是使用列族(columnfamily)而不是列,并非列式存储,如下图,表示了用户
Delta Lake初识 - 存储中间层
----数据仓库和数据湖的初探----数据湖概念图如下:图1.0数据湖概念图Pentaho的CTOJamesDixon在2011年提出了“DataLake”的概念。在面对大数据挑战时,他声称:不要想着数据的“仓库”概念,想想数据的“湖”概念。数据“仓库”概念和数据湖概念的重大区别是:数据仓库中数据在
干货:深刻理解Lambda 表达式 (内有文档)
前言Java8的一个大亮点是引入Lambda表达式,使用它设计的代码会更加简洁。当开发者在编写Lambda表达式时,也会随之被编译成一个函数式接口。下面这个例子就是使用Lambda语法来代替匿名的内部类,代码不仅简洁,而且还可读。正文什么是Lambda?“Lambda表达式”(lambdaexpre
Delta Lake特性 - 事务日志
Delta的Features如下:事务日志(Transactionlog)是理解DeltaLake的一个关键点,很多DeltaLake的重要特性都是基于事务日志实现的,包括ACID事务性、可扩展元数据处理、时间回溯等等。什么是事务日志?DeltaLake的事务日志(简称DeltaLog)是一种有序记
11、Hive核心概念与架构
1、Hive核心概念和架构原理1.1、Hive概念Hive由FaceBook开发,用于解决海量结构化日志的数据统计。Hive是基于Hadoop的数据仓库工具,可以将结构化数据映射为一张表,提供类似SQL语句查询功能本质:将HiveSQL转化成MapReduce程序。1.2、Hive与数据库的区别读时
Excel的多条件使用
在工作中条件查找是最常见的技巧使用,一般提到查找就会想到Word里经常使用的一键替换、查找,而到了Excel里,很多人就会愣住了,该用什么函数,比较熟悉的VLOOKUP,它的基础用法好像也只适用于单条件查找。今天就来看看职场人员最爱使用的多条件查找办法,一起来看看吧。对于Excel中多条件匹配的问题
Spark CommitCoordinator 保证数据一致性
原创文章,转载请务必将下面这段话置于文章开头处。本文转发自技术世界,原文链接http://www.jasongj.com/spark/committer/本文所述内容均基于2018年9月17日Spark最新Release2.3.1版本,以及hadoop-2.6.0-cdh-5.4.4概述Spark输