自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 大数据工作调度系统之Azkaban(Azkaban概述及安装配置)

文章目录大数据技术之Azkaban一、Azkaban 概述1、工作流调度系统2、 常见工作流调度系统3、Azkaban 与 Oozie 对比二、Azkaban 入门1、 集群模式安装1.1 上传 tar 包1.2 配置 MySQL1.3 配置 Executor Server1.4 配置 Web Server大数据技术之Azkaban一、Azkaban 概述1、工作流调度系统1)一个完整的数据分析系统通常都是由大量任务单元组成:Shell脚本程序,Java程序,MapReduce程序、Hiv

2021-01-21 18:59:04 595

原创 Flume与Kafka的配合使用(数据分离-按需求消费)

文章目录六、Flume 对接 Kafka2、数据分离六、Flume 对接 Kafka2、数据分离0)需求:​ 将flume采集的数据按照不同的类型输入到不同的topic中​ 将日志数据中带有flume的,输入到Kafka的flume主题中,​ 将日志数据中带有hello的,输入到Kafka的hello主题中,​ 其他的数据输入到Kafka的other主题中1) 编写Flume的Interceptor/** * 需求: 将flume采集的数据按

2021-01-21 18:57:28 625

原创 Hive2.0 函数详解

Hive2.0 函数详解摘要Hive内部提供了很多函数给开发者使用,包括数学函数,类型转换函数,条件函数,字符函数,聚合函数,表生成函数等等,这些函数都统称为内置函数。数学函数Return TypeName (Signature)DescriptionDOUBLEround(DOUBLE a)Returns the rounded BIGINT value of a.返回对a四舍五入的BIGINT值DOUBLEround(DOUBLE a, INT d)Retur

2021-01-21 18:55:42 420 2

原创 Flume与Kafka的配合使用(简单实现)

文章目录六、Flume 对接 Kafka1、简单实现六、Flume 对接 Kafka1、简单实现1)配置flume[xiaoxq@hadoop105 jobs]$ pwd/opt/module/flume-1.9.0/jobs[xiaoxq@hadoop105 jobs]$ vim flume-kafka.conf添加如下内容# definea1.sources = r1a1.sinks = k1a1.channels = c1# sourcea1.sources.r1.t

2020-09-10 08:35:29 751

原创 Kafaka 网页端监控设置(Kafka Eagle)

文章目录五、Kafaka 监控1、Kafka Eagle五、Kafaka 监控1、Kafka Eagle1)修改kafka启动命令修改 kafka-server-start.sh 命令中if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"fi为if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then export KAFKA_HEAP_OPTS="-se

2020-09-10 08:35:06 890

原创 Kafka API的运用(Consumer API)

文章目录四、Kafka API2、 Consumer API2.1 自动提交offset2.2 重置Offset2.3手动提交 offset四、Kafka API2、 Consumer APIConsumer 消费数据时的可靠性是很容易保证的,因为数据在 Kafka 中是持久化的,故不用担心数据丢失问题。由于 consumer 在消费过程中可能会出现断电宕机等故障,consumer 恢复后,需要从故障前的位置的继续消费,所以 consumer 需要实时记录自己消费到了哪个offset,以便故障恢复

2020-09-07 18:55:20 138

原创 Kafka API的运用(Producer API)

文章目录四、Kafka API1、Producer API1.1 消息发送流程1.2 异步发送 API1.3 分区器1.4 同步发送 API四、Kafka API1、Producer API1.1 消息发送流程Kafka 的 Producer 发送消息采用的是异步发送的方式。在消息发送的过程中,涉及到了两个线程——main线程和Sender线程,以及一个线程共享变量——RecordAccumulator。main 线程将消息发送给 RecordAccumulator,Sender 线程不断从 Re

2020-09-07 18:54:58 385

原创 Kafka架构(kafka高效读写数据、zookeeper在kafka中的作用、kafka事务)

文章目录Kafka架构4、 Kafka 高效读写数据4.1 顺序写磁盘4.2 应用Pagecache(页缓存)4.3 零复制技术5 、Zookeeper 在 Kafka 中的作用6、Kafka 事务6.1 Producer 事务6.2 Consumer 事务(精准一次性消费)Kafka架构4、 Kafka 高效读写数据高效缘由:分区、地址索引机制4.1 顺序写磁盘Kafka 的 producer 生产数据,要写入到 log 文件中,写的过程是一直追加到文件末端,为顺序写。官网有数据表明,同样

2020-09-03 10:17:54 187

原创 Kafka架构(kafka消费者的消费方式、分区分配策略、offset的维护、消费组案例分析、故障处理细节)

文章目录3、 Kafka消费者3.1 消费方式3.2 分区分配策略3.3 offset 的维护3.4 消费者组案例3.5 故障处理细节3、 Kafka消费者3.1 消费方式consumer 采用 pull(拉)模式从 broker 中读取数据。push(推)模式很难适应消费速率不同的消费者,因为消息发送速率是由broker决定的。它的目标是尽可能以最快速度传递消息,但是这样很容易造成 consumer 来不及处理消息,典型的表现就是拒绝服务以及网络拥塞。而 pull模式则可以根据 consumer

2020-09-03 10:17:26 566

原创 Kafka架构(kafka生产者的分区策略、数据可靠性保证、Exactly Once 语义)

文章目录2、Kafka 生产者2.1 分区策略2.2 数据可靠性保证2.3 Exactly Once 语义2、Kafka 生产者2.1 分区策略1)分区的原因(1)方便在集群中扩展,每个 Partition 可以通过调整以适应它所在的机器,而一个 topic 又可以有多个 Partition 组成,因此整个集群就可以适应任意大小的数据了;(2)可以提高并发,因为可以以 Partition 为单位读写了。2)分区的原则我们需要将producer发送的数据封装成一个ProducerRecor

2020-09-01 20:47:04 275

原创 Kafka架构(Kafka工作流程及文件存储机制)

文章目录三、Kafka 架构1、Kafka 工作流程及文件存储机制三、Kafka 架构1、Kafka 工作流程及文件存储机制Kafka 中消息是以topic进行分类的,生产者生产消息,消费者消费消息,都是面向 topic的。topic 是逻辑上的概念,而 partition 是物理上的概念,每个 partition 对应于一个log文件,该 log 文件中存储的就是 producer 生产的数据。Producer 生产的数据会被不断追加到该 log 文件末端,且每条数据都有自己的 offset。

2020-09-01 20:45:29 196

原创 Flume 的应用10(Flume 数据流监控Ganglia)

文章目录8、Flume 数据流监控8.1 Ganglia的安装与部署8.2 操作Flume测试监控8、Flume 数据流监控8.1 Ganglia的安装与部署1)三台机器安装epel源[xiaoxq@hadoop105 flume-1.9.0]$ sudo yum install -y epel-release2) 在105安装web,meta和monitor[xiaoxq@hadoop105 flume-1.9.0]$ sudo yum -y install ganglia-gmetad g

2020-08-28 17:44:28 152

原创 Flume 的应用9(自定义 Sink)

文章目录7、自定义Sink7、自定义Sink1)介绍Sink 不断地轮询 Channel 中的事件且批量地移除它们,并将这些事件批量写入到存储或索引系统、或者被发送到另一个Flume Agent。Sink 是完全事务性的。在从 Channel 批量删除数据之前,每个 Sink 用 Channel 启动一个事务。批量事件一旦成功写出到存储系统或下一个 Flume Agent,Sink 就利用 Channel 提交事务。事务一旦被提交,该Channel从自己的内部缓冲区删除事件。Sink 组件目的地

2020-08-27 22:09:48 163

原创 Flume 的应用8(自定义 Source)

文章目录6、自定义 Source6、自定义 Source1)介绍Source是负责接收数据到Flume Agent的组件。Source组件可以处理各种类型、各种格式的日志数据,包括avro、thrift、exec、jms、spooling directory、netcat、sequence generator、syslog、http、legacy。官方提供的 source 类型已经很多,但是有时候并不能满足实际开发当中的需求,此时我们就需要根据实际需求自定义某些 source。官方也提供了自定义

2020-08-27 22:09:17 111

原创 Kafka安装部署及常见命令行操作

文章目录二、 Kafka 快速入门1、安装1.1 Kafka 下载1.2 集群规划1.3 集群部署2 、Kafka 命令行操作二、 Kafka 快速入门1、安装1.1 Kafka 下载http://kafka.apache.org/downloads.html1.2 集群规划hadoop105hadoop106hadoop106zkzkzkkafkakafkakafka1.3 集群部署1)解压安装包[xiaoxq@hadoop105 softwa

2020-08-26 21:25:53 227

原创 Kafka概述(定义、性质、基础架构)

文章目录一、kafka 概述1、定义2、消息队列3、Kafka 基础架构一、kafka 概述1、定义kafka 是一个分布式的基于发布、订阅模式的消息队列(Message Queue),主要用于大数据实时处理领域。2、消息队列2.1 传统消息队列的应用场景场景说明:用户注册后,需要发注册邮件和注册短信,传统的做法有两种 1,串行的方式 2,并行的方式串行方式:将注册信息写入数据库后,发送注册邮件,再发送注册短信,以上三个任务全部完成之后才返回给客户端。这样会让客户等待比较久的时间,影响客

2020-08-26 21:25:04 337

原创 Flume 的应用7(自定义 Interceptor)

文章目录自定义 Interceptor自定义 Interceptor1)案例需求使用 Flume 采集服务器本地日志,需要按照日志类型的不同,将不同种类的日志发往不同的分析系统。2)需求分析在实际的开发中,一台服务器产生的日志类型可能有很多种,不同类型的日志可能需要发送到不同的分析系统。此时会用到 Flume 拓扑结构中的 Multiplexing 结构,Multiplexing 的原理是,根据 event 中 Header 的某个 key 的值,将不同的 event 发送到不同的 Chan

2020-08-25 14:06:35 78

原创 Flume 的应用6(聚合案例分析)

文章目录1、聚合拓扑结构2、聚合案例解析1、聚合拓扑结构Flume Agent聚合这种模式是我们最常见的,也非常实用,日常web应用通常分布在上百个服务器,大者甚至上千个、上万个服务器。产生的日志,处理起来也非常麻烦。用flume的这种组合方式能很好的解决这一问题,每台服务器部署一个flume采集日志,传送到一个集中收集日志的 flume,再由此flume上传到hdfs、hive、hbase等,进行日志分析。2、聚合案例解析1)案例需求:hadoop105上的 Flume-1 监控文

2020-08-25 14:04:51 206

原创 Flume 的应用5(负载均衡和故障转移及案例分析)

文章目录1、负载均衡和故障转移2、负载均衡和故障转移案例1、负载均衡和故障转移Flume负载均衡或故障转移Flume 支持使用将多个sink逻辑上分到一个sink组,sink 组配合不同的 SinkProcessor 可以实现负载均衡和错误恢复的功能。2、负载均衡和故障转移案例1)案例需求使用 Flume1 监控一个端口,其 sink 组中的 sink 分别对接 Flume2 和 Flume3,采用 FailoverSinkProcessor,实现故障转移的功能。2)需求分析

2020-08-22 21:23:42 267

原创 Flume 的应用4(复制和多路复用及案例分析)

文章目录1、复制和多路复用拓扑结构2、复制和多路复用案例解析1、复制和多路复用拓扑结构单source,多channel、sinkFlume 支持将事件流向一个或者多个目的地。这种模式可以将相同数据复制到多个 channel 中,或者将不同数据分发到不同的 channel 中,sink 可以选择传送到不同的目的地。2、复制和多路复用案例解析1)案例需求使用 Flume-1 监控文件变动,Flume-1 将变动内容传递给 Flume-2,Flume-2 负责存储到 HDFS。同时 Flu

2020-08-22 21:23:03 367

原创 Flume 的应用3(多目录多文件(taildir source、memory channel、hdfs sink))

Flume 的应用3(taildir source、memory channel、hdfs sink)文章目录Flume 的应用3(taildir source、memory channel、hdfs sink)2.4 实时监控多目录下的多个追加文件2.4 实时监控多目录下的多个追加文件Exec source 适用于监控一个实时追加的文件,不能实现断点续传;Spooldir Source 适合用于同步新文件,但不适合对实时追加日志的文件进行监听并同步;而 Taildir Source 适合用于监听多

2020-08-21 20:02:03 1192

原创 Flume 应用2(单目录多个文件(Spooling Directory source、memory channel、hdfs sink ))

Flume 之 Spooling Directory source、memory channel、hdfs sink文章目录Flume 之 Spooling Directory source、memory channel、hdfs sink2.3 实时监控目录下多个新文件2.3 实时监控目录下多个新文件1)案例需求:使用 Flume 监听整个目录的文件,并上传至 HDFS2)需求分析:3)实现步骤:(1)创建配置文件 files-flume-hdfs.conf创建一个文件[xiaoxq

2020-08-21 19:43:52 201

原创 Flume 的应用1(exec source、memory channel、hdfs sink)

Flume 之exec source、memory channel、hdfs sink文章目录Flume 之exec source、memory channel、hdfs sink2.2 实时监控单个追加文件2.2 实时监控单个追加文件1)案例需求:实时监控 Hive 日志,并上传到HDFS中注意:tail -f (失败后不重试) tail -F (失败后重试一般3次)2)需求分析:3)实现步骤:(1)Flume 需要依赖 Hadoop 相关的 jar包,才能将数据输出到 HDFS

2020-08-17 23:13:50 480

原创 Flume的安装和官方入门案例解析

二、Flume 入门1、Flume 安装1.1 安装地址(1) Flume官网地址:http://flume.apache.org/(2)文档查看地址:http://flume.apache.org/FlumeUserGuide.html(3)下载地址:http://archive.apache.org/dist/flume/1.2 安装部署(当前用的版本是 apache-flume-1.9.0 )(1)将 apache-flume-1.9.0-bin.tar.gz 上传到 linu

2020-08-14 21:15:51 158

原创 Flume概述及组成架构(实时、日志、传输)

文章目录一、Flume 概述(实时、日志、传输)1、概念2、Flume 基础架构2.1 Agent2.2 Source2.3 Sink2.4 Channel2.5 Event一、Flume 概述(实时、日志、传输)1、概念Flume 是 Cloudera 提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume基于流式架构,灵活简单。(实时日志传输)补充:Hadoop 三大发行版本Apache Hadoop: 最原始(最基础)的版本Cloudera Hadoop: 内

2020-08-10 23:43:00 571

原创 Hive 函数的解读及应用4(自定义函数)

文章目录Hive 函数43、 自定义函数4、 自定义 UDF 函数Hive 函数43、 自定义函数1)Hive 自带了一些函数,比如:max/min等,但是数量有限,自己可以通过自定义UDF来方便的扩展。2)当 Hive 提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义函数(UDF:user-defined function)。3)根据用户自定义函数类别分为以下三种:(1)UDF(User-Defined-Function)一进一出(2)UDAF(User-Defi

2020-08-07 22:57:24 580

原创 Hive 函数的解读及应用3(窗口函数、RANK函数、常用函数)

文章目录Hive 函数32.5 窗口函数(开窗函数)2.6 Rank2.7 常用的 hive 函数Hive 函数32.5 窗口函数(开窗函数)1)相关函数说明OVER():指定分析函数工作的数据窗口大小,这个数据窗口大小可能会随着行的变化而变化。CURRENT ROW:当前行n PRECEDING:往前n行数据n FOLLOWING:往后n行数据UNBOUNDED:无边界UNBOUNDED PRECEDING 前无边界,表示从前面的起点,UNBOUNDED FOLLOWING 后无边

2020-08-07 22:56:25 337

原创 Hive 函数的解读及应用2(常用内置函数2:行转列、列转行)

文章目录Hive 函数22.3 行转列2.4 列转行Hive 函数22.3 行转列1)相关函数说明(可以是一行转一列,多行转一列)CONCAT(string A/col, string B/col…):返回输入字符串连接后的结果,支持任意个输入字符串;CONCAT_WS(separator, str1, str2,…):它是一个特殊形式的 CONCAT()。第一个参数剩余参数间的分隔符。分隔符可以是与剩余参数一样的字符串。如果分隔符是 NULL,返回值也将为 NULL。这个函数会跳过分隔符参数后

2020-08-06 20:12:21 355

原创 Hive 函数的解读及应用1(系统内置函数、常用内置函数1)

八、函数文章目录八、函数1、 系统内置函数2、常用内置函数2.1 空字段赋值2.2 CASE WHEN THEN ELSE END1、 系统内置函数1)查看系统自带的函数0: jdbc:hive2://hadoop105:10000> show functions;2)显示自带的函数的用法0: jdbc:hive2://hadoop105:10000> desc function upper;+------------------------------------------

2020-08-06 20:11:30 207

原创 Hive之分区表与分桶表的解读及应用

七、分区表/分桶表文章目录七、分区表/分桶表1、分区表1.1 分区表基本操作1.2 分区表二级分区1.3 动态分区调整2、分桶表1、分区表概念:分区表实际上就是对应一个 HDFS 文件系统上的独立的文件夹,该文件夹下是该分区所有的数据文件。Hive 中的分区就是分目录,把一个大的数据集根据业务需要分割成小的数据集。在查询时通过 WHERE 子句中的表达式选择查询所需要的指定的分区,这样的查询效率会提高很多。1.1 分区表基本操作1)引入分区表需要根据日期对日志进行管理, 通过部门信息模拟

2020-08-05 20:07:24 762

原创 Hive 中常用的查询语句解读及应用(分组、Join、排序语句)

文章目录Hive 中常用的查询语句2 、分组2.1 Group By 语句2.2 Having 语句3、Join 语句3.1 等值 Join3.2 表的别名3.3 内连接3.4 左外连接3.5 右外连接3.6 满外连接3.7 多表连接3.8 笛卡尔积4、排序4.1 全局排序(order by )4.2 采用别名排序4.3 多个列排序4.5 分区(distribute by)4.6 分区排序(Cluster By)Hive 中常用的查询语句2 、分组2.1 Group By 语句GROUP BY

2020-08-05 00:08:50 423

原创 Hive 查询的应用(基本查询的解读及应用)

文章目录六 、查询1、基本查询(select … from)1.1 全表和特定列查询1.2 列别名1.3 算术运算符1.4 常用函数1.5 Limit 语句1.6 Where 语句1.7 比较运算符(Between/In/ Is Null)1.8 Like 和 RLike1.9 逻辑运算符(And/Or/Not)六 、查询https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Select查询语句语法:SELECT [ALL

2020-07-31 22:15:17 994

原创 Hive 之 DML 数据操作语言应用(增删改)

文章目录五、DML 数据操作1、数据导入1.1 向表中装载数据(Load)1.2 通过查询语句向表中插入数据(Insert)1.3 查询语句中创建表并加载数据(As Select)1.4 创建表时通过Location指定加载数据路径1.5 Import 数据到指定 Hive 表中2 、数据导出2.1 Insert 导出2.2 Hadoop 命令导出到本地2.3 Hive Shell 命令导出2.4 Export 导出到 HDFS 上五、DML 数据操作data manipulation langua

2020-07-31 22:10:41 220

原创 Hive 之 DDL 数据库定义语言应用(重点)

文章目录四、DDL 数据定义1、创建数据库2、查询数据库2.1 显示数据库2.2 查看数据库详情2.3 切换当前数据库3、 修改数据库4、 删除数据库5 、创建表5.1 管理表5.2 外部表5.3 管理表与外部表的互相转换6、 修改表6.1 重命名表6.2 增加、修改和删除表分区6.3 增加/修改/替换列信息7、 删除表8、 清除表四、DDL 数据定义data defination language:数据库定义语言1、创建数据库(库和表在 HDFS 上都是以文件夹的形式存在)1.1 创建一个数

2020-07-31 22:10:10 819

原创 Hive 的 数据类型 解读及应用

文章目录三、Hive 数据类型1、基本数据类型2、集合数据类型2.1 案例练习3 、类型转化三、Hive 数据类型1、基本数据类型HIVEMySQLJAVA长度例子TINYINTTINYINTbyte1byte有符号整数2SMALINTSMALINTshort2byte有符号整数20INTINTint4byte有符号整数20BIGINTBIGINTlong8byte有符号整数20BOOLEAN无boolean布尔类

2020-07-31 22:09:07 334

原创 Hive 的常用命令(交互命令、常用命令、常见属性配置)

文章目录Hive 的常用命令7、Hive 常用交互命令8、Hive 其他命令操作Hive 的常用命令7、Hive 常用交互命令[xiaoxq@hadoop105 hive-3.1.2]$ bin/hive -helpusage: hive -d,--define <key=value> Variable substitution to apply to Hive commands. e.g. -d

2020-07-31 22:08:10 389

原创 Hive 的安装之启动 Hive

Hive 的安装之 Hive 的启动文章目录Hive 的安装之 Hive 的启动6、Hive 的启动6.1 初始化元数据库6.2 启动 metastore 和 hiveserver26.3 HiveJDBC 访问6、Hive 的启动6.1 初始化元数据库6.1.1 登录 MySQL[xiaoxq@hadoop105 lib]$ mysql -uroot -p密码6.1.2 新建 Hive 元数据库mysql> create database metastore;Query OK, 1

2020-07-31 22:07:19 2263

原创 Hive 之详细安装步骤解读

文章目录二、Hive 的安装1、Hive 安装地址2、MySQL 安装3、Hive 安装4、Hive 元数据配置到 MySQL5、安装 Tez 引擎6、Hive 的启动7、Hive 常用交互命令8、Hive 其他命令操作二、Hive 的安装1、Hive 安装地址1.1 Hive 官网地址http://hive.apache.org/1.2 文档查看地址https://cwiki.apache.org/confluence/display/Hive/GettingStarted1.3 下

2020-07-31 22:06:27 195

原创 Hive 的安装之 Tez 引擎的安装

文章目录Hive 的安装之 Tez 引擎的安装5、安装 Tez 引擎5.1 将 tez 安装包拷贝到集群,并解压 tar 包5.2 上传 tez 依赖到 HDFS5.3 新建 tez-site.xml5.4 修改 Hadoop 环境变量5.5 修改 Hive 的计算引擎5.6 尝试调节容量调度器的资源调度策略5.7 JVM堆内存溢出5.8 解决日志 Jar 包冲突Hive 的安装之 Tez 引擎的安装5、安装 Tez 引擎Tez 是一个 Hive 的运行引擎,性能优于MR。用 Hive 直

2020-07-31 22:05:11 848 2

原创 Hive 安装之 MySQL 安装

Hive 安装之 MySQL 安装文章目录Hive 安装之 MySQL 安装2、MySQL 安装2、MySQL 安装2.1 检查当前系统是否安装过 MySQL[xiaoxq@hadoop105 ~]$ rpm -qa | grep mariadbmariadb-libs-5.5.56-2.el7.x86_64 //如果存在通过如下命令卸载[xiaoxq@hadoop105 ~]$ sudo rpm -e --nodeps mariadb-libs //用此命令卸载 mariadb2.2 将M

2020-07-31 22:04:12 213

空空如也

空空如也

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

TA关注的人

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