自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SparkSQL(4)——Spark SQL DataSet操作

DataSet1、DataSet是什么?2、DataFrame与DataSet的区别3、DataFrame与DataSet互相转换DataFrame转为 DataSetDataSet转为DataFrame4、DataSet的创建从一个已经存在的scala集合来构建从一个已经存在的rdd中来构建通过dataFrame转换生成Dataset相关方法1、DataSet是什么?DataSet是分布式的...

2018-09-30 22:12:14 2493

原创 SparkSQL(3)——Spark SQL DataFrame操作

读取数据源创建DataFrame在spark2.0之后,SparkSession 封装了 SparkContext,SqlContext,通过SparkSession可以获取到SparkConetxt,SqlContext对象。读取文本文件创建DataFrame(1)在本地创建一个文件,有三列,分别是id、name、age,用空格分隔,然后上传到hdfs上。vim person.txt1...

2018-09-30 21:26:36 817

原创 SparkSQL(2)——Spark SQL DataFrame概述

DataFrameDataFrame是什么?DataFrame与RDD的区别DataFrame与RDD的优缺点比较RDD的优缺点:DataFrame的优缺点:DataFrame是什么?DataFrame的前身是SchemaRDD,从Spark 1.3.0开始SchemaRDD更名为DataFrame。DataFrame与SchemaRDD的主要区别是:DataFrame不再直接继承自RDD,...

2018-09-30 20:56:51 324

原创 SparkSQL(1)——Spark SQL概述

Spark SQLspark sql发展spark sql是什么?Spark SQL的特性易整合统一的数据访问兼容Hive标准的数据连接spark sql发展Shark是一个为Spark设计的大规模数据仓库系统,它与Hive兼容。Shark建立在Hive的代码基础上,并通过将Hive的部分物理执行计划交换出来。这个方法使得Shark的用户可以加速Hive的查询。但是Shark继承了Hive...

2018-09-30 17:40:50 360

原创 Spark07——Spark中的共享变量

spark两种共享变量spark中有两种共享变量。分别为广播变量和累加器。广播变量主要用于高效分发较大的数据对象,累加器主要用于对信息进行聚合。广播变量广播变量允许我们将一个只读的变量缓存在每台机器上,而不用在任务之间传递变量。广播变量可被用于有效地给每个节点一个大输入数据集的副本。广播的数据被集群不同节点共享,且默认存储在内存中,读取速度比较快。Spark还尝试使用高效地广播算法来分...

2018-09-30 16:35:14 1549 3

原创 Spark06——Spark架构及角色介绍

Spark架构图如下:Spark架构同样使用了分布式计算中master-slave模型。master是集群中含有master进程的节点,slave是集群中含有worker进程的节点。master用于管理worker,接收提交的任务,进行任务的分配调度。worker用于管理自己节点上的executor,需要定时向master报活。角色介绍Spark应用程序以一组独立的进程运行在集群上,...

2018-09-30 13:46:00 656

原创 Hadoop yarn资源调度——YARN中的调度

现实中,由于资源是有限的,在一个繁忙的集群中,YARN应用发出的资源请求无法立刻满足,实际上一个应用经常需要等待才能得到所需的资源。YARN调度器的工作就是根据既定策略,为应用分配资源。调度通常是一个难题,并且没有一个所谓最好的策略。于是YARN提供了多种调度器和可配置策略供我们选择使用。调度选项YARN中,提供了三种调度器供我们选择。FIFO Scheduler (队列调度器)队列调...

2018-09-29 22:11:24 745 1

原创 Hadoop yarn资源调度——YARN的架构及工作流程

yarn 的架构图YARN总体架构上是Master/Slave结构,在整个资源管理框架中,ResourceManager为Master,NodeManager为Slave,ResourceManager负责对各个NodeManager上的资源进行统一管理和调度。当用户提交一个应用程序时,需要提供一个用以跟踪和管理这个程序的ApplicationMaster,它负责向ResourceManag...

2018-09-29 21:33:14 804

原创 Hadoop yarn资源调度——主要组件及介绍

yarn主要组件及介绍yarn的概述:yarn的主要组件各个组件介绍ResourceManager:NodeManager:ApplicationMaster:Container:yarn当中各个主要组件的作用resourceManager主要作用:NodeManager主要作用:ApplicationMaster主要作用:Container主要作用:yarn的官网文档yarn监控界面yarn的...

2018-09-29 21:00:11 2878

原创 Spark05——Spark运行架构

Spark运行基本流程Spark运行基本流程参见下面示意图:构建Spark Application的运行环境(启动SparkContext),SparkContext向资源管理器(可以是Standalone、Mesos或YARN)注册并申请运行Executor资源;资源管理器分配Executor资源并启动Executor,Executor运行情况将随着心跳发送到资源管理器上;Spark...

2018-09-29 00:30:29 180

原创 Spark计算模型RDD(6)——RDD容错机制的checkpoint

checkpointcheckpoint可以干什么?checkpoint原理机制persist或者cache与checkpoint的区别如何使用checkpointcheckpoint可以干什么?1 、Spark 在生产环境下经常会面临transformation的RDD非常多(例如一个Job中包含1万个RDD)或者具体transformation的RDD本身计算特别复杂或者耗时(例如计算时长...

2018-09-29 00:21:44 371

原创 Spark计算模型RDD(5)——DAG的生成和Spark的任务调度

DAGDAG(Directed Acyclic Graph)叫做有向无环图,原始的RDD通过一系列的转换就形成了DAG,根据RDD之间依赖关系的不同将DAG划分成不同的Stage(调度阶段)。对于窄依赖,partition的转换处理在一个Stage中完成计算。对于宽依赖,由于有Shuffle的存在,只能在parent RDD处理完成后,才能开始接下来的计算,因此宽依赖是划分Stage的依据。...

2018-09-28 23:57:43 2385

原创 Spark计算模型RDD(4)——RDD的持久化(缓存)

RDD的缓存Spark速度非常快的原因之一,就是在不同操作中可以在内存中持久化或者缓存数据集。当持久化某个RDD后,每一个节点都将把计算分区结果保存在内存中,对此RDD或衍生出的RDD进行的其他动作中重用。这使得后续的动作变得更加迅速。RDD相关的持久化和缓存,是Spark最重要的特征之一。可以说,缓存是Spark构建迭代式算法和快速交互式查询的关键。RDD缓存方式RDD通过persist...

2018-09-28 22:42:40 553

原创 Spark计算模型RDD(3)——RDD的依赖关系

RDD和它依赖的父RDD的关系有两种不同的类型,即窄依赖(narrow dependency)和宽依赖(wide dependency)。窄依赖窄依赖指的是每一个父RDD的Partition最多被子RDD的一个Partition使用宽依赖宽依赖指的是多个子RDD的Partition会依赖同一个父RDD的PartitionLineage(血统)RDD只支持粗粒度转换,即只记录单个块上执...

2018-09-28 22:35:25 436

原创 Spark计算模型RDD(2)——RDD算子分类及操作

RDD算子RDD算子分类Transformation(转换)Action(动作)Transformation常用Action常用RDD常用的算子操作RDD算子分类Transformation(转换)Transformation(转换):根据数据集创建一个新的数据集,计算后返回一个新RDD;例如:一个rdd进行map操作后生了一个新的rdd。它不会立即触发整个任务的运行,它是延迟加载。Act...

2018-09-28 22:05:00 354

原创 Spark计算模型RDD(1)——RDD概述及原理

RDD概述及原理RDD是什么?RDD解决什么问题?解决迭代计算是Spark Core的底层核心RDD五大属性创建RDD的方式由一个已经存在的Scala集合创建。由外部存储系统的文件创建。已有的RDD经过算子转换生成新的RDDRDD是什么?RDD(Resilient Distributed Dataset)叫做弹性分布式数据集。是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元...

2018-09-28 21:23:24 629

原创 Hive的压缩和存储

压缩和存储数据压缩开启Map输出阶段压缩开启Reduce输出阶段压缩数据存储格式创建一个SNAPPY压缩的ORC存储方式的表数据压缩hive和hadoop一样,也可以使用压缩来节省我们的MR处理的网络带宽。其中压缩格式和性能,也和hadoop类似。https://blog.csdn.net/Fenggms/article/details/82791405开启Map输出阶段压缩开启map...

2018-09-28 20:20:46 214

原创 Hive函数——UDF

Hive函数内置函数自定义函数根据用户自定义函数类别分为以下三种:官方文档地址编程步骤:注意事项通过java进行UDF开发实例1、导包,引入依赖2、开发java类继承UDF,并重载evaluate 方法3、打包,上传到hive的lib目录下4、在hive客户端添加jar包5、设置函数与我们的自定义函数关联6、使用自定义函数内置函数查看系统自带的函数 show functions;显示自带...

2018-09-28 19:59:00 218

原创 Hive基本操作——DML操作

DML操作select语法结构:全表查询选择特定列查询列别名常用函数LIMIT语句WHERE语句比较运算符(BETWEEN/IN/ IS NULL)LIKE和RLIKE逻辑运算符(AND/OR/NOT)分组GROUP BY语句HAVING语句having与where不同点JOIN语句等值JOIN表的别名内连接(INNER JOIN)左外连接(LEFT OUTER JOIN)右外连接(RIGHT O...

2018-09-28 14:25:07 418

原创 Hive基本操作——Hive表中加载数据

1、hive表中加载数据直接向分区表中插入数据create table score3 like score;insert into table score3 partition(month ='201807') values ('001','002','100');通过查询插入数据通过load方式加载数据load data local inpath '/export/servers...

2018-09-27 22:41:22 810

原创 Hive基本操作——DDL操作

DDL操作1、数据库创建数据库创建数据库并指定hdfs存储位置修改数据库查看数据库详细信息删除数据库2、数据库表创建数据库表语法管理表Hive建表操作Hive建表时候的字段类型创建表并指定字段之间的分隔符根据查询结果创建表根据已经存在的表结构创建表查询表的类型外部表外部表说明:管理表和外部表的使用场景:操作案例分区表创建分区表语法创建一个表带多个分区加载数据到分区表中加载数据到一个多分区的表中去多...

2018-09-27 22:34:15 1004

原创 scala13——Scala隐式转换和隐式参数

隐式转换和隐式参数1、隐式转换2、 隐式参数3、隐式转换方法作用域4、隐式转换的时机5、相关案例5.1 让File类具备RichFile类中的read方法5.2 AutoMan打怪兽5.3 员工领取薪水Scala提供的隐式转换和隐式参数功能,是非常有特色的功能。是Java等编程语言所没有的功能。它可以允许你手动指定,将某种类型的对象转换成其他类型的对象或者是给一个类增加方法。通过这些功能,可以实...

2018-09-27 19:13:15 343

原创 Scala12——Scala高阶函数

高阶函数1、作为值的函数2、匿名函数3、柯里化4、闭包Scala混合了面向对象和函数式的特性,我们通常将可以作为参数传递到方法中的表达式叫做函数。在函数式编程语言中,函数是“头等公民”,高阶函数包含:作为值的函数、匿名函数、闭包、柯里化等等。1、作为值的函数可以像任何其他数据类型一样被传递和操作的函数。定义函数时格式:val 变量名 = (输入参数类型和个数) => 函数实现和返回值...

2018-09-27 18:50:15 240

原创 Scala11——协变、逆变、非变以及上下界

协变、逆变、非变以及上下界协变、逆变、非变介绍上界、下界介绍协变、逆变、非变介绍协变和逆变主要是用来解决参数化类型的泛化问题。Scala的协变与逆变是非常有特色的,完全解决了Java中泛型的一大缺憾;举例来说,Java中,如果有 A是 B的子类,但 Card[A] 却不是 Card[B] 的子类;而 Scala 中,只要灵活使用协变与逆变,就可以解决此类 Java 泛型问题;由于参数化类型的...

2018-09-27 16:39:00 292

原创 Scala10——Scala模式匹配

模式匹配1、匹配值2、匹配不同数据类型3、直接匹配类型4、匹配数组、元组、集合5、样例类6、Option7、偏函数Scala是没有Java中的switch case语法的,相对应的,Scala提供了更加强大的match case语法,即模式匹配。模式匹配包括一系列备选项,每个替代项以关键字大小写为单位。每个替代方案包括一个模式和一个或多个表达式,如果模式匹配,将会进行评估计算。箭头符号=&gt...

2018-09-27 15:59:08 260

原创 Scala09——Scala面向对象编程之特质trait

特质:trait1、将trait作为接口使用2、trait中定义具体的方法和field3、trait中定义抽象的方法和field4、在实例对象中指定混入某个trait5、trait 调用链6、混合使用 trait 的具体方法和抽象方法7、trait的构造机制8、trait 继承 class9、一些已定义好的trait1、将trait作为接口使用在 Scala中Trait 为重用代码的一个基本单...

2018-09-27 13:08:41 336

原创 Spark04——Spark程序简单使用

Spark程序简单使用1、执行第一个spark程序2、启动Spark-Shell2.1 运行spark-shell --master local[N] 读取本地文件案例:wordcount实现2.2 使用spark-shell --master local[N] 读取HDFS上数据文件,实现单词统计1、执行第一个spark程序在spark目录下执行以下任务:bin/spark-submit ...

2018-09-26 22:32:25 550

原创 Spark03——Spark HA高可用部署

Spark高可用部署1、高可用部署说明1 、基于文件系统的单点恢复(Single-Node Recovery with Local File System)。2、基于zookeeper的Standby Masters(Standby Masters with ZooKeeper)。2、基于zookeeper的Spark HA高可用集群部署2.1 停止Spark进程,启动zookeeper进程。2....

2018-09-26 20:19:53 687

原创 Spark02——Spark集群安装部署

Spark集群搭建集群安装1.1 下载Spark安装包1.2 上传并解压安装包1.3 可选择重命名解压后的安装目录1.4 修改配置文件修改配置文件spark-env.sh修改配置文件slaves1.5 拷贝安装包到其他主机1.6 配置spark环境变量1.7 spark启动1.8 停止spark1.9 spark的web界面集群安装本集群搭建为三台虚拟机,分别在hosts中命名为node01,...

2018-09-26 18:45:09 346

原创 Spark01——Spark概述

Spark概述1、Spark是什么?2、Spark发展历史3、为什么要使用Spark?4、Spark的特点速度快使用方便通用性兼容性1、Spark是什么?Apache Spark™ is a unified analytics engine for large-scale data processing.—— http://spark.apache.org/Spark是用于大规模数据处理的...

2018-09-26 18:03:37 1050

原创 scala08——Scala面向对象之继承

继承Scala中继承的概念isInstanceOf 和 asInstanceOfgetClass 和 classOf使用模式匹配进行类型判断抽象类扩展类override 和 super 关键字调用父类的constructorfinalScala 的类层次关系Scala中继承的概念Scala 中,让子类继承父类,与 Java 一样,也是使用 extends 关键字;继承就代表,子类可继承父类的...

2018-09-26 01:01:06 300

原创 Scala07——类和对象简介

类和对象简介类类的定义构造器对象object伴生对象apply方法main方法类类的定义类是对象的抽象,而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用存储空间。在scala中,类不需要声明为public类型,一个Scala源文件中可以有多个类。定义一个类后,可以使用关键字new来创建一个类的对象。 通过对象可以使用定义的类的所有功能。构造器Scala中的每个类都有...

2018-09-26 00:08:20 170

原创 Scala06——Scala集合

集合1、List不可变的序列 import scala.collection.immutable._可变的序列 import scala.collection.mutable._2、Set不可变的Set import scala.collection.immutable._可变的Set import scala.collection.mutable._3、Map不可变的Map impo...

2018-09-23 00:54:32 216

原创 Scala05——Scala元组

元组1、创建元组2、获取元组中的值3、元组遍历4、将对偶的集合转换成映射5、拉链操作6、交换元素Scala元组将固定数量的项目组合在一起,以便它们可以作为一个整体传递。 与数组或列表不同,元组可以容纳不同类型的对象,但它们也是不可变的。1、创建元组元组表示通过将不同的值用小括号括起来,即表示元组。元组的创建格式:val tuple=(元素,元素...)也可以写成:(但一般不这么写,都...

2018-09-23 00:20:41 3425

原创 Scala04——Scala映射

映射1、构建映射2、获取和修改映射中的值在Scala中,把哈希表这种数据结构叫做映射。1、构建映射构建映射格式:1、val map=Map(键 -> 值,键 -> 值…)2、利用元组构建 val map=Map((键,值),(键,值),(键,值)…)2、获取和修改映射中的值(1)获取映射中的值:值=map(键) score("a")getOrElsescor...

2018-09-22 22:52:48 310

原创 Scala03--Scala数组

数组定长数组和变长数组遍历数组1.增强for循环until会生成下标遍历数组转换数组常用方法定长数组和变长数组(1)定长数组定义格式: val arr=new Array[T](数组长度)val arr=Array(1,2,3,4,5) (2)变长数组定义格式:val arr = ArrayBufferT变长数组需要导包:需要导包:import scala.collection.m...

2018-09-22 22:35:48 389

原创 Scala基础02-Scala方法和函数及其区别

Scala方法和函数Scala运算符及函数和方法的调用定义方法和函数1 定义方法2 定义函数3 方法和函数的区别4 方法转换成函数Scala运算符及函数和方法的调用Scala中的+ - * / %等运算操作符的作用与Java一样,位操作符 & | ^ >> <<也一样。由于和java使用基本相同,这里不再赘述。可参考:https://www.yiibai.c...

2018-09-22 21:52:38 996

原创 Scala基础-01

Scala基础1、声明变量valvar2、常用类型3、条件表达式4、块表达式5、循环for循环嵌套while1、声明变量Scala有两种声明变量的方式,val和varval使用val定义的变量值是不可变的,相当于java里面final关键字修饰。val x=3var用var定义的变量是可变的,但在Scala中建议可以使用val的时候尽量用val,便于GC回收。var y=3.14...

2018-09-22 21:06:57 171

原创 Hive的安装部署

Hive的安装使用mysql共享hive元数据mysql数据库的安装修改hive的配置文件修改hive-env.sh修改hive-site.xml上传mysql的lib驱动包使用方式第一种交互方式:Hive交互shell第二种交互方式:启动Hive JDBC服务第三种交互方式:Hive命令这里仅在node03上安装hive.(hadoop环境是Hive安装的前提)使用mysql共享hive元数...

2018-09-21 22:07:28 698

原创 Hive基本概念及数据存储

Hive基本概念)1、hive简单介绍Hive是什么?Hive的优点:Hive的特点:2、Hive架构架构图基本组成3、Hive与Hadoop的关系4、Hive与传统数据库对比5、Hive的数据存储table和external table的区别1、hive简单介绍Hive是什么?Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。...

2018-09-21 21:38:37 935

空空如也

空空如也

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

TA关注的人

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