自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

心相印的专栏

认真你就输了,一直认真你就赢了,坚持!

  • 博客(75)
  • 资源 (4)
  • 收藏
  • 关注

原创 基于Scala的spark开发环境搭建(一)

具体步骤如下:本地环境安装JDK安装Intellij IDEA软件在Intellij IDEA上安装scala插件本地安装JDK环境第一步:下载JDK的安装包(最新版本为JDK13),下载地址:(windows就下载.exe结尾的安装包,mac就下载.dmg结尾的安装包)https://www.oracle.com/technetwork/第二步:下载完成之后,直接双击安...

2019-11-13 10:22:15 1334

原创 kafka编程基础—入门介绍(一)

关键能力我们认为,一个流处理平台具有三个关键能力:发布和订阅消息(流),在这方面,它类似于一个消息队列或企业消息系统;以容错(故障转移)的方式存储消息(流);在消息流发生时处理它们。有何优势构建实时的流数据管道,可靠地获取系统和应用程序之间的数据。构建实时流的应用程序,对数据流进行转换或反应。核心概念要了解kafka是如何做这些事情的,可以从下到上深入探讨kafka的能力...

2019-12-30 18:16:37 602 1

原创 kafka编程基础—消息中间件

消息中间件Apache kafka是消息中间件的一种,我发现很多人不知道消息中间件是什么,在开始学习之前,我这边就先简单的解释一下什么是消息中间件,只是粗略的讲解,比较狭义的理解,然而目前像kafka这样的消息中间件已经可以做更多的事情了。举例说明举个例子,生产者消费者,生产者生产鸡蛋,消费者消费鸡蛋,生产者生产一个鸡蛋,消费者就消费一个鸡蛋,假设消费者消费鸡蛋的时候噎住了(系统宕机了),生...

2019-12-30 15:28:32 304

原创 基于spark的流式数据处理—SparkStreaming开发demo—RDD流

概述在调试Spark Streaming应用程序的时候,我们可以使用如下方法创建基于RDD队列的DStream:streamingContext.queueStream(queueOfRDD)本文demo场景是:每隔1秒创建一个RDD,Streaming每隔2秒就对数据进行处理。代码新建一个LzTestRDDQueueStream.scala代码文件,如下所示:package spa...

2019-12-26 11:27:31 643

原创 基于spark的流式数据处理—SparkStreaming开发demo—文件流

本文主要完成一个spark streaming的demo,本文主要演示的是以下基本输入数据源:文件输入流;套接字输入流;RDD队列流。如果是编写一个独立的Spark Streaming程序,而不是在spark-shell中运行,则需要通过如下方式创建StreamingContext对象:import org.apache.spark.SparkConfimport org.apac...

2019-12-25 18:26:55 808

原创 基于spark的流式数据处理—DStream概述

本文介绍spark streaming的DStream用法:Spark Streaming工作机制Spark Streaming程序的基本步骤创建StreamingContext对象Spark Streaming工作机制在Spark Streaming中,会有一个组件Receiver,作为一个长期运行的task跑在一个Executor上;每个Receiver都会负责一个inpu...

2019-12-25 16:53:52 461

原创 基于spark的流式数据处理—spark streaming

本文主要介绍一下spark streaming,从以下三个方面来介绍:Spark Streaming设计Spark Streaming与Storm的对比从“Hadoop+Storm”架构转向Spark架构Spark Streaming设计Spark Streaming可整合多种输入数据源,如Kafka、Flume、HDFS,甚至是普通的TCP套接字。经处理后的数据可存储至文件系统、数...

2019-12-25 14:58:46 1218

原创 基于spark的流式数据处理—流计算处理流程以及应用场景

本文主要从一下几个方面来介绍流计算处理流程:概述数据实时采集数据实时计算实时查询服务概述传统的数据处理流程,需要先采集数据并存储在关系数据库等数据管理系统中,之后由用户通过查询操作和数据管理系统进行交互,如下图所示:传统的数据处理流程隐含了两个前提:存储的数据是旧的。存储的静态数据是过去某一时刻的快照,这些数据在查询时可能已不具备时效性了;需要用户主动发出查询来获取结果。...

2019-12-25 14:13:12 3268

原创 基于spark的流式数据处理—流计算

概念流计算:实时获取来自不同数据源的海量数据,经过实时分析处理,获得有价值的信息。流计算秉承一个基本理念,即数据的价值随着时间的流逝而降低,如用户点击流。因此,当事件出现时就应该立即进行处理,而不是缓存起来进行批量处理。为了及时处理流数据,就需要一个低延迟、可扩展、高可靠的处理引擎。对于一个流计算系统来说,它应达到如下需求:高性能:处理大数据的基本要求,如每秒处理几十万条数据;海量式...

2019-12-25 11:37:18 891

原创 基于spark的流式数据处理—批处理和流处理区别

静态数据很多企业为了支持决策分析而构建的数据仓库系统,其中存放的大量历史数据就是静态数据。技术人员可以利用数据挖掘和OLAP(On-Line Analytical Processing)分析工具从静态数据中找到对企业有价值的信息。流数据近年来,在Web应用、网络监控、传感监测等领域,兴起了一种新的数据密集型应用——流数据,即数据以大量、快速、时变的流形式持续到达。实例:PM2.5检测、电子...

2019-12-25 11:23:22 3096

原创 设计模式—代理模式与装饰器模式区别

前言从菜鸟设计模式教程上摘下来一段解释代理模式与装饰器模式、适配器模式的区别:和适配器模式的区别:适配器模式主要改变所考虑对象的接口,而代理模式不能改变所代理类的接口;和装饰器模式的区别:装饰器模式为了增强功能,而代理模式是为了加以控制。代理模式和装饰器模式非常相近,本文通过举例,针对俩者的区别进行探讨。示例:孩子会吃饭创建孩子吃饭的接口public interface IChi...

2019-12-11 14:23:41 585

原创 设计模式—装饰器模式

前言装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。我们通过下面的实例来演示装饰器模式的用法。其中,我们将把一个形状装饰上不同的颜色,同时又不改变形状类。原理UML类图1、C...

2019-12-11 10:58:56 109

原创 设计模式—设计模式七大设计原则

设计模式的目的软件编写过程中,程序员面临者来自:耦合性、内聚性(高内聚、低耦合)可维护性可扩展性(当需要增加新的功能时,非常的方便,成为可维护性)重用性(相同代码不用多次编写)灵活性可读性(编程规范性,便于其他程序员的阅读和理解)等等多方面的挑战,设计模式就是为了让程序具有更好的上面这些性质。另外之前听一个设计模式相关的视频,老师讲了两个金句:设计模式包含了面向对象的精髓...

2019-12-10 20:22:20 284

原创 设计模式—组合与聚合详解

在UML类图中,聚合是空心菱形,组合是实心菱形。简单来说:组合的关系就像一个学生和他的各个器官,手、脚、鼻子、眼睛等器官组合成了一个学生,这些器官离开了学生这个个体,也就失去了意义,无法单独生存,因此,组合关系的类具有相同的生命周期,它们的联系更加紧密。而聚合就像一个班级有许多学生构成,学生离开了班级,作为一个个体仍然能够存活。聚合案例public ClassRoom{ public...

2019-12-10 18:18:07 2371

原创 设计模式—策略模式详解

前言在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。定义一系列算法,将每个算法封装到具有公共接口的一系列策略类中,从而使它们可以相互替换 & 让算法可在不影响客户端的情况...

2019-12-10 16:35:02 217

原创 设计模式—解释器模式详解《二》

解释器模式是类的行为模式,给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器,客户端可以使用这个解释器来解释这个语言中的句子。为了加深对于解释器模式的理解,大家可以先看我的第一篇设计模式—解释器模式详解《一》意图给定一个语言,定义它的文法表示,并定义一个解释器,这个解释器使用该标识来解释语言中的句子。用途对于一些固定文法构建一个解释句子的解释器。何时使用如果一...

2019-12-10 11:58:25 200

原创 设计模式—解释器模式详解《一》

前言解释器模式是23种设计模式的最后一个设计模式,要讲清楚解释器模式,我们分两个部分来理解,本篇是第一部分先理解它目前的应用场景,然后再理解它的原理。为了帮助理解解释器模式,我们先来谈谈编译原理上说的编译器,编译器分为几个部分组成,比如:词法分析器语法分析器语义分析器中间代码优化器最终的代码生成器而这个解释器其实就是完成了对语法的解析,将一个个的词组解释成了一个个语法范畴,之后...

2019-12-10 11:20:45 253

原创 测试架构师修炼之道—取舍之道

我之前一直在思考,产品和测试到底是什么关系,前两年我们企业处在野蛮式的增长的时候,那时候为了进度放弃了很多的测试要求,甚至没有测试,我当时就很困惑,虽然那时候我还没有带测试团队,测试人员更加困惑了,降低测试要求其实对于测试人员来说是很痛苦的。最近在看了这本书之后,关于这块有了更深入的理解和方法论,对于测试架构师来说,出了产品测试技术之外,还需要更深入的了解产品的价值,要围绕着如何让产品成功去做测...

2019-12-06 21:23:40 367

原创 测试架构师修炼之道—秘书九段

前言在读《测试架构师修炼之道》的第二张的时候,对于我一直在思考的问题给出一些观点,我受益匪浅。之前的困惑是:工作两年的测试工程师和工作三年的测试工程师有什么区别?工作三年和工作四年的呢?然后本书的第二章给出了 “秘书九段” 的故事,我认为非常有道理,让我有了一个具体的理解。秘书九段总经理要求秘书安排次日上午9点开一个会议。这件事需要通知所有参会人员,秘书自己也要在会议中做服务工作,这是“...

2019-12-06 20:10:33 357

原创 测试架构师修炼之道—测试工程师的三年之痒

前言近一年公司让我管理测试团队,我就需要思考测试团队和团队成员的发展问题。我原来一直在管理开发团队,对于测试虽然说有一定了解,但是毕竟还是不够深入,所以就打算读一些关于测试相关的书籍。经朋友推荐,我选择了《测试架构师修炼之道—从测试工程师到测试架构师》这本书,读了感觉还不错。最原始在定义软件测试这个行业的时候,曾经有过一个定义:一个出色的分析人员在具有5年代码评审和编写设计规格说明书经验之后被...

2019-12-06 20:01:17 417

原创 设计模式—抽象工厂模式详解

前言在上文提到的最易懂的设计模式系列解析:工厂方法模式,发现工厂方法模式存在一个严重的问题:一个具体工厂只能创建一类产品而在实际过程中,一个工厂往往需要生产多类产品。为了解决上述的问题,我们又使用了一种新的设计模式:抽象工厂模式。UML类图抽象工厂模式中存在四种角色,分别是抽象工厂角色,具体工厂角色,抽象产品角色,具体产品角色。抽象工厂角色:担任这个角色的是工厂方法模式的核心,它是与...

2019-12-06 18:31:19 622

原创 基于spark的Scala编程—Traits用法

Scala Trait(特征)Scala Trait(特征) 相当于 Java 的接口,实际上它比接口还功能强大。与接口不同的是,它还可以定义属性和方法的实现。一般情况下Scala的类只能够继承单一父类,但是如果是 Trait(特征) 的话就可以继承多个,从结果来看就是实现了多重继承。Trait(特征) 定义的方式与类类似,但它使用的关键字是 trait。案例Scala实现多继承的方式如下:...

2019-12-06 18:04:44 211

原创 基于spark的Scala编程—Scala字符串

本文来说一下Scala的字符串操作,在第一次使用Scala字符串的时候,基本都是用字符串相加(+)来实现的,后来发现了Scala字符串还有插值,瞬间感觉自己low了,所以要特别记录一下。Scala字符串Scala的String构建在Java的String上,并向Java的String添加了字符串插值等附加功能。例子下面的示例说明了使用双引号的字符串常量:object Main { d...

2019-12-05 22:09:14 789

原创 设计模式—工厂方法模式详解

前言前一篇介绍了《设计模式—简单工厂模式详解》,可以知道简单工厂模式有一些弊端:工厂类集中了所有实例(产品)的创建逻辑,一旦这个工厂不能正常工作,整个系统都会受到影响;违背“开放 - 关闭原则”,一旦添加新产品就不得不修改工厂类的逻辑,这样就会造成工厂逻辑过于复杂;简单工厂模式由于使用了静态工厂方法,静态方法不能被继承和重写,会造成工厂角色无法形成基于继承的等级结构。为了解决上述的问...

2019-12-05 20:40:31 239

原创 设计模式—简单工厂模式详解

简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。...

2019-12-04 21:38:34 325

原创 高绩效团队-VUCA时代的五个管理策略《三》—创新管理

书中关于创新这一块,主要想表达的是:给予团队成员安全感,让员工安心地畅所欲言。其实经过一年的管理实践,我也发现其实员工都是想畅所欲言地发表自己的看法,但是如果员工提出的建议或者问题2-3没有得到重视之后,就不会再畅所欲言了,就会欲言又止,因为没有安全感,认为讲的话和问题不会得到重视或者尊重。让我最深刻的是:坦诚交流从领导者开始。领导者可以从如下几个方向思考优化:1、关注目标:领导者必须确保员...

2019-12-03 21:45:47 927

原创 高绩效团队-VUCA时代的五个管理策略《二》—代际管理

接着上一篇对于《高绩效团队》的全程回顾,这篇文章主要想论述一下书中的一个管理策略:代际管理。千禧一代的崛起在VUCA时代,人员管理也会有非常大的不确定性,是时候接受这样一个事实了:我们是不一样的。最优秀的经理人一定要学会适应各代员工之间的区别以及特定的需求,必须要学会如何强化不同年代员工间的纽带关系,并且可以很好的照顾到他们各自的需要,有的差别则颠覆了传统的领导和智慧。最明显的差别有:自...

2019-12-01 14:45:40 2207

原创 高绩效团队-VUCA时代的五个管理策略《一》—全书回顾

最近一年,我一直在跟年轻一代打交道,主要是95后。我发现他们身上有一些特点,或者说我发现这个时代有一些特点,但是我不明白是什么特点。上次被公司派去听关于中高层人员培养外训,听到一位老师推荐了关于VUCA时代的一本书《高绩效团队-VUCA时代的五个管理策略》,然后就买来看了一下,发现可以解决我的部分疑虑。今天这篇文章主要还是先回顾一下这本书,然后后面会再继续跟进对于这本书我会在哪些方面应用到管理当中...

2019-11-30 20:51:59 6632

原创 基于spark的Scala编程—循环处理DataFrame方法

本文主要介绍spark的Scala编程中的循环处理DataFrame的方法,本文主要是在写数据自动化测试的一个demo,大体的思路就是配置好了测试用例,现在需要批量执行测试用例。目前主要有如下三个方法:For/While循环多线程DataFrame的foreachPartition函数这里给出来的都是代码片段,如果需要演示上面集中方法,那么需要在本地先构造好初始的DataFrame,...

2019-11-30 18:04:14 6042 1

原创 基于spark的Scala编程—在当前会话实现UDF(自定函数)

本文主要是记录关于自定义函数的用法,spark-sql中的自定义函数有两种方式:sqlContext.udf.register,这种方式只能在sql中可见;spark.sql.function.udf(),这种方式外部都可见;本文主要介绍第一种方式,我目前应用到的是第一种方式,代码和案例如下: import sparkSession.implicits._ import ...

2019-11-28 12:36:06 606

原创 基于spark的Scala编程—读取properties文件

后缀properties是一种属性文件,这种文件以key=value格式存储内容,Java中可以使用Properties类来读取这个文件:String value=p.getProperty(key);就能得到对应的数据,一般这个文件作为一些参数的存储,代码就可以灵活一点。今天这篇文章主要以jdbc.properties文件为例来介绍在Scala中如何使用会比较方便,只是推荐的一种方案,希望...

2019-11-25 20:27:37 3018 1

原创 基于spark的Scala编程—RDD、DataFrame和DataSet的区别

本文主要介绍RDD、DataFrame和DataSet这三者到底有什么区别,主要介绍以下几个方面:分别出现在spark的哪些版本?各自的优缺点是什么?应该如何选择使用哪个类别?分别出现在spark的哪些版本?RDD是spark一开始就提出的概念,DataFrame是spark1.3.0版本提出来的,spark1.6.0版本又引入了DateSet的,但是在spark2.0版本中,Dat...

2019-11-20 20:36:30 752

原创 基于spark的Scala编程—DataFrame操作之分组聚合

本文主要是写关于Scala如何操作spark的DataFrame,本文先介绍分组聚合的用法,详细请看下面的步骤,以下所有的代码都是在IntelliJ Idea里面编写并且远程调试的。先创建sparksession对象,代码如下: val conf = new SparkConf().setAppName("LzSparkDatasetExamples").setMaster("local...

2019-11-20 19:45:13 2320 1

原创 基于spark的Scala编程—DataFrame操作之filter和where

本文主要是写关于Scala如何操作spark的DataFrame,本文先介绍filter的用法,详细请看下面的步骤,以下所有的代码都是在IntelliJ Idea里面编写并且远程调试的。先创建sparksession对象,代码如下: val conf = new SparkConf().setAppName("LzSparkDatasetExamples").setMaster("loc...

2019-11-20 18:17:58 7741

原创 基于spark的Scala编程—DataFrame操作之select

本文主要是写关于Scala如何操作spark的DataFrame,本文先介绍select的用法,详细请看下面的步骤,以下所有的代码都是在IntelliJ Idea里面编写并且远程调试的。第一步,先创建sparksession对象,代码如下: val conf = new SparkConf().setAppName("LzSparkDatasetExamples").setMaster(...

2019-11-20 17:30:53 6383

原创 基于IntelliJ Idea的Scala开发环境搭建一使用Git管理代码

前面几篇文章讲了基于IntelliJ Idea的Scala开发环境搭建以及几个Demo,如果想要了解相关内容,请参考我的Hadoop/spark栏目下的相关文章,本文主要介绍IntelliJ Idea的Git代码管理配置,主要步骤如下:新建一个基于SBT的Scala项目Git代码管理配置Git的ignore文件配置与启用新建一个基于SBT的Scala项目关于如何新建基于SBT的Sca...

2019-11-18 21:05:29 367

原创 基于IntelliJ Idea的Scala开发demo一Spark-SQL操作Postgresql开发

本文主要是spark-sql与PostgreSQL的交互实现demo,具体步骤如下:导入相关PostgreSQL的依赖驱动包编写spark-sql操作PostgreSQL的代码打包运行导入相关PostgreSQL的依赖驱动包如下图所示,在build.sbt依赖管理文件中加入如下依赖:// https://mvnrepository.com/artifact/org.postgres...

2019-11-15 19:01:20 526

原创 Scala编程—var/val的区别

scala中,var可以理解为声明的是变量,因此是可变的,val声明的是值,因此是不可变得。//var 声明的是变量scala> var age=18age: Int = 18scala> age=19age: Int = 19//val 声明的是值,是不可更改的scala> val name="张三"name: String = 张三scala> ...

2019-11-15 12:54:05 369

原创 基于IntelliJ Idea的Scala开发demo一Spark-SQL开发demo

真正在做数据分析和数据处理的时候,spark-sql还是用得比较的,本文主要给出基于Scala的spark-sql开发demo,本文已经假设IntelliJ Idea上的Scala开发环境,包括SBT已经安装配置完成,如果读者还没有这些准备的话,可以参考我前面的关于IntelliJ Idea上Scala的spark开发环境搭建相关文章。

2019-11-14 17:15:05 1204

原创 基于IntelliJ Idea的Scala开发环境搭建一远程上传以及远程集群调试

具体步骤如下:配置远程的Deployment配置本地上传目录以及远程目标目录

2019-11-13 14:27:36 985

vs_community__869170273.1614947939.exe

visual studio的社区版,2019版

2021-03-11

spring集成ehcache所需的jar包

spring集成ehcache所需的jar包

2015-08-24

spring4.0的restful webservice构建和发布

代码中包含: 1、spring4.0文件上传 2、spring restful 的webservice构建、以及调用 3、spring schedule定时任务

2015-08-17

空空如也

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

TA关注的人

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