自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 (转)深入理解spark中的RPC

RPC是远程过程调用(Remote Procedure Call)的缩写形式。是spark各节点间通信基础。转载一篇大神的文章:深入解析Spark中的RPC,包含类图、时序图等,非常值得一看。

2020-05-21 17:06:14 195

原创 Spark源码解析(一):运行架构

目录1 总体介绍2 脚本提交流程3 yarn-client模式源码分析1 总体介绍Spark的运行模式多种多样,灵活多变,部署在单机上时,既可以用本地模式运行,也可以用伪分布模式运行,而当以分布式集群的方式部署时,也有众多的运行模式可供选择,这取决于集群的实际情况,底层的资源调度即可以依赖外部资源调度框架,也可以使用Spark内建的Standalone 模式。对于外部资源调度框架的支持,主要以...

2020-04-23 16:26:21 396 1

原创 java多线程的应用--自定义连接池

1.等待/通知机制等待/通知机制,是指一个线程A调用了对象O的wait()方法进入等待状态,而另一个线程B调用了对象O的notify()或者notifyAll()方法,线程A收到通知后从对象O的wait()方法返回,进而执行后续操作。上述两个线程通过对象O来完成交互,而对象上的wait()和notify/notifyAll()的关系就如同开关信号一样,用来完成等待方和通知方之间的交互工作。等...

2020-04-08 22:47:17 267

原创 启动一个最简单的Java main程序时,有多少个线程被创建?

事情的全部起因来自于这样一个程序public class VolatileTest { public static volatile int race = 0; public static void increase(){ race++; } private static final int THREADS_COUNT = 10; p...

2020-03-21 00:56:49 362

原创 单例模式的几种方法

一说到单例模式,我想你们首先想到的是懒汉式、恶汉式吧!至于登记式(淘汰的模式,可忽略)。单例模式有以下特点:  1、单例类只能有一个实例。  2、单例类必须自己创建自己的唯一实例。  3、单例类必须给所有其他对象提供这一实例。一、懒汉式单例先写一个懒汉式的单例模式。public class Singleton { private Singleton() {} ...

2020-03-10 15:35:57 211

原创 zookeeper应用场景

前言ZooKeeper是一个高可用的分布式数据管理与系统协调框架。基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题。网上对ZK的应用场景也有不少介绍,本文将结合作者身边的项目例子,系统地对ZK的应用场景进行一个分门归类的介绍。值得注意的是,ZK并非天生就是为这些应用场景设计的,都是后来众多开发者根据其框架的特性...

2020-02-27 18:09:08 143

原创 hive安装

1.hive的三种安装方式Hive官网上介绍了Hive的3种安装方式,分别对应不同的应用场景。三种方式归根到底就是元数据的存储位置不一样。内嵌模式(元数据保存在内嵌的derby数据库中,允许一个会话链接,尝试多个会话链接时会报错)本地模式(本地安装mysql 替代derby存储元数据)远程模式(远程安装mysql 替代derby存储元数据)从用户层面来说,第一种方式只允许一个用户操作...

2020-02-27 14:49:03 162

原创 知识图谱学习笔记(一):基础概念

文章目录1 前言2.知识图谱定义3 应用案例4 数据类型和存储方式5 知识图谱整体架构5.1 逻辑架构5.2技术架构6 信息抽取6.1 实体抽取(Entity Extraction)6.2 关系抽取(Relation Extraction)6.3 属性抽取(Attribute Extraction)7 知识融合7.1 实体链接7.2 知识合并8 知识加工8.1 本体构建8.2 知识推理8.3 质量...

2020-02-18 23:03:43 2430

原创 一种带词性标注的分词器使用方法--HanLP分词

HanLP的官方简介如下:HanLP是一系列模型与算法组成的NLP工具包,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。内部算法经过工业界和学术界考验,配套书籍《自然语言处理入门》已经出版。目前,基于深度学习的HanLP 2.0正处于alpha测试阶段,未来将实现知识图谱、问答系统、自动摘要、文本语义相似度、指代消解、三元组抽取、...

2020-02-18 17:32:15 1475

原创 学习笔记(01):知识图谱关键技术与应用案例-知识图谱关键技术与应用案例-1

本课程从知识图谱的历史由来开展,讲述知识图谱与人工智能的关系与现状;知识图谱辐射至各行业领域的应用;在知识图谱关键技术概念与工具的实践应用中,本课程也会分享知识图谱的构建经验;以及达观在各行业领域系统中的产品开发和系统应用。...

2020-02-17 21:42:02 218

原创 Flink学习笔记(十一):Table API和Flink sql

详细介绍看这篇

2020-02-13 11:08:19 198

原创 Flink学习笔记(十):容错机制与状态一致性

1.Flink容错机制上图的含义:假如输入是1、2、3这样的连续数字,按顺序输入,sum_even子任务计算偶数的和,sum_odd子任务计算奇数的和。如果在数字5被处理完成后做了一次checkpoint,那么input的偏移量5、偶数之和6、奇数之和9共同组成一个快照一起checkpoint。如果这个时间input已经消费到7,偶数求和已经得出结果12,基数在求和时出现故障,那么这个时间...

2020-02-13 00:52:02 227

原创 Flink学习笔记(九):状态管理

模拟场景:有多个温度计去采集温度,数据格式:温度计id,采集时间,温度值实现一个报警策略:两次温度差值超过阈值,就报警。要实现这个逻辑,必须要使用到状态,来记录上一次的温度。其实有三种方法:process function:这个在上一篇笔记中已经做过演示,这就不再演示了自定义RichFlatMapFunction:由于要使用状态,所以必须用Rich版的Function...

2020-02-11 21:46:10 210

原创 Flink学习笔记(八):Process Function(底层API)

这里以KeyedProcessFunction作为示例。模拟场景:有多个温度计去采集温度,数据格式:温度计id,采集时间,温度值实现一个报警策略:在5s内采集到的温度连续上升,就报警。要实现这个策略,有两个条件:条件一:5秒内。可以调用时间服务(timerService)来创建一个定时器,5秒后触发,判断这段时间内的数据是否是连续上升的条件二:温度连续上升。肯定要跟前一条数据比...

2020-02-11 01:48:46 413

原创 Flink学习笔记(七):数据转换过程与可选api

Flink的数据转换过程,一般是从最开始创建一个DataStream经过一系列转换,最终又回到DataStream,如下图所示:其中windowedStream的可选api有:trigger() 触发器:定义window什么时候关闭,触发计算并输出结果,例如滚动时间窗口有一个默认触发器,它的触发条件是时间达到endTimeevitor() 移除器:定义移除某些数据的逻辑allowedL...

2020-02-11 01:28:41 145

原创 Flink学习笔记(六):flink的算子与富函数

在调用DataStream的算子例如map、filter时,可以传入一个函数,也可以传入一个Function类,就像这样:val filterStream = stream.filter(new FilterFunction[String] { override def filter(t: String):Boolean = { t.equals("a") ...

2020-02-11 00:28:58 1710

原创 Flink学习笔记(五):与kafka、HBase整合案例

文章目录案例1.从kafka读取数据再写入kafka案例2.从kafka读取数据写入hbase案例3.从kafka读取数据写入Mysql案例1.从kafka读取数据再写入kafka环境:flink版本:1.7.2kafka版本:2.1.1flink与kafka交互有多种方式,本案例通过dataStream的addSource和addSink的方式与kafka交互。flink默认支持k...

2020-02-09 01:13:08 1667

原创 Flink学习笔记(四):Window与WaterMark

文章目录1.Time2.Window2.1 CountWindow2.2 TimeWindow3.Watermark1.Time在Flink的流式处理中,会涉及到时间的不同概念Event Time:事件时间。它通常由事件中的时间戳描述,例如采集的日志数据中,每一条日志都会记录自己的生成时间,Flink通过时间戳分配器访问事件时间戳Ingestion Time:注入时间。是数据进入Flin...

2020-02-07 17:03:46 344

原创 Flink学习笔记(三):任务提交详细流程

文章目录1.Flink多种提交方式对比1.1 local模式1.1.1 纯粹的local模式运行1.1.2 local使用remote的方式运行1.1.3 本地提交到remote集群1.2 standalone模式1.3 yarn模式1.3.1 yarn-session1.3.2 yarn-cluster2.flink命令参数详解3.flink on yarn作业提交详细流程1.Flink多种提...

2020-02-05 18:17:17 4574 2

原创 Flink学习笔记(二):安装Flink

1.运行环境Linux-CentOS6.5JDK-1.8hadoop-2.4.12.下载安装包下载flink安装包,注意选择一个与hadoop版本匹配的包。3.上传、解压安装包在hadoop04主机上创建目录:[hdp@hadoop04 ~]$ mkdir /home/hdp/app/flink上传安装包到该目录下,解压:[hdp@hadoop04 flink]$ ta...

2020-02-04 22:11:54 451

原创 Flink学习笔记(一):基础概念

文章目录1.有界/无界数据集2.Flink简介3.主流数据流处理框架特点比较4.Flink 基本架构5.Flink编程模型6.对时间的处理7. 窗口8.时间和水印(Watermarks)9.有状态计算1.有界/无界数据集有界数据集有界数据集对开发者来说都很熟悉,在常规的处理中我们都会从Mysql,文本等获取数据进行计算分析。我们在处理此类数据时,特点就是数据是静止不动的。也就是说,没有再进行...

2020-02-03 23:58:38 470

原创 linux常用命令(超全)

文章目录1.系统信息2.关机 (系统的关机、重启以及登出 )3.文件和目录4.文件搜索5.挂载一个文件系统6.磁盘空间7.用户和群组8.文件的权限9.文件的特殊属性10.打包和压缩文件11.RPM 包 - (Fedora, Redhat及类似系统)12.YUM 软件包升级器 - (Fedora, RedHat及类似系统)13.DEB 包 (Debian, Ubuntu 以及类似系统)14.APT ...

2020-01-19 17:07:36 332

原创 工具类一:java代码实现ssh远程登陆服务器,执行shell命令和ftp传输

需求:项目中经常会遇到在代码中实现执行shell命令的需求,或者通过ftp传输文件的需求。分为两种情况:服务器在远端,需要先登录再操作。使用工具类JSch(Java Secure Channel)实现在本机上操作,无需登录。可使用RunTime类或者ProcessBuilder类实现文本介绍第一种情况的实现步骤引入pom依赖<dependency> ...

2020-01-14 00:08:21 2119

原创 我的开篇

开篇写博客的目的写博客的目的记录工作遇到的问题,积少成多,形成自己的问题集,以便后期快速解决同类问题;作为学习笔记,行业特色决定了我们会接触到很多零散、广阔的知识点,单凭记忆不可能记住那么多知识点,记录在博客中可以快速查阅;记录工作中接触到工具类,形成一个工具库,后期可以快速调用,提高工作效率;作为一个技术交流是平台,可以查阅大神的博客,在巨人的肩膀上学习,如果能通过自己的浅学帮助到别...

2020-01-11 00:19:23 84

空空如也

空空如也

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

TA关注的人

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