自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spark Streaming原理与架构

Spark Streaming原理与架构1、Spark Streaming原理2、Spark Streaming计算流程3、Spark Streaming实时性4、spark的架构1、Spark Streaming原理Spark Streaming 是基于spark的流式批处理引擎,其基本原理是把输入数据以某一时间间隔批量的处理,当批处理间隔缩短到秒级时,便可以用于处理实时数据流。2、Spark Streaming计算流程Spark Streaming是将流式计算分解成一系列短小的批处理作业。这里的

2020-11-01 22:54:20 330

原创 Spark Streaming介绍

Spark Streaming介绍1.Spark Streaming介绍1.1、什么是Spark Streaming1.2、为什么要学习Spark Streaming2、Spark Streaming原理与架构2.1、Spark Streaming原理2.2、Spark Streaming计算流程2.3、Spark Streaming实时性2.4、spark的架构1.Spark Streaming介绍1.1、什么是Spark StreamingSpark Streaming类似于Apache Stor

2020-10-31 16:56:28 261

原创 DataFrame的创建

DataFrame的创建DataFrame的创建1、 读取文本文件创建DataFrame2、 读取json文件创建DataFrame3、 读取parquet列式存储格式文件创建DataFrame1、 读取文本文件创建DataFrame在spark2.0版本之前,Spark SQL中SQLContext是创建DataFrame和执行SQL的入口,可以利用hiveContext通过hive sql语句操作hive表数据,兼容hive操作,并且hiveContext继承自SQLContext。在spark2

2020-10-29 21:20:38 276

原创 SparkSQL介绍及快速入门

这里写目录标题1.SparkSQL概述1.什么是SparkSQL?2.SparpSQL特点3.Hive 和SparkSQL的对比4.SparkSQL中的两个抽象2 集群模式初体验2.1 DataFrame2.1.1读取txt文件并输出1.SparkSQL概述1.什么是SparkSQL?用于处理构造化数据的spark模块可以通过DataFrame和DataSet处理数据2.SparpSQL特点易整合 可以使用java、scala、python、R 等语言的API操作统一数据访问 连接到任何数据源

2020-10-27 21:12:04 128

原创 RDD的DAG的划分以及shuffle过程

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

2020-10-25 16:04:38 583

原创 spark当中的RDD

spark当中的RDD1.RDD概述2.创建RDD3.RDD分区1.RDD概述RDD论文中文版 : http://spark.apachecn.org/paper/zh/spark-rdd.htmlRDD产生背景为了解决开发人员能在大规模的集群中以一种容错的方式进行内存计算,提出了 RDD 的概念,而当前的很多框架对迭代式算法场景与交互性数据挖掘场景的处理性能非常差, 这个是RDDs 的提出的动机。什么是 RDDRDD 是 Spark 的计算模型。RDD(Resilient Distribut

2020-10-18 21:59:06 306

原创 spark的集群环境安装搭建-spark local模式

spark local模式第一步:上传压缩包并解压第二步:修改spark的配置文件第三步:启动验证进入spark-shell第四步:运行spark自带的测试jar包常用于本地开发测试,本地还分为local单线程和local-cluster多线程;• 该模式被称为Local[N]模式,是用单机的多个线程来模拟Spark分布式计算,直接运行在本地,便于调试,通常用来验证开发出来的应用程序逻辑上有没有问题。• 其中N代表可以使用N个线程,每个线程拥有一个core。如果不指定N,则默认是1个线程(该线程有1个

2020-10-16 21:30:17 88

原创 Spark介绍

本节主要内容1.spark概述什么是Spark为什么要学SparkSpark特点2、spark的架构模块1、spark的主要架构模块介绍2、spark的运行角色介绍3、spark的运行模式本地模式Standalone模式Spark on Yarn模式Spark on Mesos模式1.spark概述什么是Spark官网:link (http://spark.apache.org)Spark是一种快速、通用、可扩展的大数据分析引擎,2009年诞生于加州大学伯克利分校AMPLab,2010年开源,20

2020-10-11 21:18:03 217

原创 Scala入门到精通——第六节 Scala 方法与函数

本节主要内容方法声明方法定义方法调用Scala 有方法与函数,二者在语义上的区别很小。Scala 方法是类的一部分,而函数是一个对象可以赋值给一个变量。换句话来说在类中定义的函数即是方法。Scala 中的方法跟 Java 的类似,方法是组成类的一部分。Scala 中的函数则是一个完整的对象,Scala 中的函数其实就是继承了 Trait 的类的对象。Scala 中使用 val 语句可以定义函数,def 语句定义方法。class Test{ def m(x: Int) = x + 3 val

2020-10-07 16:26:00 67

原创 Scala入门到精通——第五节 Scala 运算符

一个运算符是一个符号,用于告诉编译器来执行指定的数学运算和逻辑运算。Scala 含有丰富的内置运算符,包括以下几种类型:算术运算符关系运算符逻辑运算符位运算符赋值运算符接下来我们将为大家详细介绍以上各种运算符的应用。算术运算符下表列出了 Scala 支持的算术运算符。假定变量 A 为 10,B 为 20:object Test { def main(args: Array[String]) { var a = 10; var b = 20;

2020-10-06 16:29:45 109

原创 Scala入门到精通——第四节 Scala 访问修饰符

Scala 访问修饰符私有(Private)成员保护(Protected)成员公共(Public)成员作用域保护Scala 访问修饰符基本和Java的一样,分别有:private,protected,public。如果没有指定访问修饰符,默认情况下,Scala 对象的访问级别都是 public。Scala 中的 private 限定符,比 Java 更严格,在嵌套类情况下,外层类甚至不能访问被嵌套类的私有成员。私有(Private)成员用 private 关键字修饰,带有此标记的成员仅在包含了成员

2020-10-05 16:49:02 113

原创 Scala入门到精通——第三节 Scala 变量

Scala 变量变量声明变量类型声明变量类型引用Scala 多个变量声明变量是一种使用方便的占位符,用于引用计算机内存地址,变量创建后会占用一定的内存空间。基于变量的数据类型,操作系统会进行内存分配并且决定什么将被储存在保留内存中。因此,通过给变量分配不同的数据类型,你可以在这些变量中存储整数,小数或者字母。变量声明在学习如何声明变量与常量之前,我们先来了解一些变量与常量。一、变量: 在程序运行过程中其值可能发生改变的量叫做变量。如:时间,年龄。二、常量 在程序运行过程中其值不会发生变化的量叫做

2020-10-05 11:01:49 112

原创 Scala入门到精通——第二节 Scala 基础语法

本节主要内容Scala 基础语法第一个 Scala 程序交互式编程脚本形式基本语法Scala 基础语法如果你之前是一名 Java 程序员,并了解 Java 语言的基础知识,那么你能很快学会 Scala 的基础语法。Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的。我们可以认为 Scala 程序是对象的集合,通过调用彼此的方法来实现消息传递。接下来我们来理解下,类,对象,方法,实例变量的概念:对象 - 对象有属性和行为。例如:一只狗的状属性有:颜色,名字,行为有:叫、

2020-10-04 11:22:43 79

原创 Scala入门到精通——第一节 Scala语言初步

本节主要内容1、什么是Scala2、 为什么要学Scala1、优雅2、速度快3、能融合到Hadoop生态圈4、Scala是未来大数据处理的主流语言1、什么是Scalascala官方网址:http://www.scala-lang.orgScala是一种多范式的编程语言,其设计的初衷是要集成面向对象编程和函数式编程的各种特性。Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序。2、 为什么要学Scala1、优雅这是框架设计师第一个要考虑的问题,框架的用户是应用开发程序员,A

2020-10-01 10:14:59 139

原创 HBase的预分区和rowkey设计技巧

@TOCHBase的预分区1、为何要预分区?增加数据读写效率负载均衡,防止数据倾斜方便集群容灾调度region优化Map数量2、如何预分区?每一个region维护着startRow与endRowKey,如果加入的数据符合某个region维护的rowKey范围,则该数据交给这个region维护。3、如何设定预分区?1、手动指定预分区hbase(main):001:0> create ‘staff’,‘info’,‘partition1’,SPLITS => [‘1000’

2020-09-28 20:34:38 682

原创 HBase的高级shell管理命令

HBase的高级shell管理命令1、status2、whoami3、list4、count5、describe6、exist7、is_enabled、is_disabled8、alter9、disable10、drop11、truncate1、status例如:显示服务器状态hbase(main):058:0> status ‘node01’2、whoami显示HBase当前用户,例如:hbase> whoami3、list显示当前所有的表4、count统计指定表的记录数,

2020-09-26 14:59:45 72

原创 Hbase2

Hbase21、HBase的基础架构2、HBase常用shell操作1、进入HBase客户端命令操作界面2、查看帮助命令3、查看当前数据库中有哪些表4、创建一张表5、添加数据操作6、查询数据操作1、通过rowkey进行查询2、查看rowkey下面的某个列族的信息3、查看rowkey指定列族指定字段的值4、查看rowkey指定多个列族的信息5、指定rowkey与列值查询6、指定rowkey与列值模糊查询7、查询所有数据8、列族查询9、多列族查询10、指定列族与某个列名查询11、指定列族与列名以及限定版本查询1

2020-09-23 21:09:46 74

原创 HBase 1

HBase1、 HBase基本介绍2、HBase与Hadoop的关系3、RDBMS与HBase的对比4、HBase特征简要1、自动故障处理和负载均衡2、自动分区3、集成Hadoop/HDFS4、实时随机大数据访问5、MapReduce6、Java API7、横向扩展8、列存储9、HBase Shell1、 HBase基本介绍简介hbase是bigtable的开源java版本。是建立在hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写nosql的数据库系统。它介于nosql和RDBMS之间,

2020-09-20 10:52:58 124

原创 kafka主要组件说明

kafka主要组件说明1、kafka当中的producer说明2、kafka当中的topic说明3、kafka当中的partition说明4、kafka当中partition的副本数说明5、kafka当中的segment说明6、kafka当中的partition的offset7、kafka分区与消费组的关系8、kafka当中的consumer1、kafka当中的producer说明producer主要是用于生产消息,是kafka当中的消息生产者,生产的消息通过topic进行归类,保存到kafka的bro

2020-09-19 10:26:15 93

原创 分布式系统CAP理论

CAP理论1.分布式系统当中的CAP理论2.Partition tolerance3.Consistency4.Availability1.分布式系统当中的CAP理论分布式系统(distributed system)正变得越来越重要,大型网站几乎都是分布式的。分布式系统的最大难点,就是各个节点的状态如何同步。为了解决各个节点之间的状态同步问题,在1998年,由加州大学的计算机科学家 Eric Brewer 提出分布式系统的三个指标,分别是Consistency:一致性Availability:可

2020-09-15 21:16:36 129

原创 kafka的基本介绍

kafka的基本介绍1.kafka的基本介绍2.kafka的好处3.分布式的发布与订阅系统4.kafka的主要应用场景指标分析日志聚合解决方法流式处理5.kafka的架构介绍生产者API消费者APIStreamsAPIConnectAPI6.kafka架构内部细节剖析1.kafka的基本介绍官网:http://kafka.apache.org/kafka是最初由linkedin公司开发的,使用scala语言编写,kafka是一个分布式,分区的,多副本的,多订阅者的日志系统(分布式MQ系统),可以用于搜

2020-09-13 16:18:27 141

原创 kafka

1.消息队列的介绍消息(Message)是指在应用之间传送的数据,消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象。消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,有消息系统来确保信息的可靠专递,消息发布者只管把消息发布到MQ中而不管谁来取,消息使用者只管从MQ中取消息而不管谁发布的,这样发布者和使用者都不用知道对方的存在。2.常用的消息队列介绍1、RabbitMQRabbitMQ 2007年发布,是一个在AMQP(高级消息队列协议)基础

2020-09-12 16:50:30 46

原创 Cloudera Manager介绍

Cloudera Manager介绍1.Cloudera Manager介绍2.ClouderaManager整体架构3.Cloudera Management Service4.信号检测5.状态管理6.服务器和客户端配置7.进程管理8.主机管理9.安全身份验证授权加密1.Cloudera Manager介绍Cloudera Manager是cloudera公司提供的一种大数据的解决方案,可以通过ClouderaManager管理界面来对我们的集群进行安装和操作,提供了良好的UI界面交互,使得我们管理集

2020-09-10 22:14:59 591

原创 oozie简介

oozie简介1.oozie的介绍2.oozie的架构2.1.oozie的执行流程2.2.oozie的组件介绍1.oozie的介绍Oozie是运行在hadoop平台上的一种工作流调度引擎,它可以用来调度与管理hadoop任务,如,MapReduce、Pig等。那么,对于OozieWorkflow中的一个个的action(可以理解成一个个MapReduce任务)Oozie是根据什么来对action的执行时间与执行顺序进行管理调度的呢?答案就是我们在数据结构中常见的有向无环图(DAGDirect Acycl

2020-09-08 20:10:46 241

原创 Hue的介绍

Hue的介绍1.Hue的介绍2.HUE链接3.Hue的架构1.Hue的介绍HUE=Hadoop User ExperienceHue是一个开源的Apache Hadoop UI系统,由Cloudera Desktop演化而来,最后Cloudera公司将其贡献给Apache基金会的Hadoop社区,它是基于Python Web框架Django实现的。通过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据,例如操作HDFS上的数据,运行MapReduce Job,执行H

2020-09-01 21:29:29 139

原创 impala的介绍

impala的介绍1.imala基本介绍2.impala与hive的关系3.impala的优点4.impala的缺点:5.impala的架构以及查询计划5.1Impala的架构模块:5.2查询执行1.imala基本介绍impala是cloudera提供的一款高效率的sql查询工具,提供实时的查询效果,官方测试性能比hive快10到100倍,其sql查询比sparkSQL还要更加快速,号称是当前大数据领域最快的查询sql工具,impala是参照谷歌的新三篇论文(Caffeine、Pregel、Dreme

2020-08-30 16:16:18 216

原创 整体技术流程及架构

整体技术流程及架构1.数据处理流程数据采集数据入库数据分析数据展现2.系统的架构3.数据展现1.数据处理流程网站流量日志数据分析是一个纯粹的数据分析项目,其整体流程基本上就是依据数据的处理流程进行。有以下几个大的步骤:数据采集数据采集概念,目前行业会有两种解释:一是数据从无到有的过程(web服务器打印的日志、自定义采集的日志等)叫做数据采集;另一方面也有把通过使用Flume等工具把数据采集到指定位置的这个过程叫做数据采集。关于具体含义要结合语境具体分析,明白语境中具体含义即可。 数据预处理通

2020-08-29 19:48:27 439

原创 网站流量日志数据分析

网站流量日志数据分析1.点击流数据模型1.1.点击流概念1.2点击流模型生成2.如何进行网站流量分析2.1网站流量分析模型举例网站流量质量分析(流量分析)网站流量多维度细分(流量分析)网站内容及导航分析(内容分析)网站转化以及漏斗分析(转化分析)2.2.流量分析常见分类骨灰级指标IPPageViewUnique PageView基础级指标访问次数网站停留时间页面停留时间复合级指标人均浏览页数跳出率退出率1.点击流数据模型1.1.点击流概念点击流(Click Stream)是指用户在网站上持续访问的轨迹

2020-08-28 16:26:48 391

原创 sqoop数据导入

sqoop数据导入1.概述2.工作机制3.Sqoop的数据导入导入数据库表数据到HDFS导入关系表到HIVE1.概述sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具。导入数据:MySQL,Oracle导入数据到Hadoop的HDFS、HIVE、HBASE等数据存储系统;导出数据:从Hadoop的文件系统中导出数据到关系数据库mysql等2.工作机制将导入或导出命令翻译成mapreduce程序来实现在翻译出的mapreduce中主要是对inputformat

2020-08-27 16:57:07 172

原创 工作流调度器azkaban

工作流调度器azkaban1.Azkaban介绍2.azkaban单服务模式安装与使用2.1单服务模式安装第一步:解压第二步:修改两个配置文件第三步:启动solo-server第四步:浏览器页面访问2.3azkaban两个服务模式安装1、确认所需软件:2、数据库准备3、解压软件安装包4、安装SSL安全认证5、azkaban web server安装6、azkaban executor server 安装7、启动服务1.Azkaban介绍Azkaban是由Linkedin开源的一个批量工作流任务调度器。

2020-08-26 22:29:34 108

原创 hive的几个重点调优方法

hive的几个重点调优方法1.Fetch抓取(Hive可以避免进行MapReduce)2.MapJoin3.使用分区剪裁、列剪裁4.数据倾斜Map数小文件进行合并reduce数5.JVM重用1.Fetch抓取(Hive可以避免进行MapReduce)Hive中对某些情况的查询可以不必使用MapReduce计算。例如:SELECT * FROM employees;在这种情况下,Hive可以简单地读取employee对应的存储目录下的文件,然后输出查询结果到控制台。在hive-default.xml.t

2020-08-26 10:48:43 333

原创 hive的数据存储格式

Hive支持的存储数的格式主要有:TEXTFILE(行式存储) 、SEQUENCEFILE(行式存储)、ORC(列式存储)、PARQUET(列式存储)。hive的数据存储格式列式存储和行式存储行存储的特点列存储的特点TEXTFILE格式ORC格式PARQUET格式主流文件存储格式对比存储方式和压缩总结列式存储和行式存储行存储的特点查询满足条件的一整行数据的时候,列存储则需要去每个聚集的字段找到对应的每个列的值,行存储只需要找到其中一个值,其余的值都在相邻地方,所以此时行存储查询的速度更快。列存储

2020-08-25 15:31:00 141

原创 Hive基本概念

1.Hive简介1.1 什么是HiveHive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。本质是将sql语句转换成mapreduce的任务进行执行。1.2 Hive的特点可扩展Hive可以自由的扩展集群的规模,一般情况下不需要重启服务。延展性Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。容错良好的容错性,节点出现问题SQL仍可完成执行。2.Hive架构用户接口:提供我们写sql的地方。解析器:解析我们的

2020-08-23 22:24:46 69

原创 数据仓库讲解

数据仓库1.数据仓库2.数据仓库的主要特征2.1 面向主题2.2 集成性2.3 非易失性2.4 时变性3.数据仓库与数据库的区别4.数据仓库分层架构4.1 数据仓库一般分为三层:4.2 数据仓库分层的目的5.数据仓库元数据管理1.数据仓库数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库的目的是构建面向分析的集成化数据环境,为企业提供决策支持(Decision Support)。它出于分析性报告和决策支持目的而创建。数据仓库本身并不“生产”任何数据,同时自身也不需要“消费

2020-08-22 20:34:40 159

原创 自定义GroupingComparator求取topN

自定义GroupingComparator求取topN1.GroupingComparator介绍2.项目需求3.思路分析3.1分区3.2排序3.3分组1.GroupingComparator介绍GroupingComparator是mapreduce当中reduce端的一个功能组件,主要的作用是决定哪些数据作为一组,调用一次reduce的逻辑,默认是每个不同的key,作为多个不同的组,每个组调用一次reduce逻辑,我们可以自定义GroupingComparator实现不同的key作为同一个组,调用一

2020-08-21 14:31:07 114

原创 大数据分析-求共同好友1

1.需求用户:用户的好友列表A:B,C,D,F,E,OB:A,C,E,KC:F,A,D,ID:A,E,F,LE:B,C,D,M,LF:A,B,C,D,E,O,MG:A,C,D,E,FH:A,C,D,E,OI:A,OJ:B,OK:A,C,DL:D,E,FM:E,F,GO:A,H,I,J求:哪两个人之间有共同好友,以及他们的共同好友都有哪些人。2.思路...

2020-08-20 21:28:41 358

原创 MapTask与ReduceTask详解

1、MapReduce的分区与reduceTask的数量1.1 MapReduce的分区在MapReduce中,通过我们指定分区,会将同一个分区的数据发送到同一个reduce当中进行处理,例如我们为了数据的统计,我们可以把一批类似的数据发 送到同一个reduce当中去,在同一个reduce当中统计相同类型的数据,就可以实现类似数据的分区,统计等。1.2 reduceTask的数量reducetask的数量通过我们自己手动指定。如指定3个reducetask。 job.setNumReduce

2020-08-17 21:03:58 1380

原创 MapReduce进阶

MapReduce进阶1、MapReduce排序以及序列化1.1 序列化与反序列化1.2 序列化与反序列化相互转换1.3 Writable与WritableComparable2、MapReduce当中的计数器3、MapReduce的combiner1、MapReduce排序以及序列化1.1 序列化与反序列化序列化(Serialization)是指把结构化对象转化为字节流。反序列化(Deserialization)是序列化的逆过程。把字节流转为结构化对象。1.2 序列化与反序列化相互转换当要在进程

2020-08-11 20:42:36 84

原创 分布式计算框架MapReduce

1.理解MapReduce思想MapReduce思想在生活中处处可见。或多或少都曾接触过这种思想。MapReduce的思想核心是“分而治之”,适用于大量复杂的任务处理场景(大规模数据处理场景)。Map负责“分”,即把复杂的任务分解为若干个“简单的任务”来并行处理。可以进行拆分的前提是这些小任务可以并行计算,可以提高并行度。彼此间几乎没有依赖关系。Reduce负责“合”,即对map阶段的结果进行全局汇总。这两个阶段合起来正是MapReduce思想的体现。一个block块对应一个mapTask在ma

2020-08-08 17:03:37 116

原创 分布式文件系统精讲(吐血整理)

分布式文件系统1.分布式文件系统详细介绍2.HDFS分布式文件系统设计目标3.HDFS的来源4.HDFS的架构图之基础架构5.hdfs的架构之文件的文件副本机制以及block块存储5.1、抽象成数据块的好处6.HDFS的元数据信息FSimage以及edits和secondaryNN的作用6.1、FSImage与edits详解6.2、secondarynameNode如何辅助管理FSImage与Edits文件1.分布式文件系统详细介绍在hadoop当中,分布式文件系统(HDFS),对文件系统有一个抽象,H

2020-08-01 17:14:21 230

空空如也

空空如也

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

TA关注的人

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