自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spark Streaming 原理

整体流程Spark Streaming中,会有一个接收器组件Receiver,作为一个长期运行的task跑在一个Executor上。Receiver接收外部的数据流形成input DStreamDStream会被按照时间间隔划分成一批一批的RDD,当批处理间隔缩短到秒级时,便可以用于处理实时数据流。时间间隔的大小可以由参数指定,一般设在500毫秒到几秒之间。对DStream进行操作就是对RDD进行操作,计算处理的结果可以传给外部系统。Spark Streaming的工作流程像下面的图所示一样

2020-08-26 20:08:10 2300

原创 oozie当中任务的查看以及杀死

查看所有普通任务oozie jobs -oozie http://bd001:11000/oozie查看定时任务oozie jobs -oozie http://bd001:11000/oozie -jobtype coordinator oozie job -oozie http://bd001:11000/oozie -info 0000033-200526143050941-oozie-root-W杀死某个任务oozie可以通过jobid来杀死某个定时任务..

2020-06-03 20:27:13 4772

原创 第六章 扩展:开窗函数

概述https://www.cnblogs.com/qiuting/p/7880500.html●介绍开窗函数的引入是为了既显示聚集前的数据,又显示聚集后的数据。即在每一行的最后一列添加聚合函数的结果。开窗用于为行定义一个窗口(这里的窗口是指运算将要操作的行的集合),它对一组值进行操作,不需要使用 GROUP BY 子句对数据进行分组,能够在同一行中同时返回基础行的列和聚合列。●聚合函数和开窗函数聚合函数是将多行变成一行,count,avg....开窗函数是将一行变成多行..

2020-05-22 10:37:17 3777

原创 standalone-HA高可用模式

原理Spark Standalone集群是Master-Slaves架构的集群模式,和大部分的Master-Slaves结构集群一样,存在着Master单点故障的问题。如何解决这个单点故障的问题,Spark提供了两种方案:1.基于文件系统的单点恢复(Single-Node Recovery with Local File System)--只能用于开发或测试环境。2.基于zookeeper的Standby Masters(Standby Masters with ZooKeeper)-.

2020-05-20 20:02:17 5270

原创 hive 函数

内置函数内容较多,见《Hive官方文档》https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF1)查看系统自带的函数hive> show functions;2)显示自带的函数的用法hive> desc function upper;3)详细显示自带的函数的用法hive...

2020-04-28 08:05:21 8460

原创 redis的主从复制架构

redis的主从复制架构在Redis中,用户可以通过执行SLAVEOF命令或者设置slaveof选项,让一个服务器去复制(replicate)另一个服务器,我们称呼被复制的服务器为主服务器(master),而对主服务器进行复制的服务器则被称为从服务器(slave),如图所示。使用主从复制这种模式,实现node01作为主节点,node02与node03作为从节点,并且将node01所有的数据全...

2020-04-24 09:08:29 13763

原创 Hbase底层原理

HBase基本介绍简介hbase是bigtable的开源java版本。是建立在hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写nosql的数据库系统。它介于nosql和RDBMS之间,仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务(可通过hive支持来实现多表join等复杂操作)。主要用来存储结构化和半结构化的松散数据。Hbase查询数据功能很简单...

2019-12-17 18:13:38 16939 1

转载 HIVE和HBASE区别

1. 两者分别是什么?Apache Hive是一个构建在Hadoop基础设施之上的数据仓库。通过Hive可以使用HQL语言查询存放在HDFS上的数据。HQL是一种类SQL语言,这种语言最终被转化为Map/Reduce. 虽然Hive提供了SQL查询功能,但是Hive不能够进行交互查询--因为它只能够在Haoop上批量的执行Hadoop。Apache HBase是一种Key/Value系统,它运行在HDFS之上。和Hive不一样,Hbase的能够在它的数据库上实时运行,而不是运行MapR...

2020-09-02 08:33:33 1025

原创 scala 类和对象

类和对象scala是支持面向对象的,也有类和对象的概念。我们依然可以基于scala语言来开发面向对象的应用程序。创建类和对象用法使用class来定义一个类 new来创建对象参考代码object _01ClassDemo {// 创建类class Person{}​def main(args: Array[String]): Unit = { // 创建对象 val p = new Person() println(p)}}参考代码...

2020-08-26 20:08:51 2270

原创 scala

转换字符串toString方法可以返回List中的所有元素参考代码scala> val a = List(1,2,3,4)a: List[Int] = List(1, 2, 3, 4)​scala> println(a.toString)List(1, 2, 3, 4)生成字符串mkString方法,可以将元素以分隔符拼接起来。默认没有分隔符参考代码scala> val a = List(1,2,3,4)a: List[Int] = Lis.

2020-08-24 20:25:29 3116 1

原创 元组-列表

元组元组可以用来包含一组不同类型的值。例如:姓名,年龄,性别,出生年月。元组的元素是不可变的。定义元组使用括号来定义元组val/var 元组 = (元素1, 元素2, 元素3....)使用箭头来定义元组(元组只有两个元素)val/var 元组 = 元素1->元素2参考代码scala> val a = ("zhangsan", 20)a: (String, Int) = (zhangsan,20)scala> val a ..

2020-08-24 20:18:38 3317

原创 Scala 添加/修改/删除元素,遍历数组

添加/修改/删除元素使用+=添加元素 使用-=删除元素 使用++=追加一个数组到变长数组参考代码// 定义变长数组scala> val a = ArrayBuffer("hadoop", "spark", "flink")a: scala.collection.mutable.ArrayBuffer[String] = ArrayBuffer(hadoop, spark, flink)// 追加一个元素scala> a += "flume"re..

2020-08-24 20:14:30 7745 1

原创 Scala 函数,数组

函数scala支持函数式编程,将来编写Spark/Flink程序中,会大量使用到函数定义函数语法val 函数变量名 = (参数名:参数类型, 参数名:参数类型....) => 函数体函数是一个对象(变量) 类似于方法,函数也有输入参数和返回值 函数定义不需要使用def定义 无需指定返回值类型参考代码scala> val add = (x:Int, y:Int) => x + yadd: (Int, Int) => Int = &lt.

2020-08-24 20:10:32 2907

原创 Scala方法

方法一个类可以有自己的方法,scala中的方法和Java方法类似。但scala与Java定义方法的语法是不一样的。定义方法语法def methodName (参数名:参数类型, 参数名:参数类型) : [return type] = { // 方法体:一系列的代码}参数列表的参数类型不能省略 返回值类型可以省略,由scala编译器自动推断 返回值可以不写return,默认就是{}块表达式的值示例定义一个方法,实现两个整形数值相加,返回相加后的结果 调用该...

2020-08-24 20:08:17 2851

原创 Scala 中的break和continue

scala中,没有break/continue关键字 如果一定要使用break/continue,就需要使用scala.util.control包的Break类的breable和break方法。实现break用法导入Breaks包import scala.util.control.Breaks._ 使用breakable将for表达式包起来 for表达式中需要退出循环的地方,添加break()方法调用示例使用for表达式打印1-100的数字,如果数字到达50,退出for表达式参

2020-08-24 20:05:55 3067

原创 scala条件表达式和循环

条件表达式就是if表达式。scala条件表达式的语法和Java一样。有返回值的if参考代码scala> val sex = "male"sex: String = male​scala> val result = if(sex == "male") 1 else 0result: Int = 1与Java不一样的是,在scala中,条件表达式也是有返回值的 在scala中,没有三元表达式,可以使用if表达式替代三元表达式块表达式scala中,使用{}表

2020-08-24 20:05:05 2926

原创 scala数据类型与操作符

scala中的类型以及操作符绝大多数和Java一样数据类型 基础类型 类型说明 Byte 8位带符号整数 Short 16位带符号整数 Int 32位带符号整数 Long 64位带符号整数 Char 16位无符号Unicode字符 Strin

2020-08-24 20:00:31 2820

原创 scala 声明变量 语法格式

Java变量定义int a = 0;在scala中,可以使用val或者var来定义变量,语法格式如下:val/var 变量标识:变量类型 = 初始值其中val定义的是不可重新赋值的变量 var定义的是可重新赋值的变量 scala中定义变量类型写在变量名后面 scala的语句最后不需要添加分号定义一个变量示例:定义一个变量保存一个人的名字"tom"参考代码scala> val name:String = "tom"name: String =

2020-08-24 19:59:36 3043

原创 scala 入门

scala简介scala是运行在JVM上的多范式(多种编程方法)编程语言,同时支持面向对象和面向函数编程早期,scala刚出现的时候,并没有怎么引起重视,随着Spark和Kafka这样基于scala的大数据框架的兴起,scala逐步进入大数据开发者的眼帘。为什么使用scala开发大数据应用程序(Spark程序、Flink程序) 表达能力强,一行代码抵得上Java多行,开发速度快 兼容Java,可以访问庞大的Java类库,例如:操作mysql、redis、freemarker..

2020-08-24 19:56:17 2866

原创 Flink 的引入

这几年大数据的飞速发展,出现了很多热门的开源社区,其中著名的有 Hadoop、 Storm,以及后来的 Spark,他们都有着各自专注的应用场景。Spark 掀开了内存计算的先河,也以内存为赌注,赢得了内存计算的飞速发展。 Spark 的火热或多或少的掩盖了其他分布式计算的系统身影。就像 Flink,也就在这个时候默默的发展着。在国外一些社区,有很多人将大数据的计算引擎分成了 4 代,当然,也有很多人不会认同。我们先姑且这么认为和讨论。首先第一代的计算引擎,无疑就是 Hadoop 承载的 MapR

2020-08-20 18:01:00 3722

原创 Apache Flink 介绍

Flink 的前身Flink 的前身是2008年柏林理工大学的一个研究性项目(Stratosphere)2014年被Apache所接受,然后快速成为ASF的顶级项目之一

2020-08-19 08:09:43 3872

原创 oozie的任务调度,定时任务执行

在oozie当中,主要是通过Coordinator来实现任务的定时调度,与workflow类似的,Coordinator这个模块也是主要通过xml来进行配置即可,接下来我们就来看看如何配置Coordinator来实现任务的定时调度Coordinator的调度主要可以有两种实现方式第一种:基于时间的定时任务调度,oozie基于时间的调度主要需要指定三个参数,第一个起始时间,第二个结束时间,第三个调度频率第二种:基于数据的任务调度,只有在有了数据才会去触发执行这种是基于数据的调...

2020-06-03 20:25:06 5222

原创 oozie的任务串联

在实际工作当中,肯定会存在多个任务需要执行,并且存在上一个任务的输出结果作为下一个任务的输入数据这样的情况,所以我们需要在workflow.xml配置文件当中配置多个action,实现多个任务之间的相互依赖关系需求:首先执行一个shell脚本,执行完了之后再执行一个MR的程序,最后再执行一个hive的程序第一步:准备工作目录cd /export/servers/oozie-4.1.0-cdh5.14.0/oozie_worksmkdir -p sereval-actions.

2020-06-03 20:22:45 3810

原创 oozie ErrorCode含义

E0000(XLog.STD,“系统属性'oozie.home.dir”未定义”)E0001(XLog.OPS,“无法创建运行目录,{0}”)E0002(XLog.STD,“系统在安全模式”)E0003(XLog.OPS,“ Oozie主目录必须是绝对路径[{0}]”))E0004(XLog.OPS,“ Oozie主目录不存在[{0}]”)E0010 (XLog.OPS,“无法初始化日志服务,{0}”)E0011(XLog.OPS,“ Log4j文件必须是文件名[{0}]””)E0012(XLog....

2020-06-03 10:42:44 4404

原创 使用oozie调度MR任务

新手上路多多关照

2020-06-02 22:35:58 3865

原创 使用oozie调度hive

第一步:拷贝hive的案例模板cd /export/servers/oozie-4.1.0-cdh5.14.0cp -ra examples/apps/hive2/ oozie_works/第二步:编辑hive模板这里使用的是hiveserver2来进行提交任务,需要注意我们要将hiveserver2的服务给启动起来hive --service hiveserver2 &hive --service metastore &修改job.pr...

2020-06-02 22:26:13 4525

原创 oozie调度shell脚本

KEY 含义 nameNode HDFS地址 jobTracker jobTracker(ResourceManager)地址 queueName Oozie队列(默认填写default) examplesRoot 全局目录(默认填写examples) oozie.usr.system.lib...

2020-06-02 22:19:00 4095

原创 Oozie的安装及使用

Oozie的介绍Oozie是运行在hadoop平台上的一种工作流调度引擎,它可以用来调度与管理hadoop任务,如,MapReduce、Pig等。oozie的组件介绍workFlow:工作流,定义工作流任务的执行,主要由一个个的action组成,每个action都是一个任务,在xml中进行配置即可Coordinator:协作器,可以理解为工作流的协调器,可以将多个工作流协调成一个工作流来进行处理。也是oozie当中的定时任务调度的模块,Bundle:捆,束。多个Coordinat..

2020-06-02 22:13:21 4012

原创 第七章 Spark-On-Hive

概述●官网http://spark.apache.org/docs/latest/sql-data-sources-hive-tables.htmlConfiguration of Hive is done by placing your hive-site.xml, core-site.xml (for security configuration), and hdfs-site.xml (for HDFS configuration) file in conf/.●Hive查询流程.

2020-05-22 10:43:06 3735

原创 第五章 Spark SQL自定义函数

自定义函数分类类似于hive当中的自定义函数, spark同样可以使用自定义函数来实现新的功能。spark中的自定义函数有如下3类1.UDF(User-Defined-Function)输入一行,输出一行2.UDAF(User-Defined Aggregation Funcation)输入多行,输出一行3.UDTF(User-Defined Table-Generating Functions)输入一行,输出多行自定义UDF●需求有udf.txt数据格式如.

2020-05-22 10:26:28 3740

原创 第四章 Spark SQL多数据源交互

Spark SQL可以与多种数据源交互,如普通文本、json、parquet、csv、MySQL等1.写入不同数据源2.读取不同数据源写数据package cn.itcast.sql import java.util.Properties import org.apache.spark.SparkContext import org.apache.spark.rdd.RDD import org.apache.spark.sql.{DataFram.

2020-05-22 10:19:52 5065

原创 第三章 使用IDEA开发Spark SQL

创建DataFrame/DataSetSpark会根据文件信息尝试着去推断DataFrame/DataSet的Schema,当然我们也可以手动指定,手动指定的方式有以下几种:第1种:指定列名添加Schema第2种:通过StructType指定Schema第3种:编写样例类,利用反射机制推断Schema指定列名添加Schema package cn.itcast.sql import org.apache.spark.SparkContext import.

2020-05-21 11:29:01 3812

原创 第二章 Spark SQL初体验

入口-SparkSession●在spark2.0版本之前SQLContext是创建DataFrame和执行SQL的入口HiveContext通过hive sql语句操作hive表数据,兼容hive操作,hiveContext继承自SQLContext。●在spark2.0之后SparkSession 封装了SqlContext及HiveContext所有功能。通过SparkSession还可以获取到SparkConetxt。SparkSession可以执行SparkSQL也可.

2020-05-21 11:23:18 3728

原创 第一章 Spark SQL概述

Spark SQL官方介绍●官网http://spark.apache.org/sql/Spark SQL是Spark用来处理结构化数据的一个模块。Spark SQL还提供了多种使用方式,包括DataFrames API和Datasets API。但无论是哪种API或者是编程语言,它们都是基于同样的执行引擎,因此你可以在不同的API之间随意切换,它们各有各的特点。●Spark SQL 的特点1.易整合可以使用java、scala、python、R等语言的API操作..

2020-05-21 11:17:38 3669

原创 SparkCore

RDD详解什么是RDD●为什么要有RDD?在许多迭代式算法(比如机器学习、图算法等)和交互式数据挖掘中,不同计算阶段之间会重用中间结果,即一个阶段的输出结果会作为下一个阶段的输入。但是,之前的MapReduce框架采用非循环式的数据流模型,把中间结果写入到HDFS中,带来了大量的数据复制、磁盘IO和序列化开销。且这些框架只能支持一些特定的计算模式(map/reduce),并没有提供一种通用的数据抽象。AMP实验室发表的一篇关于RDD的论文:《Resilient Distributed Dat

2020-05-20 21:04:03 3781

原创 spark如果整合Yarn报错或无法查看log需做如下操作

1.修改hadoop的yarn-site.xmlvim /export/servers/hadoop/etc/hadoop/yarn-site.xml <property> <name>yarn.resourcemanager.hostname</name> <value>node01</value> </pr...

2020-05-20 20:12:59 5133

原创 IDEA编写Spark程序

目录pom.xml本地运行集群运行Java8版pom.xml●创建Maven项目并补全目录、配置pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...

2020-05-20 20:11:04 3894

原创 Spark参数详解

spark-shellspark-shell是Spark自带的交互式Shell程序,方便用户进行交互式编程,用户可以在该命令行下可以用scala编写spark程序,适合学习测试时使用!●示例spark-shell可以携带参数spark-shell --master local[N] 数字N表示在本地模拟N个线程来运行当前任务spark-shell --master local[*] *表示使用当前机器上所有可用的资源默认不携带参数就是--master local[*]spark-

2020-05-20 20:07:27 4337

原创 on yarn集群模式

●官方文档http://spark.apache.org/docs/latest/running-on-yarn.html准备工作1.安装启动Hadoop(需要使用HDFS和YARN,已经ok)2.安装单机版Spark(已经ok)注意:不需要集群,因为把Spark程序提交给YARN运行本质上是把字节码给YARN集群上的JVM运行,但是得有一个东西帮我去把任务提交上个YARN,所以需要一个单机版的Spark,里面的有spark-shell命令,spark-submit命令...

2020-05-20 20:05:42 3820

原创 standalone集群模式

集群角色介绍Spark是基于内存计算的大数据并行计算框架,实际中运行计算任务肯定是使用集群模式,那么我们先来学习Spark自带的standalone集群模式了解一下它的架构及运行机制。Standalone集群使用了分布式计算中的master-slave模型,master是集群中含有master进程的节点slave是集群中的worker节点含有Executor进程●Spark架构图如下(先了解):http://spark.apache.org/docs/latest/cluster-o

2020-05-20 19:57:35 5343

空空如也

空空如也

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

TA关注的人

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