5 野狼e族

尚未进行身份认证

忙是一种好事

等级
TA的排名 5w+

Spark RDD上的map operators是如何pipeline起来的

问题:作用在一个RDD/DataFrame上的连续的多个map是在对数据的一次循环遍历中完成的还是需要多次循环?回答:不需要多次循环,spark会将多个map操作pipeline起来apply到rddpartition的每个dataelement上。我们从DAGScheduler的submitStage方法开始,分析一下mapoperators(包括map,filter,flatM...

2019-03-28 21:25:05

spark 广播变量的设计和实现

spark官网上对广播变量的描述Broadcastvariablesallowtheprogrammertokeeparead-onlyvariablecachedoneachmachineratherthanshippingacopyofitwithtasks.Theycanbeused,forexample,togiveev...

2019-03-28 21:18:59

sparksql执行流程分析

Sparksql是spark内部最核心,也是社区最活跃的组件。SparkSQL支持在Spark中执行SQL,或者HiveQL的关系查询表达式。列式存储的类RDD(DataSet/DataFrame)数据类型以及对sql语句的支持使它更容易上手,同时,它对数据的抽取、清洗的特性,使它广泛的用于etl,甚至是机器学习领域。因此,saprksql较其他spark组件,获得了更多的使用者。...

2019-03-28 21:12:17

Processor | InvokeScriptedProcessor 使用

作用:可以自定义组件,以下是模拟LookupAttrbution的功能.fromorg.apache.nifi.processorimportProcessorfromorg.apache.nifi.processorimportRelationshipfromorg.apache.nifi.componentsimportPropertyDescriptorf...

2019-01-01 15:42:28

Nifi的主要优缺点

Nifi的主要优点有:A.可视化的UI界面,各个模块组件之间高度可配置,且每个流程都有监控,可以通过界面直观的看到各个数据处理模块之间的数据流转情况,分析出程序性能瓶颈。B.数据流可以在UI界面自由拖拽和拓展,各模块之间相互独立,互不影响。C.可以在处理耗时的地方创建多个处理模块并行执行,提升处理速度。类似于代码中加入了多线程,但相对于修改代码,界面配置操作十分简单。D.修改方便,...

2019-01-01 15:38:47

PythonOperator、BashOperator以及Xcom使用

 需求:外界传入参数,PythonOperator根据参数查询数据库得出结果,BashOperator根据pythonOperator查询的结果当作参数去打包下载HDFS的文件。分析:(1)provide_context=True:外界传参数,需要使用PythonOperator的provide_context=True来获取外界参数。 provide_context...

2019-01-01 15:37:23

Airflow安装

1、#指定airflow的home目录exportAIRFLOW_HOME=~/airflow2、#使用pip安装apache-airflowpipinstallapache-airflow3、#初始化元数据库airflowinitdb4、#开启webserver服务,并指定访问端口为8080airflowwebserver-p8080...

2019-01-01 15:32:47

Innodb与Myisam引擎的区别与应用场景

1.区别:(1)事务处理:MyISAM是非事务安全型的,而InnoDB是事务安全型的(支持事务处理等高级处理);(2)锁机制不同:MyISAM是表级锁,而InnoDB是行级锁;(3)select,update,insert,delete操作:MyISAM:如果执行大量的SELECT,MyISAM是更好的选择InnoDB:如果你的数据执行大量的INSERT或UP...

2018-07-31 22:08:42

mysql数据库分表及实现

项目开发中,我们的数据库数据越来越大,随之而来的是单个表中数据太多。以至于查询书读变慢,而且由于表的锁机制导致应用操作也搜到严重影响,出现了数据库性能瓶颈。   当出现这种情况时,我们可以考虑分表,即将单个数据库表进行拆分,拆分成多个数据表,然后用户访问的时候,根据一定的算法,让用户访问不同的表,这样数据分散到多个数据表中,减少了单个数据表的访问压力。提升了数据库访问性能。   我们可...

2018-07-31 22:08:11

Zookeeper在Kafka中的应用

简介Kafka使用zookeeper作为其分布式协调框架,很好的将消息生产、消息存储、消息消费的过程结合在一起。同时借助zookeeper,kafka能够生产者、消费者和broker在内的所以组件在无状态的情况下,建立起生产者和消费者的订阅关系,并实现生产者与消费者的负载均衡。 从拓扑结构看kafka与zookeeper的关系:在典型的Kafka集群中, Kafka通过Zookee...

2018-07-31 21:59:12

ZooKeeper剖析

一、ZooKeeper 架构在深入了解ZooKeeper的运作之前,让我们来看看ZooKeeper的基本概念(1)、Architecture(架构)(2)、Hierarchicalnamespace(层次命名空间)(3)、Session(会话)(4)、Watches(监视)1、Architecture(架构)看看下面的图表。它描述了ZooKeeper的“客户端-服务器...

2018-07-31 21:43:22

flume-ng编程之自定义拦截器

   从拦截body开始自定义intercepter编程完成每个body字符串的解析字段的正则提取和拼接,我们自定义的这个类叫:LogAnalysis如下:packagecom.besttone.interceptor;importcom.google.common.base.Charsets;importcom.google.common.collect.Lists...

2018-07-31 21:39:57

静态代理,动态代理,Cglib代理三种代理模式

静态代理,动态代理,Cglib代理三种代理模式1.代理模式   代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法   举个例子来说明代理的作用:假设我...

2018-07-09 23:30:16

HBase 客户端 Shell语法以及Java API 的使用

HBase客户端Shell语法以及JavaAPI的使用本章介绍用于对HBase表上执行CRUD操作的HBaseJava客户端API。 HBase是用Java编写的,并具有Java原生API。因此,它提供了编程访问数据操纵语言(DML)。HBaseConfiguration类添加HBase的配置到配置文件。这个类属于org.apache.hadoop.hbase包。方法及说明S.No....

2018-05-28 18:08:43

kafKa 安装

kafKa安装依赖于zookeeper环境,需要安装zookeeper 一、安装zookeeper   (1)下载:http://archive.cloudera.com/cdh5/cdh/5/zookeeper-3.4.5-cdh5.7.0.tar.gz  (2)解压zookeeper-3.4.6.tar.gz到/www/instl/zookeeper/zookeeper-3....

2018-05-28 18:05:24

KafKa Java编程实例

KafKaJava编程实例编写一个能发送消息,接收消息的实例(1)编写系数配置:KafkaProperties.javapackagecom.imooc.spark.kafka;/***Kafka常用配置文件*/publicclassKafkaProperties{    publicstaticfinalStringZK="140.143.236.169:2181"; ...

2018-05-28 18:04:42

Flume 、Kafka 与SparkStreaming 集成编程

Flume、Kafka与SparkStreaming集成编程一、Kafka与SparkStreaming集成编程1、程序pull方式,可靠Recerver,工作常用com.imooc.spark.FlumePullWordCount.scalapackagecom.imooc.sparkimportorg.apache.spark.SparkConfimportorg.apache...

2018-05-28 18:03:00

maven 对spark 源码进行编译(基于Centos 7 )

maven对spark源码进行编译(基于Centos7)1、写在前面的话   有些小伙伴可能会问:Spark官网不是已经提供了Spark针对不同版本的安装包了吗,我们为什么还需要对Spark源码进行编译呢?针对这个问题我们到Spark官网:spark.apache.org来看下,如下图所示:   Spark官网的确是提供了一些Hadoop版本的Spark安装包,但是提供的这些是否能...

2018-05-28 18:02:00

Spark 作业提交

Spark作业提交一、作业打包jar1、工程目录结构2、不同运行模式的打包方式 Local模式与Yarn模式不同就在于:Local模式运行时jar包仅在本地存在,而Yarn模式需要在每台从机的环境上都要相同的jar包,因此在Yarn模式打jar包时,需要将pom.xml中依赖的所有jar包一起打进去。 (1)Local模式对maven工程进行编译为jar文件       mv...

2018-05-28 17:59:48

Spark性能优化篇四:shuffle调优

Spark性能优化篇四:shuffle调优shuffle调优调优概述   大多数Spark作业的性能主要就是消耗在了shuffle环节,因为该环节包含了大量的磁盘IO、序列化、网络数据传输等操作。因此,如果要让作业的性能更上一层楼,就有必要对shuffle过程进行调优。但是也必须提醒大家的是,影响一个Spark作业性能的因素,主要还是代码开发、资源参数以及数据倾斜,shuffle调优只能在整...

2018-05-28 17:45:43

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!