自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Flink任务调度原理之TaskManager 与Slots

每一个worker(taskmanager)为了控制能接受多少个Task,worker会通过task slot来进行控制,一个worker至少有一个task slot,那么怎么处理呢?总结:1、Flink中每一个TaskManager都是一个JVM进程,它可能会在独立的线程上执行一个或多个subtask;2、为了控制一个TaskManager能接收多少个task,TaskManager会通过task slot来进行控制,一个TaskManager至少有一个slot。

2022-08-24 13:47:31 1506

原创 HDFS查看文件行数及大小

利用wc指令我们可以计算文件的Byte数、字数或是列数,若不指定文件名称,或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据。第二列标示该目录下所有文件在集群上的总存储大小和你的副本数相关,我的副本数是3 ,所以第二列的是第一列的三倍 (第二列内容=文件大小*副本数)-c或–bytes或——chars:只显示Bytes数;第一种方式:查看当前目录下的各级目录分别大小。hdfs dfs -du -s -h /目录。-l或——lines:只显示列数;-w或——words:只显示字数。

2022-08-23 17:48:48 8860

原创 Flink测试资源异常总结及checkpoint机制

各个算子(或者说Task) 做完 Checkpoint 之后,再上报 JobManager,JM收到所有算子的ACK,则认为这次CP。解决 1,增加超时时间 2,增加机器性能 3,减少数据处理量 :source并行度 和窗口数据量减少,sink 并行度增加。各个Source 算子一旦收到 Barrier 之后,开始Init自身的State,并同时向下游发送 Barrier;2、failover的节点对应TM的内存设置太小,GC严重导致心跳超时,建议调大对应节点的内存值。解决办法:重新设置并行度;...

2022-08-18 15:43:56 1654

原创 Flink中ExactlyOnce与AtleastOnce

理解这两种语义,首先要了解Barrier流的barrier是Flink的Checkpoint中的一个核心概念.多个barrier被插入到数据流中,然后作为数据流的一部分随着数据流动(有点类似于Watermark),这些barrier不会跨越流中的数据每个barrier会把数据流分成两部分:一部分数据进入当前的快照,另一部分数据进入下一个快照.每个barrier携带者快照的id.barrier不会暂停数据的流动,所以非常轻量级。...

2022-08-12 09:16:17 1265 1

原创 Pulsar中游标的工作原理

由于代理是无状态的,而游标是有状态的,因此 Pulsar 将消费位置信息存储在 BookKeeper 中。当代理收到来自使用者的确认时,它会更新使用者绑定到的订阅的游标分类账。在使用者失败的情况下,消息消耗和确认信息仍然是安全的,并且在重新开始使用时不会重新计算任何消息。这是因为游标分类帐数据根据配置的副本策略(即 Ensemble Size、Write Quorum 和 Ack Quorum 的值)安全地存储在 bookies 上。为了提供这种能力,消息系统需要一个精确的跟踪机制来用于消息消费和确认。..

2022-08-09 10:08:29 812

原创 聊聊flink的BoundedOutOfOrdernessTimestampExtractor

本文研究一下Flink中的BoundedOutOfOrdernessTimestampExtractor。

2022-08-01 11:15:26 1016

原创 pulsar起client客户端时(client,producer,consumer)各个配置

pulsar2.3版本支持多url。可这样配置serviceURL;//设置消息发送超时时间,*consumer配置。client配置信息。//设置集群路由策略。

2022-07-28 09:18:17 2176

原创 Flink向Kafka发送数据时的异常问题整理

问题原因依赖版本问题,我的kafka连接器用的是flink-connector-kafka_2.11,而kafka集群安装的是0.10.0版本的,官网上说flink-connector-kafka_2.11虽然会适配Kafka的最新版本,但是对于Kafka0.11.x和0.10.x版本,建议分别使用专用的flink-connector-kafka-0.11_2.11和flink-connector-kafka-0.10_2.11。......

2022-07-15 11:16:54 3221

原创 Flink 中JobManager和TaskManager

JobManager 是一个 Flink 集群中任务管理和调度的核心,是控制应用执行的主进程。也就是说,每个应用都应该被唯一的 JobManager 所控制执行。在高可用(HA)的场景下,可能会出现多个 JobManager;这时只有一个是正在运行的领导节点(leader),其他都是备用节点(standby)。JobManger 又包含 3 个不同的组件。1. JobMaster 在作业提交时,JobMaster 会先接收到要执行的应用。这里所说“应用”一般是客户端提 交来的,包括:Jar

2022-07-14 14:32:28 1138

原创 flink run常用参数说明

1

2022-07-14 14:15:28 1427

原创 SHELL中find -mtime -atime -ctime

如果想要定期删除服务产生的日志,比如自动打包3天前的日志,启动删除7天前的日志等。可以使用crontab+find的组合命令。find命令就需要判定文件的时间,有三种-atime,-ctime和-mtime。先看下三者的区别:-atime:最后一次读的时间戳;-mtime:最后一次修改内容的时间戳;-ctime:最后一次修改文件属性的时间戳,比如文件的owner和group;当然修改内容也会修改ctime。用-mtime来看看具体的用法-mtime后面跟一个整数,表示几天前修改过。也有三种:-mt

2022-07-11 15:16:53 2492

原创 shell脚本中if参数

shell 编程中使用到得if语句内判断参数  –b 当file存在并且是块文件时返回真  -c 当file存在并且是字符文件时返回真  -d 当pathname存在并且是一个目录时返回真  -e 当pathname指定的文件或目录存在时返回真  -f 当file存在并且是正规文件时返回真  -g 当由pathname指定的文件或目录存在并且设置了SGID位时返回为真  -h 当file存在并且是符号链接文件时返回真,该选项在一些老系统上无效  -k 当由pathname指定的文件或目录存在并且设置了“粘滞

2022-07-11 14:54:07 765

原创 脚本手动执行成功,加入定时任务无法执行

原因:crontab和shell中环境变量不一致解决办法::定时任务里面切换到root执行或者在脚本中加入,定义环境source /opt/beh/conf/beh_env

2022-07-06 09:59:01 2004

原创 crontab命令参数详解

crontab文件的含义:用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:minute hour day month week command其中:minute: 表示分钟,可以是从0到59之间的任何整数。hour:表示小时,可以是从0到23之间的任何整数。day:表示日期,可以是从1到31之间的任何整数。month:表示月份,可以是从1到12之间的任何整数。week:表示星

2022-07-05 17:11:22 2232

原创 HBase架构设计

HBase是一个高可靠性、高性能、面向列、可伸缩、 实时读写的分布式数据库 ,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。在HBase中上面的表格只是2行数据。RowKey:用于唯一标识Hbase中的一条数据(记录),不可重复,按照字典顺序排序,只能存储64k的字节数据,因此一般要求设计RowKey要简短。Tim

2022-06-30 10:59:24 534

原创 Kafka集成Flink

Flink是大数据开发中常用的组件,可以用于kafka的生产者,也可用于kafka的消费者。需要在吞吐量和延迟之间取得平衡,可以通过下面两个参数控制.batch.size当多个消息发送到相同分区时,生产者会将消息打包到一起,以减少请求交互. 而不是一条条发送批次的大小可以通过batch.size 参数设置.默认是16KB较小的批次大小有可能降低吞吐量(批次大小为0则完全禁用批处理)。一个非常大的批次大小可能会浪费内存。因为我们会预先分配这个资源。例子比如说发送消息的频率就是每秒300条,那么如果

2022-06-28 10:55:25 670

原创 Kafka基础知识

“Kafka是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统。”生产者:不同的生产者生产不同的消息。消费者:消费数据;会主动拉去数据。kafka集群管理消息,实现数据快速高效精准地被消费。Kafka broker服务,储存数据,然后把数据传送给消费者。生产者只需要把消息发送给broker,而不必留意消费者的位置;消费者只需关注broker而不必留意生产者位置。作用:实现解耦,生产者和消费者不用直接接触。为什么用zookeeper:1、Br

2022-06-20 11:16:35 322

原创 Flume配置

配置

2022-06-17 13:41:58 274

原创 Flume框架初识

Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume基于流式框架,灵活简单。主要作用:实时读取服务器本地磁盘的数据,将数据写入HDFS。Web Server数据源,Channel管道缓冲,Source采集,Sink输出。Agent是一个JVM进程,它以事件的形式将数据从源头送到目的地。三大核心组件:Source、Channel、Sink。Source是负责接收数据到Flume Agent的组件。Source组件可以处理各种类型、各种格式的日志数据,包括

2022-06-16 13:18:58 373

原创 oracle分区/重定向

一、ORACLE中分区创建分区是数据库优化的一种手段,范围分区是表分区的一种。创建范围分区的关键字是"RANGE",创建该分区后,其中的数据可以根据分区键值指定的范围进行分布,当数据在范围内均匀分布时,性能最好。 注意:当表结构采用范围分区是,首先要考虑分区列应该符合范围分区的方法;其次要考虑列的数据值的取值范围;最后考虑列的边界问题。写法:范围分区时,分区键尽量不用字符型。如果字符型时要注意保持字符位数一致以避免出现意想不到的情况。在创建分区的时候,value...

2022-04-18 16:46:11 358

原创 MY SQL中去除重复项

查找重复项SELECT name, COUNT(name)FROM tablesGROUP BY nameHAVING COUNT(name) > 1;去除重复项DELETE c1 FROM tables c1INNER JOIN tables c2 WHERE c1.id > c2.id AND c1.name = c2.name;

2022-03-31 17:17:11 202

原创 SELECT INTO语法在ORACLE中如何表示

一、Oracle中没有select into的用法!在某些数据库中有selectinto的用法,用法是:select valueA,valueB into tableB from tableA;上面这句语句的意思是将tableA表中的valueA和valueB字段的值和结构添加到tableB中,tableB表需不存在。在Oracle中select into的等价用法create table tableBasselect valueA,valueB from tableA;..

2022-03-08 16:34:01 767

原创 MY SQL和ORACLE个别语法

1、类型和成本的区别oracle数据库是一个对象关系数据库管理系统(ORDBMS),一个重量型数据库。它通常被称为Oracle RDBMS或简称为Oracle,是一个收费的数据库。MySQL是一个开源的关系数据库管理系统(RDBMS),一个是轻量型数据库。它是世界上使用最多的RDBMS,作为服务器运行,提供对多个数据库的多用户访问。它是一个开源、免费的数据库。2、简单命令对比日期函数对比SQL> select to_char(sysdate,'yyyy-mm-dd') from

2022-03-04 10:22:25 142

原创 ORCLE语法merge

一、概述具体来说,MERGE语句会检查原数据表记录和目标表记录。如果记录在原数据表和目标表中均存在,则目标表中的记录将被原数据表中的记录所更新(执行Update操作);如果目标表中不存在的某(些)记录,在原数据表中存在,则原数据表的这(些)记录将被插入到目标表中(执行Insert操作)。在Oracle 10g之前,merge语句支持匹配更新和不匹配插入两种简单的用法,在10g中Oracle对merge语句做了增强,增加了条件选项和DELETE操作。二、MERGE语法MERGE [hin

2022-03-03 09:50:15 171

原创 Flink架构设计与运行流程

1、架构设计架构设计图分层设计说明(相关术语解释)物理部署层-deploy层通过该层支持不同平台的部署,用户可以根据自身场景和需求选择使用对应的部署模式。支持多种部署模式:本地部署、集群部署(Standalone/Yarn/Mesos)、云(GCE/EC2)以及kubernetes。负责解决Flink的部署模式问题。Runtime核心层是Flink分布式计算框架的核心实现层,负责对上层不同接口提供基础服务。...

2021-12-04 19:48:15 328

原创 flink初识

一.产生背景实时流数据增多 : 互联网应用快速发展,实时流数据日益增多价值更大: 实时流数据的处理和挖掘带来的价值比离线数据处理要多大厂需求 : 各大互联网厂商需要一个能够快速响应和处理大规模实时流数据的技术其他流处理引擎不能够满足需求 : storm/jstorm,sparkstreaming等优秀的流处理引擎要求低延时,高吞吐,容错性好,窗口时间语义化,编程效率高,运行效果好storm/jstorm优点低延时缺点其他的都差一些sparkstreaming优点高吞吐,容错性好缺点其他的都

2021-12-02 20:06:08 121

原创 HTTP中Get和Post的区别

最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。标准答案: GET在浏览器回退时是无害的,而POST会再次提交请求。 GET产生的URL地址可以被Bookmark,而POST不可以。 GET请求会被浏览器主动cache,而POST不会,除非手动设置。 GET请求只能进行url编码,而POST支持多种编码方式。 GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。 GET请求在URL中

2021-11-28 13:21:07 119

原创 SparkStreaming

1、SparkStreaming概述数据处理类型分类 静态数据 数据源是不变的、有限的、显式离散的 多适用于批量计算、离线计算 流数据 数据是变动的、无限的、连续的 多适用于实时计算,能在秒级、秒内处理完成 实时数据分类 小时级 分钟级 秒级 sparkstreaming是什么 一句话总结:微批处理的流式(数据)实时计算框架。 原理:是把输入数据以某一时间间隔批量的处理,当批处理间隔缩短到秒级时,即可

2021-11-23 14:23:00 5520

原创 Spark Sql

一、概述SparkSql是什么 Spark SQL是Spark处理数据的一个模块 专门用来处理结构化数据的模块,像json,parquet,avro,csv,普通表格数据等均可。 与基础RDD的API不同,Spark SQL中提供的接口将提供给更多关于结构化数据和计算的信息,并针对这些信息,进行额外的处理优化。 SparkSql操作方式说明 SparkSql shell 类似于hive shell DataFrames API 最早专为sql on spark设计的数

2021-11-23 14:15:59 446

原创 Spark基础之求平均数

1、引入文件var avgAdd=sc.textFile("hdfs:///user/yanyufei/spark/hello2")2、输出文件内容avgAdd.map(item=>{var lineArr=item.split("\t");(lineArr(0),lineArr(1))}).foreach(println)3、赋1操作avgAdd.map(item=>{var lineArr=item.split("\t");(lineArr(0),lineArr(1

2021-11-13 22:40:43 2122

原创 scala基础与进阶

6、控制语句 if...else o if object TestControlSentence { def main(args: Array[String]): Unit = { var age = 15; if (age <= 18) { println("未成年人"); } } }  if...else object TestControlSentence { def main(args: Array[String]): Unit = {

2021-11-12 13:39:36 442

原创 Spark初识

一.定义 专为大规模数据处理而设计的快速通用的计算引擎,并形成一个高速发展应用广泛的生态系统二.特点 速度快:内存计算下,Spark 比 Hadoop 快100倍 易用性:跨语言,拥有80多个高级运算符 通用性:Spark 提供了大量的库,开发者可以在同一个应用程序中无缝组合使用这些库 支持多种资源管理器:Spark 支持 Hadoop YARN,Apache Mesos,及其自带的独立集群管理器 ...

2021-11-10 12:41:06 92

原创 JAVA进行文件读写时,写出的文件不完整

在java的IO体系中,写文件通常会用到下面语句//向文件中写内容File newfile=new File("D:\\大数据课件\\大数据项目\\weibodata\\user\\user.txt");//待写入文件//得到字节流对象FileOutputStream fos=new FileOutputStream(newfile);//得到字符转换流对象OutputStreamWriter ops=new OutputStreamWriter(fos,"GB2312");//得到缓

2021-10-27 22:29:06 1189

转载 Hive中over详解

over()over() 函数在Hive中运用广泛,通常搭配row_number() ,min(),max(),sum()来使用,总结下over函数划定窗口的范围over() 此时每一行的窗口都是所有的行SELECT id,name,num, sum(num) over() sum1 from aaover(order by id) id=1的窗口只有一行,id=2的窗口包括id=1,id=2SELECT id,name,num,sum(num) over(orde...

2021-10-24 15:51:57 1732

原创 Hive企业应用

一、数据仓库架构设计数据仓库的主要工作就是ETL,即是英文 Extract-Transform-Load 的缩写,用来描述数据从来源端经过装载(load)、抽取(extract)、转换(transform)至目的端的过程。数据仓库架构设计,即为公司针对自身业务场景实现的水平分层、垂直分主题的数据仓库构建过程的顶层设计。1. 数据架构架构原则:先水平分层,再垂直分主题域。数据架构分三层源数据落地区(SDF:Source Data File)数据仓...

2021-10-22 21:02:30 135

原创 Hive自定义函数

一、UDF背景及意义:系统内置函数无法解决所有的实际业务问题,需要开发者自己编写函数实现自身的业务实现诉求。应用场景非常多,面临的业务不同导致个性化实现很多,故udf很需要。函数扩展得到解决,极大丰富了可定制化的业务需求。IO要求-要解决的问题:in:out=1:1,只能输入一条记录当中的数据,同时返回一条处理结果。属于最常见的自定义函数,像cos,sin,substring,instr等均是如此要求。实现步骤(java自定义创建udf类)自定义一个java类 继承UD

2021-10-20 23:17:49 532

原创 Hive概述

一、数据仓库介绍专业定义 英文名称为Data Warehouse,可简写为DW。 是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。 它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。 通俗解释 面向分析的存储系统(面向数据分析的存储系统) 一个面向主题的(Subject Oriented)、集成的(Integrate)、不可修改的(Non-Volatile)、反映历史变化(Time

2021-10-17 15:51:45 231

原创 分布式资源管理与任务调度框架 Yarn

1、Yarn 是什么 Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者) 一种新的 Hadoop 资源管理器,一个通用资源管理系统 为上层提供统一的资源管理与任务调度及监控,提高了集群管理效率、资源使用率、数据共 享效率 2、Yarn 特点资源管理与计算框架解耦设计,一个集群资源共享给上层各个计算框架,按需分配,大幅度 提高资源利用率 运维成本显著下降,只需运维一个集群,同时运行满足多种业务需求

2021-10-12 19:48:58 142

原创 MapReduce进阶

1、文件格式 文件格式按面向的存储形式不同,分为面向行和面向列的两大类文件格式。2、压缩格式压缩格式按其可切分计算性,分为可切分计算和不可切分计算两种。 3、配置文件//确认压缩-Dmapred.output.compress=true \ //指定压缩方式-Dmapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec \ 4、Partitionpartition是在map阶段完成后

2021-10-12 11:00:38 165

原创 分布式文件系统HDFS

1.HDFS是什么?HDFS(Hadoop Distributed File System )Hadoop 分布式文件系统2.HDFS 组件角色 2.1 NameNode(简称 NN) HDFS 元数据管理者,管理 NameSpace(文件系统命名空间),记录文件是如何分割成数据块以 及他们分别存储在集群中的哪些数据节点上。 NameSpace 或其本身属性的任何更改都由 NameNode 记录,维护整个文件系统的文件和目录。 2.2 DataNode(简称 DN) .

2021-09-29 15:14:08 406

空空如也

空空如也

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

TA关注的人

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