![](https://img-blog.csdnimg.cn/20191023145448698.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Hadoop生态框架
文章平均质量分 88
大数据框架基础知识,根据开课吧课程总结。
TUJC
这个作者很懒,什么都没留下…
展开
-
Spark SQL 底层实现原理(部分)
这个阶段的优化器主要是基于规则的(Rule-based Optimizer,简称 RBO),而绝大部分的规则都是启发式规则,也就是基于直观或经验而得出的规则。从上面的查询计划我们可以看得出来,我们编写的sql语句,经过多次转换,最终进行编译成为字节码文件进行执行,(注意,图是从下往上看的)其中包括以下几个重要步骤。直接使用SQL的方式实现大数据的开发,它同时支持DSL以及SQL的语法风格,目前在spark的整个架构设计当中,所有的spark模块,例如。,通过这个对 SQL 进行词法分析并构建语法树。...转载 2022-08-11 12:13:22 · 409 阅读 · 0 评论 -
Flink CDC
Flink 社区开发了 flink-cdc-connectors 组件,这是一个可以直接从 MySQL、PostgreSQL 等数据库直接读取全量数据和增量变更数据的 source 组件。原创 2022-08-06 11:19:43 · 1109 阅读 · 0 评论 -
hive窗口函数over()
over(),指定分析函数工作的数据窗口大小,这个数据窗口大小可能会随着行的变而变化。原创 2022-07-23 16:20:02 · 2960 阅读 · 0 评论 -
LogStash日志数据采集
文章目录一、LogStash介绍及安装1.1、介绍1.2 、node01机器安装LogStash1.3、Input插件1.3.1 stdin标准输入和stdout标准输出1.3.2 监控日志文件变化1.3.3 jdbc插件1.3.4 systlog插件1.4、filter插件1.4.1、grok正则表达式1.4.2、使用grok收集nginx日志数据1.5、Output插件1.5.1 标准输出到控制台1.5.2 将采集数据保存到file文件中1.5.3 将采集数据保存到elasticsearch二、kiba原创 2021-01-16 16:30:44 · 1862 阅读 · 2 评论 -
Elasticsearch集群调优
文章目录一、服务器硬件以及内存调优1、调整交换区的swap大小2、调整普通用户打开文件数以及线程数的限制3、调整ES的JVM堆内存大小二、ES的参数调优1、集群自动发现机制2、集群的主节点选举3、集群的故障检测4、集群状态更新5、no Master block机制6、增加 Refresh 时间间隔7、综合调优概览一、服务器硬件以及内存调优1、调整交换区的swap大小关闭系统的交换区,禁用linux的虚拟内存,尽量让我们的ES禁用虚拟内存。因为如果使用虚拟内存,就会将内存当中过多的数据缓存到磁盘上原创 2021-01-16 16:01:54 · 493 阅读 · 0 评论 -
Elasticsearch高级操作
文章目录一、高级javaAPI操作1、统计每个球队当中球员的数量2、统计每个球队中每个位置的球员数量3、分组求各种值5、分组求平均值6、分组求和7、聚合排序二、ES当中的地理位置搜索1、创建索引库并添加数据2、添加以下jar包坐标依赖3、使用javaAPI来实现基于地理位置的搜索三、elasticsearch 的sql插件使用1、通过rest风格实现数据的查询第一步:使用rest方式向索引库当中添加数据第二步:使用rest风格方式查询数据2、使用sql脚本的方式进入sql客户端进行查询第一步:node01进原创 2021-01-16 15:32:21 · 483 阅读 · 0 评论 -
Elasticsearch相关操作
一、ES的核心概念1.1、概述Elasticsearch是面向文档(document oriented)的,这意味着它可以存储整个对象或文档(document)。然而它不仅仅是存储,还会索引(index)每个文档的内容使之可以被搜索。在Elasticsearch中,你可以对文档(而非成行成列的数据)进行索引、搜索、排序、过滤。Elasticsearch比传统关系型数据库如下:Relational DB -> Databases -> Tables -> Rows ->原创 2021-01-15 16:49:13 · 1658 阅读 · 0 评论 -
Elasticsearch安装部署
1、什么是ElasticSearchElaticsearch,简称为es, es是一个开源的高扩展的分布式全文检索引擎。它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。es使用Java开发,并使用Lucene作为其核心,来实现所有索引和搜索的功能,但是,它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。2、ElasticSearch使用案例2013年初,GitHub抛弃了Solr,采取ElasticS原创 2021-01-15 12:02:24 · 1166 阅读 · 0 评论 -
ELK概述
1、ELK的基本介绍ELK是三个软件产品的首字母缩写,Elasticsearch,Logstash 和 Kibana。这三款软件都是开源软件,通常是配合使用,而且又先后归于 Elastic.co 公司名下,故被简称为 ELK 协议栈。Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。原创 2021-01-15 11:24:23 · 149 阅读 · 0 评论 -
Flink的Table以及SQL
Flink的Table以及SQL1、Flink table以及SQL的基本介绍Apache Flink 具有两个关系型API:Table API 和SQL,用于统一流和批处理。Table API 是用于 Scala 和 Java 语言的查询API,允许以非常直观的方式组合关系运算符的查询,例如 select,filter 和 join。Flink SQL 的支持是基于实现了SQL标准的 Apache Calcite。无论输入是批输入(DataSet)还是流输入(DataStream),任一接口中指定原创 2020-10-10 15:19:23 · 1453 阅读 · 0 评论 -
Flink的window和Time
、Flink的window和Time详解对于流式处理,如果我们需要求取总和,平均值,或者最大值,最小值等,是做不到的,因为数据一直在源源不断的产生,即数据是没有边界的,所以没法求最大值,最小值,平均值等,所以为了一些数值统计的功能,我们必须指定时间段,对某一段时间的数据求取一些数据值是可以做到的。或者对某一些数据求取数据值也是可以做到的所以,流上的聚合需要由 window 来划定范围,比如 “计算过去的5分钟” ,或者 “最后100个元素的和” 。window是一种可以把无限数据切割为有限数据块的手段原创 2020-08-21 18:02:16 · 439 阅读 · 0 评论 -
Flink批量处理之DataSet
Flink批量处理之DataSetflink不仅可以支持实时流式处理,它也可以支持批量处理,其中批量处理也可以看作是实时处理的一个特殊情况1、dataSet的内置数据源基于文件数据源readTextFile(path) / TextInputFormat:逐行读取文件并将其作为字符串(String)返回readTextFileWithValue(path) / TextValueInputFormat:逐行读取文件并将其作为StringValue返回。StringValue是Flink对Stri原创 2020-08-20 22:49:44 · 1221 阅读 · 0 评论 -
Flink实时处理之DataStream
Flink的API概览1、dataStream的数据源1.1、socket数据源socketTextStream从socket当中接收数据,并统计最近5秒钟每个单词出现的次数第一步:node01开发socket服务node01执行以下命令开启socket服务nc -lk 9000第二步:开发代码实现import org.apache.flink.streaming.api.scala.{DataStream, StreamExecutionEnvironment}import org.原创 2020-08-20 19:00:03 · 848 阅读 · 0 评论 -
Flink入门编程
1、Flink编程入门案例1.1、实时处理代码开发开发flink代码,实现统计socket当中的单词数量第一步:创建maven工程,导入jar包<dependencies> <!-- https://mvnrepository.com/artifact/org.apache.flink/flink-streaming-scala --> <dependency> <groupId>org.apache.flink&l原创 2020-08-20 17:31:06 · 1081 阅读 · 0 评论 -
Flink简介与部署
1、Flink基本介绍1、Flink介绍Flink起源于一个名为Stratosphere的研究项目,目的是建立下一代大数据分析平台,于2014年4月16日成为Apache孵化器项目。Apache Flink是一个面向数据流处理和批量数据处理的可分布式的开源计算框架,它基于同一个Flink流式执行模型(streaming execution model),能够支持流处理和批处理两种应用类型。由于流处理和批处理所提供的SLA(服务等级协议)是完全不相同。流处理一般需要支持低延迟、Exactly-once原创 2020-08-20 16:54:58 · 1058 阅读 · 0 评论 -
Kylin的Java使用
1、BI工具集成官方文档使用说明可以与Kylin结合使用的可视化工具很多,例如:ODBC:与Tableau、Excel、PowerBI等工具集成 JDBC:与Saiku、BIRT等Java工具集成RestAPI:与JavaScript、Web网页集成Kylin开发团队还贡献了Zepplin的插件,也可以使用Zepplin来访问Kylin服务。1、JDBC1)新建项目并导入依赖<dependencies> <dependency> <g原创 2020-08-18 21:59:34 · 656 阅读 · 0 评论 -
kylin的cube构建
1、kylin的构建流程2、cube构建算法2.1、逐层构建算法我们知道,一个N维的Cube,是由1个N维子立方体、N个(N-1)维子立方体、N*(N-1)/2个(N-2)维子立方体、…、N个1维子立方体和1个0维子立方体构成,总共有2^N个子立方体组成,在逐层算法中,按维度数逐层减少来计算,每个层级的计算(除了第一层,它是从原始数据聚合而来),是基于它上一层级的结果来计算的。比如,[Group by A, B]的结果,可以基于[Group by A, B, C]的结果,通过去掉C后聚原创 2020-08-18 21:26:40 · 693 阅读 · 0 评论 -
kylin入门使用
、kylin的入门使用我们kylin环境安装成功之后,我们就可以在hive当中创建数据库以及数据库表,然后通过kylin来实现数据的查询第一步:创建hive数据库以及表并加载以下数据dept.txt10 ACCOUNTING 170020 RESEARCH 180030 SALES 190040 OPERATIONS 1700emp.txt7369 SMITH CLERK 7902 1980-12-17 800.00 207499 ALLEN SALESMAN 7698 1981-2原创 2020-08-18 21:07:06 · 985 阅读 · 0 评论 -
Kylin基本介绍
Kylin1、kylin基本介绍Apache Kylin 是一个开源的分布式存储引擎,最初由 eBay 开发贡献至开源 社区。它提供 Hadoop 之上的 SQL 查询接口及多维分析(OLAP)能力以支持大规 模数据,能够处理 TB 乃至 PB 级别的分析任务,能够在亚秒级查询巨大的 Hive 表,并支持高并发。1.1、为什么要使用kylin自Hadoop 诞生以来,大数据的存储和批处理问题均得到了妥善解决,而如何高速地分析数据也就成为了下一个挑战。于是各式各样的“SQL on Hadoop”技术原创 2020-08-18 18:40:59 · 7336 阅读 · 0 评论 -
38、ELK环境配置
1、ELK日志协议栈1、ELK的基本介绍ELK是三个软件产品的首字母缩写,Elasticsearch,Logstash 和 Kibana。这三款软件都是开源软件,通常是配合使用,而且又先后归于 Elastic.co 公司名下,故被简称为 ELK 协议栈。Elasticsearch:是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。Logstash:是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存原创 2020-08-17 23:26:08 · 469 阅读 · 0 评论 -
OpenTSDB使用
一、OpenTSDB原理 随着互联网、尤其是物联网的发展,我们需要把各种类型的终端实时监测、检查与分析设备所采集、产生的数据记录下来,在有时间的坐标中将这些数据连点成线,往过去看可以做成多纬度报表,揭示其趋势性、规律性、异常性;往未来看可以做大数据分析,机器学习,实现预测和预警。 这些数据的典型特点是:产生频率快(每一个监测点一秒钟内可产生多条数据)、严重依赖于采集时间(每一条数据均要求对应唯一的时间)、测点多信息量大(实时监测系统均有成千上万的监测点,监测点每秒钟都产生数据,每天产生几十GB的原创 2020-08-17 16:35:59 · 1898 阅读 · 0 评论 -
scala语言基础
1. scala简介scala是运行在 JVM 上的多范式编程语言,同时支持面向对象和面向函数编程早期scala刚出现的时候,并没有怎么引起重视,随着Spark和Kafka这样基于scala的大数据框架的兴起,scala逐步进入大数据开发者的眼帘。scala的主要优势是它的表达性。官网地址http://www.scala-lang.org2. 为什么要使用scala开发大数...原创 2019-12-03 12:20:35 · 345 阅读 · 0 评论 -
37_SparkStreaming三—进阶
目标掌握SparkStreaming的容错掌握SparkStreaming语义SparkStreaming整合Kafka案例演示1 SparkStreaming容错1.1 SparkStreaming运行流程回顾1.2 Executor失败Tasks和Receiver自动的重启,不需要做任何的配置1.3 Driver失败用checkpoint机制恢复失败的Driver...原创 2020-01-14 15:51:40 · 301 阅读 · 1 评论 -
36_SparkStreaming二—编程
SparkStreaming编程1 Transformation 高级算子1.1 updateStateByKey/** * 单词计数 * * Driver服务: * 上一次 运行结果,状态 * Driver服务 * 新的数据 * */object UpdateStateBykeyWordCount { def main(args: Ar...原创 2020-01-14 11:11:00 · 230 阅读 · 0 评论 -
35_SparkStreaming一
SparkStreaming1 实时任务简介Spark流是对于Spark核心API的拓展,从而支持对于实时数据流的可拓展,高吞吐量和容错性流处理。数据可以由多个源取得,例如:Kafka,Flume,Twitter,ZeroMQ,Kinesis或者TCP接口,同时可以使用由如map,reduce,join和window这样的高层接口描述的复杂算法进行处理。最终,处理过的数据可以被推送到文件系统,...原创 2020-01-07 11:13:37 · 150 阅读 · 0 评论 -
34_kafka三
1. kafka内核原理1.1 ISR机制问题:仅依靠多副本机制能保证Kafka的高可用性,但是能保证数据不丢失吗?不行,因为如果leader宕机,但是leader的数据还没同步到follower上去,此时即使选举了follower作为新的leader,当时刚才的数据已经丢失了。ISR是:in-sync replica,就是跟leader partition保持同步的follower p...原创 2020-01-03 15:38:05 · 243 阅读 · 0 评论 -
33_kafka二
掌握Kafka的分区策略掌握kafka文件的存储机制(★★★★★)掌握kafka高效文件读写速度(★★★★★)掌握kafka整合flume(★★★★★)了解kafka监控工具的使用1. kafka分区策略kafka的分区策略决定了producer生产者产生的一条消息最后会写入到topic的哪一个分区中1、指定具体的分区号//1、给定具体的分区号,数据就会写入到指定的分区中...原创 2020-01-02 15:46:14 · 198 阅读 · 0 评论 -
32_Kafka一
Kafka—分布式发布订阅消息系统1. Kafka概述Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像...原创 2020-01-02 15:12:40 · 251 阅读 · 0 评论 -
31_spark九—数据倾斜与shuffle调优
Spark数据倾斜与shuffle调优1. 数据倾斜原理和现象分析1.1 数据倾斜概述有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的性能。1.2 数据倾斜发生时的现象(1)绝大多数task执行得都非常快,但个别task执行极慢你...原创 2020-01-02 15:04:54 · 344 阅读 · 0 评论 -
30_spark八—资源与开发调优
Spark调优-第一天准备掌握SparkCore部分的知识掌握Spark的Stage的划分原理掌握Spark的Shuffle原理深入理解SparkCore运行流程。1. 分配更多的资源分配更多的资源:它是性能优化调优的王道,就是增加和分配更多的资源,这对于性能和速度上的提升是显而易见的,基本上,在一定范围之内,增加资源与性能的提升,是成正比的;写完了一个复杂...原创 2019-12-30 09:45:22 · 244 阅读 · 0 评论 -
29_spark七—hive
spark内存计算框架1、sparksql 操作hivesql添加依赖 <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-hive_2.11</artifactId> ...原创 2019-12-30 09:25:24 · 163 阅读 · 0 评论 -
28_spark六—sql
spark内存计算框架1.sparksql概述1.1 sparksql的前世今生Shark是专门针对于spark的构建大规模数据仓库系统的一个框架Shark与Hive兼容、同时也依赖于Spark版本Hivesql底层把sql解析成了mapreduce程序,Shark是把sql语句解析成了Spark任务随着性能优化的上限,以及集成SQL的一些复杂的分析功能,发现Hive的MapRedu...转载 2019-12-30 09:20:58 · 152 阅读 · 0 评论 -
27_spark五—yarn
spark内存计算框架1、spark on yarn 原理和机制(★★★★★)yarn-clientyarn-cluster2、collect算子操作作用第一点它是一个action触发任务的真正运行第二点它会把rdd的数据进行收集之后,以数组的形式返回给Driver端3、spark中计算资源的参数说明(★★★★★)–executor-memor...原创 2019-12-29 22:03:10 · 220 阅读 · 0 评论 -
26_spark四—任务调度
spark内存计算框架1、spark任务的提交、任务的划分、任务的调度(★★★★★)2、spark自定义分区3、spark的共享变量广播变量(★★★★★)累加器4、spark程序的序列化问题(★★★★★)1. spark的任务调度(1) Driver端运行客户端的main方法,构建SparkContext对象,在SparkContext对象内部依次构建DAGSchedu...原创 2019-12-29 21:54:09 · 221 阅读 · 0 评论 -
25_spark三—RDD进阶
spark内存计算框架spark的底层核心RDD算子操作案例和原理进阶1、rdd的算子操作案例(★★★★★)重点是掌握算子的使用flatMap、map、count、distinct 、reduceByKey、sortBy、foreach、foreachParitition2、rdd的依赖关系宽依赖窄依赖3、rdd的缓存机制(★★★★★)cachepersi...原创 2019-12-27 17:00:19 · 282 阅读 · 0 评论 -
24_spark二—RDD
spark内存计算框架1. RDD是什么RDD(Resilient Distributed Dataset)叫做弹性 分布式 数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合.Dataset: 就是一个集合,存储很多数据.Distributed:它内部的元素进行了分布式存储,方便于后期进行分布式计算.Resilient: ...转载 2019-12-27 16:50:17 · 183 阅读 · 0 评论 -
24_spark一
spark内存计算框架1. spark是什么Apache Spark™ is a unified analytics engine for large-scale data processing.spark是针对于大规模数据处理的统一分析引擎 spark是在Hadoop基础上的改进,是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框...原创 2019-12-27 16:47:53 · 205 阅读 · 0 评论 -
23_azkaban工作流调度器
Azkaban工作流调度器准备:安装好对应版本的mysql安装好对应版本的hadoop集群安装好对应版本的hive1. 为什么需要工作流调度系统一个完整的数据分析系统通常都是由大量任务单元组成;shell脚本程序、java程序、mapreduce程序、hive脚本等各任务单元之间存在时间先后及前后依赖关系为了很好地组织起这样的复杂执行计划,需要一个工作流调度系...原创 2019-12-27 16:34:48 · 252 阅读 · 0 评论 -
22_Sqoop数据迁移工具
Sqoop数据迁移工具准备:安装好对应版本的mysql安装好对应版本的hadoop集群安装好对应版本的hive1. Sqoop是什么Sqoop是apache旗下的一款 ”Hadoop和关系数据库之间传输数据”的工具导入数据 import将MySQL,Oracle导入数据到Hadoop的HDFS、HIVE、HBASE等数据存储系统导出数据 export从Hadoo...原创 2019-12-27 16:23:03 · 289 阅读 · 0 评论 -
21_Flume日志采集框架
Flume日志采集框架目标掌握flume的应用场景掌握flume中常用的source、channel、sink使用掌握flume的企业案例[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-prQ4YAeO-1574516297754)(Flume日志采集框架.assets/Flume总结.png)]1. Flume是什么在一个完整的离线大数据处理系统...原创 2019-11-23 22:08:25 · 422 阅读 · 0 评论