- 博客(76)
- 资源 (1)
- 收藏
- 关注
原创 BigData - Hadoop 内容目录
1.1 Hadoop简介Hadoop组成HDFS分布式存储系统伪分布式搭建伪分布式测试集群节点集群相关HDFS读写数据流程1.2 Hadoop大数据思想搭建完全分布式(练习用)Hadoop 1.x 2.x HA Federation1.3 Hadoop搭建高可用集群搭建Hadoop - HAYarn环境 各节点解析搭建Yarn环境Yarn集群开启&...
2019-12-17 11:17:22 151
原创 Spark Streaming 02 SparkStreaming算子操作
SparkStreaming算子操作1. foreachRDDoutput operation算子,必须对抽取出来的RDD执行action类算子,代码才能执行。2. transformtransformation类算子可以通过transform算子,对Dstream做RDD到RDD的任意操作。3. updateStateByKeytransformation算子updat...
2019-12-31 20:12:47 158
原创 Spark Streaming 01
1. SparkStreaming简介SparkStreaming是流式处理框架,是Spark API的扩展,支持可扩展、高吞吐量、容错的准实时数据流处理,实时数据的来源可以是:Kafka, Flume, Twitter, ZeroMQ或者TCP sockets,并且可以使用高级功能的复杂算子来处理流数据。例如:map,reduce,join,window 。最终,处理后的数据可以存放在文件系统...
2019-12-31 20:07:04 116
原创 SparkSql 06 开窗函数
row_number()row_number() 开窗函数是按照某个字段分组,然后取另一字段的前几个的值,相当于 分组取topN开窗函数格式:row_number() over (partitin by xxx order by xxx )java代码示例:SparkSession sparkSession = SparkSession .builder(...
2019-12-31 19:59:17 246
原创 打印Spark RDD中的内容
打印Spark RDD中的内容一、方法 两种方式:rdd.collect().foreach {println}rdd.take(10).foreach { println }//take(10) 取前10个二、例子val logData = sparkcontext.textFile(logFile, 2).cache() ? ?logData.collect().fore...
2019-12-31 16:25:37 848
原创 SparkSql 05 自定义函数UDF和UDAF
1. UDF:用户自定义函数。java:SparkSession sparkSession = SparkSession .builder() .appName("udf") .master("local") .getOrCreate();JavaSparkCon...
2019-12-31 15:22:16 190
原创 SparkSql 03 Spark On Hive的配置
1. 在Spark客户端配置spark On hive在Spark客户端安装包下spark-2.3.1/conf中创建文件hive-site.xml:配置hive的metastore路径<configuration> <property> <name>hive.metastore.uris</name> &...
2019-12-31 15:17:23 101
原创 SparkSql 04 序列化知识
序列化与反序列化序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。Serializable接口 & serialVersionUID一个对象序列化的接口,一个类只有实现了Serializable接口,它的对象才能被序列化。接口里面什么内容都没有,我们可以将它理解成一个标识接口。从说明中我...
2019-12-31 11:49:17 382
原创 Hive文件存储格式有哪些
Hive文件存储格式有哪些?1.TextFile文本格式2.RCFile一种列存储格式3.ORC ★一种列存储格式 进阶版RCFile4.Parquet ★一种列存储格式5.AVRO6.JsonFilejson文件7.InputFormat...
2019-12-30 20:14:14 279
原创 SparkSql 02 dataset表创建
写sql之前需要先创建SparkSession对象基本格式:// SparkSession对象SparkSession sparkSession = SparkSession.builder() .appName("sql") .master("local") .getOrCreate();创建Dataset(表)两种方式代码示例:p...
2019-12-30 19:59:07 501
原创 SparkSql 01 介绍
1. SharkShark是基于Spark计算框架之上且兼容Hive语法的SQL执行引擎,由于底层的计算采用了Spark,性能比MapReduce的Hive普遍快2倍以上,当数据全部load在内存的话,将快10倍以上,因此Shark可以作为交互式查询应用服务来使用。除了基于Spark的特性外,Shark是完全兼容Hive的语法,表结构以及UDF函数等,已有的Hive Sql可以直接进行迁移至Sh...
2019-12-30 19:31:25 111
原创 Spark 源码结论
整体流程构造器 → onstart → receive → onstop结论1:当自己没有配置--executor-cores参数时,默认每个worker为当前application启动一个executor结论2:如果没有设置--total-executor-cores,则集群默认将剩余的核数全部分配给当前的application结论3:spreadOut:决定是否分散启...
2019-12-30 13:54:23 133
原创 Spark背诵流程中问题
为什么Spark比MR快100倍?在迭代场景下甚至比MR快100,指的是在机器学习和不断迭代场景下,其他情况,没有这么夸张. 磁盘IO是数据读写的瓶颈 与hdfs相比spark将数据存储在内存中 忽略了磁盘IO 而hdfs多次读写磁盘IO因此spark更快Spark为什么速度快?1.使用内存计算(这里指省略了多次的磁盘IO读写)2.DAGScheduler(使用有向无环图调度器)3.…...
2019-12-29 22:50:18 105
原创 Spark 背诵流程
谈谈Spark------速度Spark是一个批处理计算引擎,它的运行速度非常快,在迭代场景下甚至比MR快100倍------易用(API)可以使用Java,scala,Python,R和Sql来快速编写程序------普遍支持一站式开发,基本上只需安装spark即可------多处运行可以运行在hadoop mesos Kubernetes 等…local Standalon...
2019-12-29 22:46:24 489
原创 12. Shuffle调优
1. SparkShuffle调优配置项1). 在代码中,不推荐使用,硬编码。new SparkConf().set(“spark.shuffle.file.buffer”,”64”)2). 在提交spark任务的时候,推荐使用。spark-submit --conf spark.shuffle.file.buffer=64 –conf ….3). 在conf下的spark-defau...
2019-12-29 20:56:34 88
原创 11. Spark内存管理
描述:Spark执行应用程序时,Spark集群会启动Driver和Executor两种JVM进程,Driver负责创建SparkContext上下文,提交任务,task的分发等。Executor负责task的计算任务,并将结果返回给Driver。同时需要为需要持久化的RDD提供储存。Driver端的内存管理比较简单,这里所说的Spark内存管理针对Executor端的内存管理。Spark内存管...
2019-12-29 19:33:05 114
原创 10. SparkShuffle & 文件寻址
1. SparkShuffle概念reduceByKey会将上一个RDD中的每一个key对应的所有value聚合成一个value,然后生成一个新的RDD,元素类型是<key,value>对的形式,这样每一个key对应一个聚合起来的value。问题:聚合之前,每一个key对应的value不一定都是在一个partition中,也不太可能在同一个节点上,因为RDD是分布式的弹性的数据集,...
2019-12-29 19:23:25 148
原创 9. Spark资源调度和任务调度
Spark资源调度和任务调度RDD: 弹性分布式数据集DAG: 有向非循环图 (directed acyclic graph)Scheduler: 调度器Task: 任务Executor: 计算节点Application的组成Application <- job <- stage <- task 从大到小Spark资源调度和任务调度的流程:启动集群后,Wor...
2019-12-27 22:29:12 256
原创 8. Stage的切割规则&计算模式
StageSpark任务会根据RDD之间的依赖关系,形成一个DAG有向无环图,DAG会提交给DAGScheduler,DAGScheduler会把DAG划分相互依赖的多个stage,划分stage的依据就是RDD之间的宽窄依赖。遇到宽依赖就划分stage,每个stage包含一个或多个task任务。然后将这些task以taskSet的形式提交给TaskScheduler运行。stage是由一组并...
2019-12-27 21:51:51 266
原创 7. RDD 窄依赖&宽依赖
窄依赖和宽依赖RDD之间有一系列的依赖关系,依赖关系又分为窄依赖和宽依赖。窄依赖 ---- 减少或不变父RDD和子RDD partition之间的关系是一对一的。或者父RDD和子RDD partition关系是多对一的。不会有shuffle的产生。宽依赖 ---- 增多父RDD与子RDD partition之间的关系是一对多。会有shuffle的产生。宽窄依赖图理解...
2019-12-27 21:41:23 147
原创 4. Spark代码流程
Spark代码流程1. 创建SparkConf对象可以设置Application name。可以设置运行模式及资源需求。java示例: SparkConf conf = new SparkConf(); conf.setMaster("local").setAppName("wordcount");scala示例: val conf = new SparkConf(...
2019-12-27 21:36:05 142
原创 3. Spark任务执行原理
Spark任务执行原理以上图中有四个机器节点,Driver和Worker是启动在节点上的进程,运行在JVM中的进程。Driver与集群节点之间有频繁的通信。Driver负责任务(tasks)的分发和结果的回收。任务的调度。如果task的计算结果非常大就不要回收了。会造成oom。Worker是Standalone资源调度框架里面资源管理的从节点。也是JVM进程。Master是Stand...
2019-12-27 21:25:53 102
原创 6. Spark任务运行流程 待进一步完善
StandaloneStandalone-clientStandalone-clusterYarnYarn-clientYarn-cluster
2019-12-27 19:03:22 159
原创 IntelliJ IDEA 错误解决 (与默认的源版本1.5冲突)
控制台显示:与默认的源版本 1.5 冲突个人是导入别人写好的项目之后 运行代码时出现这个错误的解决方法:File → Project Settings → Modules → Language level 选择对应版本即可...
2019-12-27 18:18:39 229
原创 Linux 更改jdk版本
这里以jdk1.7 修改为 1.8 为例解压tar包tar -zxf jdk-8u201-linux-x64.tar.gz移动目录mv jdk1.8.0_201 /opt/sxt/配置环境变量vim /etc/profile追加环境变量source /etc/profile注意:要清除之前的追加环境变量有以下两种方法方法1:退出并重新连接(会自动初始化环境变量)...
2019-12-26 18:40:33 191
原创 2. RDD 概念&5大特性
1. RDD概念RDD(Resilient Distributed Dataset),弹性分布式数据集。★RDD的五大特性:1. RDD是由一系列的partition组成的。A list of partitions2. 函数是作用在每一个partition(split)上的。A function for computing each split3. RDD之间有一系列的依赖关系。...
2019-12-25 21:44:10 273
原创 1. Spark简介&特性...
1.Spark概述Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行计算框架,Spark拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS...
2019-12-25 21:03:36 195
原创 2.1.1 Hadoop map端的 Combiner
1.Combiner是MR程序中Mapper和Reduce之外的一种组件2.Combiner组件的父类就是Reducer3.Combiner和Reducer之间的区别在于运行的位置4.Reducer是每一个接收全局的Map Task 所输出的结果5.Combiner是在MapTask的节点中运行6.每一个map都会产生大量的本地输出,Combiner的作用就是对m...
2019-12-25 16:52:17 194
原创 1.6 Scala ...★
trait 特性1. 概念理解Scala Trait(特征) 相当于 Java 的接口,实际上它的功能比接口还强大。与接口不同的是,它还可以定义属性和方法的实现。一般情况下Scala的类可以继承多个Trait,从结果来看就是实现了多重继承。Trait(特征) 定- - 义的方式与类类似,但它使用的关键字是 trait。2. 举例:trait中带属性带方法实现注意:继承的多个t...
2019-12-24 21:55:12 123
原创 Scala & Spark 内容目录
1.1 Scala 6大特性&安装Scala六大特性Scala安装及配置1.2 Scala基础1.数据类型2.变量和常量的声明3.类和对象4.if else5.for ,while,do…while1.3 Scala函数1.Scala函数的定义2.递归函数3.包含参数默认值的函数4.可变参数个数的函数5.匿名函数6.嵌套函数7.偏应用函数8.高阶函数...
2019-12-23 22:14:51 98
原创 1.4 Scala字符串
可变长&不可变长字符串1. String2. StringBuilder 可变3. string操作方法举例比较:equals比较忽略大小写:equalsIgnoreCase如果参数字符串等于此字符串,则返回值 0;如果此字符串小于字符串参数,则返回一个小于 0 的值;如果此字符串大于字符串参数,则返回一个大于 0 的值。indexOf:如果字符串中有传入的assci码...
2019-12-23 22:03:31 201
原创 1.3 Scala函数
1.Scala函数的定义 def fun (a: Int , b: Int ) : Unit = { println(a+b) } fun(1,2) def fun1 (a : Int , b : Int)= a+b println(fun1(1,2))结果:注意点:函数定义语法 用def来定义可以定义传入的参数,要指定传入参数...
2019-12-23 21:48:56 151
原创 1.2 Scala基础
1.数据类型数据类型描述Byte8位有符号补码整数。数值区间为 -128 到 127Short16位有符号补码整数。数值区间为 -32768 到 32767Int32位有符号补码整数。数值区间为 -2147483648 到 2147483647Long64位有符号补码整数。数值区间为 -9223372036854775808 到 9223372036...
2019-12-23 20:17:57 103
原创 1.1 Scala 6大特性&安装
Scala六大特性Scala与Spark版本对应Spark1.6中使用的是Scala2.10。Spark2.0版本以上使用是Scala2.11版本。Scala官网6个特征Java和scala可以混编(无缝整合)类型推测(自动推测类型)并发和分布式(底层有Actor模型)特质,特征(类似java中interfaces 和 abstract结合)模式匹配(类似java switc...
2019-12-23 16:51:49 158
原创 sql & 数据库 内容目录
1.1 ORACLE sql语法SELECT 查询相关语法行转列示例92语法99语法伪列1.2 关系型数据库 的varchar 和 varchar2 数据类型...2.1 SELECT练习 01...2.2 SELECT练习 02时间相关…3.1 SQL语言的分类1. 数据查询语言DQL2 .数据操纵语言DML3. 数据定义语言DDL4. 数据控...
2019-12-21 16:18:45 102
原创 2.5 MapReduce架构
MapReduce1.xclient客户端发送mr任务到集群客户端的种类有很多种hadoop jar wordcount.jarJobTracker接受客户端的mr任务选择一个资源丰富的,执行对应的任务并且给这个任务分配资源与TaskTracker保持心跳,接受汇报信息TaskTracker保持心跳,汇报资源当分配资源之后,开始在本机分配对应的资源...
2019-12-20 20:59:18 108
原创 2.4 MapReduce源码分析02
Map的源码分析//make a task context so we can get the classesorg.apache.hadoop.mapreduce.TaskAttemptContext taskContext = new org.apache.hadoop.mapreduce.task.TaskAttemptContextImpl(job,getT...
2019-12-20 20:52:26 166
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人