自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

huahuaxiaoshao的博客

只有不断地分享,才能更好地掌握!

  • 博客(78)
  • 收藏
  • 关注

原创 Kylin原理解析

1 概述      Apache Kylin是一个开源的分布式分析引擎,提供Hadoop/Spark智商的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据。      注:OLAP(Online Analytical Process),联机分析处理或在线分析。      最初由eBay开发并贡献至开发社区,它能在亚

2020-07-22 19:57:08 2054 1

原创 Flink CEP-NFA详解

1 CEP-NFA是什么      Flink 的每个模式包含多个状态,模式匹配的过程就是状态转换的过程,每个状态(state)可以理解成由Pattern构成,为了从当前的状态转换成下一个状态,用户可以在Pattern上指定条件,用于状态的过滤和转换。      实际上Flink CEP 首先需要用户创建定义一个个pattern,然后通过链表将由前后逻辑关系的pattern串在一起,构

2020-07-22 19:37:55 1715

转载 Flink CEP SQL详解

1 语法SELECT [ ALL | DISTINCT ]{ * | projectItem [, projectItem ]* }FROM tableExpression[MATCH_RECOGNIZE ([PARTITION BY {partitionItem [, partitionItem]*}][ORDER BY {orderItem [, orderItem]*}][MEASURES {measureItem AS col [, measureItem AS col]*}][ON

2020-07-22 19:33:27 4567 4

原创 Flink CEP详解

1 概念(1)定义      复合事件处理(Complex Event Processing,CEP)是一种基于动态环境中事件流的分析技术,事件在这里通常是有意义的状态变化,通过分析事件间的关系,利用过滤、关联、聚合等技术,根据事件间的时序关系和聚合关系制定检测规则,持续地从事件流中查询出符合要求的事件序列,最终分析得到更复杂的复合事件。(2)特征      CEP的特征如下:&

2020-07-22 19:08:38 13926 3

原创 Flink SQL中的动态表和临时表

1 动态表1.1 数据流上的关系查询      关系型SQL与stream processing对比如下:SQL流处理有限元组无限元组完整数据集上的查询无法基于所有数据查询查询会结束查询不会结束      Materialized View被定义为一条SQL查询,其会缓存查询结果。但当所查询的表(基表)被修改时,缓存的结果将过期。·&nb

2020-07-22 19:02:06 11202

原创 Flink SQL中的窗口函数

1 OVER窗口      OVER窗口(OVER Window)是传统数据库的标准开窗,不同于GROUP BY Window,OVER Window中的每一个元素都对应一个窗口。窗口元素是与当前元素相邻的元素集合,流数据元素分布在多个窗口中。在Flink SQL Window的实现中,每个触发计算的元素所确定的行,都是该元素所在窗口的最优一行。      在应用OVER Window

2020-07-22 18:48:48 8243

原创 Flink SQL的Top-N实战

1 Top-N      目前仅Blink计划器支持Top-N。      Top-N查询时根据列排序找到N个最大或最小的值。最大值集合最小值集都被视为是一种Top-N的查询。若在批处理或流处理的表中需要显示出满足条件的N个最底层记录或最顶层记录,Top-N查询将会十分有用。得到的结果集将可以进行进一步的分析。      F

2020-07-22 18:33:15 2089

原创 Flink SQL中的操作符

1 操作符1.1 Show与Use(1) Show(批处理和流处理)-- 显示所有 catalogSHOW CATALOGS;-- 显示当前 catalog 中所有的数据库SHOW DATABASES;-- 显示当前数据库、Catalog中的所有表SHOW TABLES;(2) Use(批处理和流处理)-- 为本次会话设置 catalogUSE CATALOG mycatalog;-- 为会话设置一个属于当前 catalog 的数据库USE mydatabase;1.2 Sc

2020-07-22 18:27:34 1955

原创 Flink SQL的基本语法与概念

      Flink 通过支持标准 ANSI SQL的 Apache Calcite解析 SQL。1 DDL1.1 CREATE语句      CREATE语句适用于当前或指定的Catalog中注册表、视图或函数。注册后的表、视图和函数可以在SQL查询中适用。1.1.1 CREATE TABLECREATE TABLE [catalog_name.][db_name.]tabl

2020-07-22 18:16:02 6629

原创 基于Flink SQL构建流式应用

1 背景      本文将基于Kafka、Elasticsearch和Kibana,使用Flink SQL构建一个电商行为的实时分析应用。其中所有的操作都是在Flink SQL CLI上执行的,全程只涉及SQL纯文本,无需一行java/scala代码,无需安装IDE。2 环境准备2.1 下载依赖组件(1)Kafka:当作流式数据源。(2)Zookeeper:kafka运行需要该组件的支撑。(3)Elasticsearch:存储Flink

2020-07-22 17:56:45 585

原创 Flink Table API的demo简单实现

       Table API是流式处理和批处理通用的关系型API,Table API可以基于流输入或者批输入来运行而不需要进行任何修改。Table API是SQL语言的超集并专门为Apache Flink设计的,Table API是Scala和Java语言集成式的API。与常规SQL语言中将查询指定为字符串不同,Table API查询是以Java或Scala中的语言嵌入样式来定义的,具有IDE支持,如:自动完成和语法检测。1 引入p

2020-07-22 17:35:21 742

原创 Flink的容错机制

1 状态一致性      当在分布式系统中引入状态时,自然引入了一致性问题。一致性实际上是“正确性级别”的另一种说法,也就是说在成功处理故障并恢复之后得到的结果,与没有发生任何故障时得到的结果相比,前者到底有多正确?举例来说,假设要对最近一小时登录的用户计数。在系.统经历故障之后,计数结果是多少?如果有偏差,是有漏掉的计数还是重复计数?1.1 基本概念      有状态的流处理,内部

2020-05-15 15:17:29 882

原创 详解Flink中的状态管理

      流式计算分为无状态和有状态两种情况。无状态的计算观察每个独立事件,并根据最后一个事件输出结果。例如:流处理应用程序从传感器接收温度读书,并在温度超过90度时发出警告。有状态的计算则会基于多个事件输出结果。例子如下:      ①所有类型的窗口。例如:计算过去一小时的平均温度,就是有状态的计算。      ②所有用于

2020-05-14 10:25:22 2057

原创 Flink的Process Function

      之前熟悉的流处理API中的转换算子是无法访问事件的时间戳信息和水位线信息的。例如:MapFunction这样的map转换算子就无法访问时间戳或者当前事件的时间。然而,在一些场景下,又需要访问这些信息。基于此,DataStream API提供了一系列的Low-Level转换算子。这些算子支持访问时间戳、watermark以及注册定时事件。还可以输出特定的一些事件,例如超时事件等。Process Function用来构建事件驱动的应用以及实

2020-05-14 10:14:48 877

原创 Flink中的时间语义与Watermark

1 Flink中的时间语义1.1 基本概念      在Flink的流式处理中,会涉及到时间的不同概念,如下图:图1 Flink时间概念      Event Time:是事件创建的时间。它通常由事件中的时间戳描述,例如日志数据中的每一条记录都会带有时间戳,Flink通过时间戳分配器访问事件时间戳。      Inge

2020-05-12 17:13:57 1409

原创 详解Flink中的Window

1 Window1.1 Window概述      流式计算是一种用于处理无限数据集的数据处理引擎,而无线数据集是指一种不断增长的无限的数据集,而Window是一种将无限数据集切割为有限块进行处理的手段。      Window是无限数据流处理的核心,Window将一个无限的stream拆分成有限大小的“bucket”桶,方便我们在桶上做计算操作。1.2 window类型&nbs

2020-05-12 17:06:45 859

原创 详解Flink流处理API

Flink流处理流程:首先创建环境(类似于spark里的上下文SparkContext);其次,添加数据来源Source;再次,对数据进行Transform处理;最后,添加输出Sink。准备两个文件hello.txt和sensor.txt① hello.txt的内容:how are youfine thank youand youi am fine too thank you② sensor.txt的内容:sensor_1, 1547718199, 35.80018327300259s

2020-05-09 17:02:50 972

原创 流式计算的演进与Flink流式计算的特点

1 流处理的演变      (1)传统数据处理架构图1 传统事务处理架构(OLTP)      在传统事务处理架构中,主要面向的对象是业务系统。首先,事件触发每个业务应用;然后,业务应用读写远程事务型数据库;最后,业务应用计算结果并做出响应。需要注意的是:事务处理架构并不...

2020-05-08 09:39:20 1128

原创 详解Flink运行架构

1 Flink运行时的组件      Flink运行时架构主要包括四个不同的组件,它们会在运行流处理应用程序时协同工作:作业管理器(JobManager)、资源管理器(ResourceManager)、任务管理器(TaskManager)和分发器(Dispatcher)。因为Flink是用Java和Scala实现的,所以所有组件都会运行...

2020-05-06 18:20:15 1959

原创 Spark原理篇之Spark SQL

1 Spark SQL背景      Spark SQL是从Shark发展而来的。Shark为了实现Hive兼容,在HQL方面重用了Hive中的HQL的析、逻辑执行计划翻译和执行计划优化等逻辑可以近似认为仅将物理执行计划从MR作业替换成了Spark作业(辅以内存列式存储等各种和Hive关系不大的优化);同时依赖Hive MetaStor...

2019-06-08 21:52:38 444

转载 Spark原理篇之SparkSQL Join分析

1 Join背景      Join是数据库查询永远绕不开的话题,传统查询SQL技术可以分为简单操作(过滤操作-where、排序操作-sort by),聚合操作-groupby以及join操作等。其中join操作是最复杂的、代价最大的操作模型,也是OLAP场景中使用相对较多的操作。因此很有必要对其进行深入研究。  ...

2019-06-08 15:46:15 1768 2

转载 Spark原理篇之Shuffle详解

1 Shuffle简介      Shuffle描述数据从Map Task输出到Reduce Task输入的这段过程。Shuffle是连接Map和Reduce之间的桥梁,Map的输出要用到Reduce中必须经过Shuffle这个环节,Shuffle的性能高低直接影响了整个程序的性能和吞吐量。因为在分布式情况下,Reduce Task需要...

2019-06-07 22:52:31 537

转载 Spark原理篇之Spark Streaming转化操作和输出操作

1 转化操作      DStream的转化操作可以分为无状态和有状态两种。      ① 在无状态转化操作中,每个批次的处理不依赖于之前批次的数据。例如map()、filter()和reduceByKey()等都是无状态转化操作。   &nb...

2019-06-06 15:29:53 834

转载 Spark原理篇之Spark Streaming实现思路与模块概述

1 Spark Streaming概述      和Spark基于RDD的概念相似,Spark Streaming使用离散化流作为抽象表示,叫作DStream。DStream是随着时间推移而收到的数据的序列。在内部,每个时间区间收到的数据都作为RDD的存在,而DStream是由这些RDD所组成的序列(因此得名“离散化”)。DStream...

2019-06-05 22:18:08 230

原创 Spark原理篇之RDD特征分析讲解

      RDD(Resilient Distributed DataSets)弹性分布式数据集,是分布式内存的一个抽象概念。我们可以抽象地代表对应一个HDFS上的文件,但是它实际上是被分区的,分为多个分区洒落在Spark集群中的不同节点上。1 RDD五大特性(1)A list of partitions:RDD是由一组parti...

2019-06-02 22:24:24 415

原创 Spark原理篇之工作原理

1 Spark背景      Spark是一个加州大学伯克利分校(UC Berkeley AMP)开发的一个分布式数据快速分析项目。它的核心技术是弹性分布式数据集(Resilient distributed datasets),提供了比Hadoop更加丰富的MapReduce模型,可以快速在内存中对数据集进行多次迭代,来支持复杂的数据挖...

2019-06-02 17:17:47 5205 1

原创 Kafka原理篇

1 Kafka简介      Kafka是分布式发布订阅消息系统。他最初由Linkedin公司开发,之后成为Apache项目的一部分。Kafka是一个分布式的可划分的冗余备份的持久性的日志服务。它主要用于处理活跃的流式数据。      在大数据系统中,常常会碰到一个问题,整个...

2019-05-20 16:43:18 498 3

原创 Sqoop原理篇

1 Sqoop简介      Apache Sqoop(SQL-to-Hadoop)项目旨在协助RDBMS与Hadoop之间进行高效的大数据交流。用户可以在 Sqoop 的帮助下,轻松地把关系型数据库的数据导入到 Hadoop 与其相关的系统 (如HBase和Hive)中;同时也可以把数据从 Hadoop 系统里抽取并导出到关系型数据库...

2019-05-16 21:57:16 12227

原创 Flume原理篇

1 Flume简介      Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。     &nbsp...

2019-05-16 11:26:50 473

原创 Oozie原理篇

1 基本概念(1)目前计算框架和作业类型繁多:MapReduce Java、Streaming、HQL、Pig等。(2)如何对这些框架和作业进行统一管理和调度:      ① 不同作业之间存在依赖关系(DAG:有向无环图,指定了作业之间的调度关系);      ② 周期性...

2019-05-13 16:32:34 1959

原创 impala架构和工作原理

1 Impala概述1.1 什么是Impala(1)Cloudera公司推出,提供对HDFS、Hbase数据的高性能、低延迟的交互式SQL查询功能;(2)基于Hive使用内存计算,兼顾数据仓库、具有实时、批处理、多并发等优点;(3)是CDH平台首选的PB级大数据实时查询分析引擎。1.2 Impala优点(1)基于内存进行计算,能够对PB级数据进行交互式实时查询和分析;(2)无需转换为...

2019-05-04 21:54:26 1383

原创 squirrel-3.9.1+phonenix-4.14.1+hbase-1.4.9配置

一、配置phonenix-4.14.11.下载phonenix-4.14.1      下载地址http://mirrors.cnnic.cn/apache/phoenix/      下载phonenix-4.14.12.解压phonenix-4.14.1tar –z...

2019-04-24 21:21:31 426

原创 HBase HA配置

1 三个节点的结构Master 192.168.1.120 HMaster zk noSlave1 192.168.1.121 backup zk HRegionServerSlave2 192.168.1.122 no zk HRegionServer2 下载hbase并解压tar –zxvf apache-hive-2.3.4-bin.tar.gz3 配置...

2019-04-23 22:22:06 517

原创 HBase工作原理

1 HBase概述(1)HBase的定义      HBase:Hadoop Database,是一个高可靠、高性能、面向列、可伸缩、实时读写的分布式数据库。利用HBase技术可在廉价的PC Server上搭建大规模结构化存储集群。      ① 高可靠:数据高可靠性:HB...

2019-04-23 19:43:17 866

原创 Hive的DDL和DML相关理论和实战

1 数据库(1)创建数据库CREATE DATABASE [IF NOT EXISTS] financials;(2)查看数据库列表SHOW DATABASES;SHOW DATABASES LIKE ‘h.*’;(3)查看数据库的描述DESCRIBE DATABASE financials;(4)修改数据库ALTER DATABASE financials SET DBP...

2019-04-21 23:18:47 246

转载 Hive事务

1 事务      事务就是一组单元化操作,这些操作要么都执行,要么都不执行,是一个不可分割的工作单位。1.1 事务的基本要素(ACID)(1)原子性(Atomicity)      事务开始后,一个事务是一个不可再分割的工作单位,事务中的所有操作要么都发生,要么都不发生...

2019-04-19 22:04:54 1007 1

原创 Hive简介

1 Hive是什么(1)由facebook开源,最初用于解决海量结构化的日志数据统计问题;ETL工具。      注:ETL(Extraction-Transformation-Loading)工具:用来描述将数据从来源端经过萃取(extract,数据抽取,也就是把数据从数据源读出来)、转置(transform,数据转换,把原始数据转...

2019-04-18 22:42:51 506

原创 MapReduce2原理解析

1 MapReduce概述      MapReduce源自于Google的MapReduce论文,改论文发表于2004年12月,现在的Hadoop MapReduce是Google MapReduce的克隆版本。      MapReduce的特点:①易于编程:用户不用考虑...

2019-04-04 09:52:29 1747

原创 YARN原理简介

1 YARN产生的背景(1)MapReduce1.0问题      ①扩展性受限:JobTracker对任务进行调度,也对资源进行分配,承受的访问压力大,影响系统的扩展性。      ②JobTracker单点故障问题:如果Hadoop集群的JobTracker挂掉,则整...

2019-04-02 16:31:37 523

原创 HDFS实战

1 HDFS shell命令(1)hdfs命令概览(2)文件操作命令常用的命令      ①将本地文件上传到HDFS上      hadoop fs -copyFromLocal /local/data /hdfs/data   &n...

2019-03-31 19:09:40 851

空空如也

空空如也

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

TA关注的人

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