自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 spark1.6源码-----任务提交与执行之任务提交

 我是从RDD的collect函数进去的。 /** * Return an array that contains all of the elements in this RDD. */ //调用了sparkContext的runJob //返回一个Array集合 def collect(): Array[T] = withScope { val resul...

2018-12-23 09:16:16 304

原创 spark1.6源码-----任务提交与执行之RDD的构建

概述:spark的执行流程网上一大堆,我就不写了。本文以sparkWordCount为例来解析 val input=sc.textFile("C:\\Users\\pc\\PycharmProjects\\PyNews\\word*",1) .flatMap(_.split(" ")).map(x=>(x,1)).reduceByKey(_+_).sa...

2018-12-22 22:37:51 225

原创 Spark1.6-----源码解读之BlockManager

前面已经介绍了BlockManager的主要组件,现在来看看BlockManager自身的实现。dropFromMemory:当memory sotre的空间满了之后会调用这个方法,它会抛弃一些block块。reportBlockStatus:向BlockManagerMaster报告Block的状态putSingle:将一个由对象构成的Block写入存储系统putBytes:将序...

2018-12-16 20:21:45 495

原创 Spark1.6-----源码解读之BlockManager组件MemoryStore

MemoryStore负责将没有序列化的java对象数组或者序列化的ByteBuffer存储到内存中:MemoryStore内存模型maxUnrollMemory:当前Driver或者Executor的block最多提前占用的内存的大小,每个线程都能占内存。(类似上课占座,人没到,但是位置有了)maxMemory:当前Driver或者Executor存储所能利用最大内存大小。cur...

2018-12-16 13:49:29 382 1

原创 Spark1.6-----源码解读之BlockManagerMaster对BlockManager的管理

Driver的BlockManagerMaster对存在与Executor上的BlockManager统一管理。比如Executor需要向Driver发送注册BlockManager,更新Executor上Block的最新信息。但是Driver和Executor存在与不同的机器上,通过spark消息系统进行消息传递的。Driver的BlockManager会持有BlockManagerMaster...

2018-12-16 12:35:36 245

原创 Spark1.6-----源码解读之BlockManager组件shuffle服务和客户端

spark是分布式部署的,每个Task最终都运行在不同的机器节点上,map任务的输出结果直接存储到map任务所在的机器的存储体系,reduce极有可能不再同一个机器上运行,所以需要远程下载map任务的中间输出。所以存储系统中也包含ShuffleClient。在BlockManager 176行initialize方法中初始化了shuffleClient: def initialize(...

2018-12-16 11:59:59 222

原创 Spark1.6-----源码解读之BlockManager的概述

BlockManager的实现BlockManager是spark存储体系中的核心组件,Driver 和Executor都会创建BlockManager。在SparkEnv 364行会创建BlockManager: // NB: blockManager is not valid until initialize() is called later. val block...

2018-12-16 10:24:13 208

原创 Spark1.6-----源码解读之TaskScheduler启动

必须启动TaskScheduler才能让他发挥作用SparkContext 530行: _taskScheduler.start()实际去调TaskSchedulerImpl 143行: override def start() { backend.start() if (!isLocal && conf.getBoolean("spa...

2018-12-15 21:32:26 239 1

原创 Spark1.6-----源码解读之DAGScheduler

纯鼠标点代码写出来的,阅读时希望你能跟着这样操作。DAGScheduler的主要用于在任务正式提交给TaskSchedulerImpl提交之前做一些准备工作。比如创建job,将DAG的RDD划分到不同的stage,提交stageSparkContext 525行创建DAGScheduler: _dagScheduler = new DAGScheduler(this)DAG...

2018-12-15 20:27:11 182

原创 Spark1.6-----源码解读之TaskScheduler

 TaskScheduler是SparkContext重要成员之一,负责任务的提交,并且请求集群管理器对任务调度。他也可以看做任务调度的客户端。SparkContext 522行 创建TaskScheduler: val (sched, ts) = SparkContext.createTaskScheduler(this, master)SparkContext 2592行 ...

2018-12-15 20:01:43 171

原创 Spark1.6-----源码解读之SparkEnv

我是跟着源码点进去一步一写的,所以观看时希望大家能一步一跟着源码走,不要只看博文。在SparkContext 284行创建SparkEnv: // This function allows components created by SparkEnv to be mocked in unit tests: private[spark] def createSparkEnv( ...

2018-12-15 19:30:27 218

原创 spark RDD进行行转列并且生成唯一标识

比如说像这样的一条数据:("1",Seq("你好","我爱"))想转化为如下形式:(1,你好)(1,我爱)直接撸代码: 这里面的转化看懂了么。其实很简单,生成一个List,List((1,你好), (1,我爱)),然后就是wordcount里面使用的flatMap把list打扁生成一个大的list。然后使用zipWithIndex生成一个有序id,一定要collect才会...

2018-12-12 19:39:56 1488

原创 Spark 消费Kafka数据

spark RDD消费的哦,不是spark streaming。导maven包:注意版本哦,要跟自己机器的一致 <!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka --> <dependency> <groupId>org...

2018-12-12 19:21:08 889

原创 Spark写数据到kafka

spark RDD只能通过原生API去写。不是spark streaming哦。导maven包:这一步不能复制粘贴,要看看你机器的kafka版本是多少。然后去下载对应的包 <!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka --> <dependency>...

2018-12-12 19:11:01 2664 1

原创 Java API连接Hive

首先导maven包: <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-jdbc</artifactId> <version>1.1.0</versi...

2018-12-12 19:02:08 921

原创 hadoop javaapi读取文件夹下的数据

导包:import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.*;import org.apache.hadoop.io.IOUtils;import java.io.FileOutputStream;import java.io.OutputStream;import java.net.URI...

2018-12-12 18:55:01 936 1

原创 hanlp添加自定义字典

两步:第一步:将自定义的字典放到custom目录下,然后删除CustomDicionary.txt.bin,因为分词的时候会读这个文件。如果没有的话它会根据配置文件中路径去加载字典生成bin文件。第二步:去配置文件把自己添加自定义的文件的路径添加进去,注意一定要添加末尾后面而且结束时不能有;号,我添加在其他位置都不好使。而且相对路径也不好使上面是把bin文件删掉后跑起来的样子,...

2018-12-11 23:30:46 1737

原创 spark集群使用hanlp进行分布式分词操作

分两步:第一步:实现hankcs.hanlp/corpus.io.IIOAdapterpublic class HadoopFileIoAdapter implements IIOAdapter { @Override public InputStream open(String path) throws IOException { Configur...

2018-12-11 23:04:12 572

原创 使用Idea maven打 jar包

点击路线如下图所示:   注意上面这张图的第二步骤:记得把目录选到src那个文件夹下。  根据你的需要进行筛选jar包,双击即可添加或者删除。spark 打包后拿到yarn上跑时可能会出现classnotfoundException异常,这时需要把scala包打到这个大jar包里面去。希望能帮到有需要的朋友。  ...

2018-12-11 22:54:30 304

原创 hive生成唯一标识

在CDH中有个叫hive-contrib-1.1.0-cdh5.7.0.jar的jar包,名字因版本不同而不同。/opt/cloudera/parcels/CDH/jars/hive-contrib-1.1.0-cdh5.7.0.jar,这是我的jar包所在地。然后两句话: add jar /opt/cloudera/parcels/CDH/jars/hive-contrib-1.1.0-...

2018-12-10 23:33:36 2718 3

原创 python爬今日头条

一:解析参数今日头条的数据全部都是ajax异步加载的。谷歌浏览器按f12选择network点击XHR会得到如上图所示,上图请求的url中有如下几个参数会变化:① category② max_behot_time③ max_behot_time_tmp④ as⑤ cp⑥ _signature其中只需要category,max_behot_time,_signature这个三个参数就可...

2018-12-10 22:49:40 2217

原创 LogStash官方文档6.x学习笔记---------day1

上个星期之前看过一段时间,对logstash基础有一定了解。现在来好好记录一下我的学习的东西。logstash的工作流程:   由input--->filter---->output构成。执行模型:Logstash事件处理管道协调input--->filter---->output的执行。Logstash管道中的每个输入阶段都在自己的线程中运行。输入将事...

2018-09-21 13:43:08 612

原创 ElasticSearch6.x官方文档学习总结

一:配置。    配置JVM参数,系统参数,配配置文件。系统启动前通过Bootstrap Checks检查配置。二:升级ES。三:数据副本模型。      针对数据读写时过程,以及在这个过程的错误处理进行介绍。四:文档API。    分为操作单个文档和的多文档API。五:搜索API。     比较重要的Request Body Search部分,和URL Searc...

2018-09-21 10:44:08 909

原创 elasticsearch6.x官方文档学习笔记----Document API翻译

开始之前先学习副本        介绍:Elasticsearch的每个索引都被分成shard ,每个shard 可以有多个副本。这些副本称为复制组,在添加或删除文档时必须保持同步。如果我们不这样做,从一个副本阅读将会导致与从另一个副本阅读非常不同的结果。保持碎片副本同步并提供从中读取的过程称为数据复制模型。       Elasticsearch的数据复制模型基于主备份模型。该模型基...

2018-09-18 13:40:15 1466

原创 elasticsearch6.x官方文档学习笔记----ElasticSearch参数配置

配置ElasticSearch主要介绍了ES上线前重要的基本配置重要的系统基本配置设置JVM参数此文件的默认位置是config/jvm.options(从tar或zip发行版/etc/elasticsearch/jvm.options安装时)和(从Debian或RPM软件包安装时)。此文件包含遵循特殊语法的以行分隔的JVM参数列表:仅包含空格的行被忽略 以...开...

2018-09-18 10:19:17 1385

原创 elasticsearch6.x官方文档学习笔记----Getting Started

Getting Started本文主要介绍了如下操作:1)基本概念。2)索引的基本操作。3)查询操作,filter操作,聚集操作。基本概念1)准实时:ES搜索是一个接近实时的搜索平台。这意味着从您索引一个文档的时间到它可搜索的时间,有一个轻微的延迟(通常是一秒)。2)集群:ES是一个集群,一个集群由一个惟一的名称标识id,默认情况下是“elasticsearch。3...

2018-09-17 18:13:38 1972

原创 派送员问题——————人生第一次在考试中编程题过了

题目描述   派送员在地图的(0,0)位置,地图的边城都为1,给出几个位置(点),请问派送员送餐的最短往返距离距离(送完所有位置的行走最短距离+最后送完的位置到0,0的距离)。  思路:采用递归。找出所有情况。 代码如下:package 秋招练习;import java.util.Scanner;public class 派送员 { //递归 static int r...

2018-08-07 17:22:43 460

空空如也

空空如也

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

TA关注的人

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