自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Doris初识

1、Doris由百度大数据部研发,之前叫百度Palo,于2017年开源,2018年贡献到 Apache 社区后,更名为Doris2、是一个现代化的基于MPP(Massively Parallel Processing 大规模并行处理)技术的分析型数据库产品。简单来说,MPP是将任务并行的分散到多个服务器和节点上,在每个节点上计算完成后,将各自部分的结果汇总在一起得到最终的结果(与Hadoop相似)。仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。

2024-04-24 00:38:03 542

原创 MYSQL常见问题

具体操作可以参考MySQL官方文档中关于GROUP BY的处理方式,具体的报错信息和行为可能会受到MySQL版本和配置的影响,因此建议根据实际情况进行调整和验证。除了以上几种常见的索引类型,MySQL还支持一些特殊的索引类型,如前缀索引、复合索引、唯一索引、多列索引等,这些索引类型可以根据具体情况选择使用。D:持久性,事务一旦执行成功,他对数据的影响是持久性的,不可更改(不可逆)5、通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。2、可加快数据的检索速度,这也是创建索引的最主要的原因。

2023-10-11 17:03:26 88

原创 Flink(4)容错、SQL、优化

2、当某个source算子收到一个barrier时,便暂停数据处理过程,然后将自己的当前状态制作成快照,并保存到指定的持久化存储中,最后向CheckpointCoordinator报告自己快照制作情况,同时向自身所有下游算子广播该barrier,恢复数据处理。3、下游算子收到barrier之后,会暂停自己的数据处理过程,然后将自身的相关状态制作成快照,并保存到指定的持久化存储中,最后向CheckpointCoordinator报告自身快照情况,同时向自身所有下游算子广播该barrier,恢复数据处理。

2023-09-23 09:15:00 212

原创 Flink(3)时间、窗口、水印

分层API:最顶层:SQL/Table API核心层:DataStream Api最底层:State Process功能:管理catalog(Catalog是FlinkSQL的元数据库)、管理数据库、管理表、管理视图、函数等创建方式//1.StreamExecutionEnvironment来创建,推荐使用//2.TableEnvironment来创建Flink中的表分为如下三种:临时表、永久表、外部表临时表永久表外部表在会话中创建的可以永久存储连接外部数据源。

2023-08-29 20:49:18 223

原创 Flink(2)系统架构

(2)Yarn的ResourceManager收到请求后,会启动一个Container(AppMaster),这个AppMaster就是Flink的JobManager。(9)待任务执行完后,Container(TaskManager)会被AppMaster(JobManager),最终留下JobManager,这个不会被销毁。(3)JobMaster启动后,它会向JobManager的ResourceManager(资源管理器)请求资源(slot)如果要改,改完后需要重启集群。

2023-08-27 14:33:56 65

原创 Flink(1) 入门介绍&词频统计案例

流式处理的特点:数据是一条一条地计算,把这种计算称之为数据流的计算Flink:基于数据流上有状态的计算。状态就是计算结果,有状态就是Flink会保存计算的中间结果。数据流:流动的数据。应用场景:事件驱动:欺诈检测,监控告警等流式管道:实时数仓流批分析:用Flink进行实时指标分析。

2023-08-26 10:00:00 254

原创 Java基础(2)面向对象

类的组成是由属性和行为两部分组成:属性:在类中通过成员变量来体现(类中方法外的变量行为:在类中通过成员方法来体现(和普通方法定义相比去掉static关键字即可)类的定义步骤:1、定义类2、编写类的成员变量3、编写类的成员方法。

2023-08-26 09:15:00 24

原创 Java基础(1)语法、数组

Sun公司(Stanford University NetWork):美国的斯坦福大学)在1995年推出的高级编程语言。sun公司在2009年被甲骨文(Oracle)公司收购了。Java之父是詹姆斯·高斯林(James Gosling)Java:Windows平台,它的JDK和Linux平台的JDK不一样。window:Java源代码(.java),JVM编译器,Java字节码(.class)。JDK再拿着字节码进行解释执行。Java不像Python,直接拿着源代码解释执行,

2023-08-18 20:38:32 38

原创 Kafka

官网:http://kafka.apache.org/kafka是最初由linkedin公司开发的,使用scala语言编写,kafka是一个分布式,分区的,多副本的,多订阅者的日志系统(分布式MQ系统),可以用于搜索日志,监控日志,访问日志等它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的完整实现。

2023-07-16 20:22:10 90

原创 SparkSQL(4)

SparkSQL 是Spark的一个模块, 用于处理海量结构化数据第一、针对结构化数据处理,属于Spark框架一个部分第二、抽象数据结构:DataFrame=RDD+SCHAME(表结构:列名 列类型)第三、分布式SQL引擎,类似Hive框架SparkSQL优点:1、执行速度快,spark可以和hive集成,可以替换掉底层MR,直接使用spark引擎执行SQL2、spark中可以写sql也可以写代码,也可以混合写3、目前主流开发方式和技术Spark Hive 区别:不同。

2023-07-13 15:20:12 93

原创 Spark Core(3)

父RDD把线程中的数据分好区之后写入到内存中,当内存中数据达到阈值(1w),触发溢写操作,把数据写入到小文件中,当父RDD的操作完成后,需要对小文件进行合并,最终合并成一个大文件,大文件有一个对应的索引文件。2 动作算子都是【立即执行】的,一个动作算子就会产生一个Job的任务,并且会执行这个动作算子所依赖的其他所有RDD(代码中如果存在多个需求,不同需求依赖相同的rdd,则该rdd默认情况会被执行多次,避免重复执行可以通过cache或者checkpoint)1.动作算子在执行后,不会返回一个RDD。

2023-07-08 16:44:25 174

原创 Spark On Yarn(2)

RDD:英文全称ResilientDistributedDataset,叫做弹性分布式数据集,是Spark中最基本的数据抽象,代表一个不可变、可分区(保证负载均衡,提高效率)、里面的元素可并行计算的集合。Resilient弹性:【RDD的数据可以保存到内存或者磁盘】Distributed分布式:【RDD的数据可以分布式存储在集群中的节点,用于分布式计算】Dataset数据集:【一个用于存放数据的集合】

2023-07-08 09:37:32 136

原创 ETL介绍

通过工具或程序,将零散的数据,统一收集到一个位置进行“集中存储”以便进行“集中分析”。E:抽取 T:转换 L:加载ETL与ELT的区别ETL:先转换再加载,适用于数据业务比较单一的场景,直接处理加载后得到结果ELT:先加载再转换,适用于数据业务比较复杂的场景,加载后根据不同的业务需求进行处理再应用传统数据平台的ETL:传统数据业务比较单一,主要实现数据清洗的功能,将非法数据进行过滤处理等大数据系统中的ETL:大数据业务逻辑比较复杂,所有与数仓相关的计算处理过程统称为ETL。

2023-07-04 21:10:52 344

原创 Spark(1)

什么是sparkApache Spark是用于大规模数据(large-scala data)处理的统一(unified)分析引擎。Spark基于内存的计算引擎,加州伯克利大学教授发表论文,基于论文进行开发的。RDD弹性分布式数据集,是spark的核心RDD 是一种分布式内存抽象,其使得程序员能够在大规模集群中做内存运算,并且有一定的容错方式。而这也是整个 Spark 的核心数据结构,Spark 整个平台都围绕着RDD进行。

2023-07-04 21:09:00 99

原创 Python基础(5)-Pandas

pandas是一个数据分析库,能快速分析结构化数据,并提供了高级数据结构和操作工具。1、Pandas是Python的一个第三方包,也是商业和工程领域最流行的结构化数据工具集,用于数据清洗、处理以及分析2、Pandas和Spark中很多功能都类似,甚至使用方法都是相同的;学会Pandas之后再学习Spark就更加简单快速3、Pandas在整个数据开发的流程中的应用场景:在大数据场景下,数据在流转的过程中,Python Pandas丰富的API能够更加灵活、快速的对数据进行清洗和处理。

2023-06-23 21:16:54 2910

原创 Python基础(4)-多任务编程、正则表达式

Python正则表达式指的是符合一定规则的字符串,能用于检查一段文本数据是否与某种模式匹配(正则是特殊的字符串)re模块常用方法:match(pattern, string):返回一个已匹配成功的对象。其中,参数pattern表示正则字符串,参数string表示要匹配的内容。group(num=0):匹配成功的内容,num默认是0,表示匹配的所有数据结果。当正则匹配不出结果时,就会为None,无法调用group0方法import re。

2023-06-21 12:26:10 76

原创 Python基础(3)-面向对象

面向对象是一种抽象化的编程思想,是相对于面向过程而言的。面向对象将功能等通过对象来实现的,将功能封装进对象,让对象去实现其中具体的细节。一切皆为对象万物皆为对象。【官方解释】:面向对象是软件开发方法,一种编程范式举例来说,洗衣服的两种方法:1、手洗:拿个桶,接水,将衣服泡湿,倒洗衣液,洗啊洗啊洗,倒掉一次两次三次水直到泡泡洗干净,拧干,晾衣服2、机洗:扔衣服到洗衣机,倒洗衣液启动洗衣机,等待洗衣机洗好晾衣服对比这两个,洗衣机洗衣服更加简单,洗衣服完成了手机需要的一二三四五N个步骤。

2023-06-19 10:01:34 135

原创 Python基础(2)-函数、文件、异常

模块(模块)可以分为3类:1:标准库 --Python自带的库;2:扩展库(第三方库) 需要额外安装的库: pip install xxxx3:自定义库:自定义模块. --定义模块、调用模块A:模块 == 库B:[当一个模块很强大时,专业的术语]框架. Django / PySpark / PyFlinkeg:定义与调用模块def add(a , b) : c = a + b print(f"两数之和为: {c } ")

2023-06-15 22:15:00 111

原创 Python基础(1)-循环、容器

1:break语句会跳过。

2023-06-15 22:00:00 320

原创 Hive索引

第四步:使用等值查询,通过explain查询计划,查询是否有走布隆索引。第二步:使用等值查询,通过explain查询计划,查看执行情况。在Hub web UI里作业浏览器中查看任务执行情况。第一步:创建一个普通ORC数据表,没有使用布隆索引。第三步:基于要查询的uuid字段,简历布隆索引。掌握Hive优化中的ORC索引机制。布隆索引 => 等值查询。

2023-06-15 17:33:03 961

原创 Presto

第一代计算引擎:基于磁盘的分布式计算MapReduce优点:对硬件要求不高,开发简单,成本较低缺点:灵活性差,性能较差第二代计算引擎:基于DAG的分布式计算 Hive => 默认引擎调整为TezTez优点:基于MR引入DAG设计,灵活性高,提升了MR的性能 =>减少了落盘次数缺点:性能不足以满足需求,底层还是MR第三代计算引擎:基于内存的分布式计算 => 离线计算Spark、Impala、Presto=> 写SQL(Impala > Presto > Spark)

2023-06-15 17:30:38 119

原创 工具篇Hub、Sqoop

Hue是一个开源的Apache Hadoop UI系统,Cloudera为了解决上述的问题,研发设计了Cloudera Desktop,Hue就是由Cloudera Desktop演化而来,最后Cloudera公司将其贡献给Apache基金会的Hadoop社区,它是基于Python Web框架Django实现的。注意2:如果MySQL中有数据更新,则在Sqoop中需要对数据进行合并操作,由于有合并操作,则Sqoop底层的MapReduce,也会执行Reduce阶段。来自于Apache软件基金会提供。

2023-05-25 21:07:08 343

原创 Zookeeper分布式协调服务框架

zookeeper就是动物管理员的意思,因为ta管理的服务都是大数据的相关组件,而大数据相关组件中很多服务都是利用动物作为吉祥物或者图标的,所以zookeeper起了这样的名字zookeeper是分布式协调服务大数据服务集群工作的难点是什么?(多人协同工作的难点是什么?信息同步工作的顺序工作权限投票选举大数据集群的难点:如何保证全局数据的一致性例如: NameNode 发送一条指令给所有的DataNode,我怎样保证所有的服务都收到这个指令呢?我怎样保证所有人收到多个指令的顺序一致呢?

2023-05-25 20:57:42 464

原创 MapReduce与YARN高阶原理

开启任务后会根据split size 将文件拆分为多个部分放入maptask任务中, 默认情况下 split size 的大小和block size相同,所以有多少个bolck块就会产生多少个maptask任务.3.开辟了分布式的计算先河,现有的分布式计算框架基本上都是分而治之的思想,以及MapReduce的逻辑架构。,这些数据默认会保存在内存的缓冲区中,当内存的缓冲区达到一定的阀值的时候,就会将数据写到磁盘之上。:当内存中的数据量达到一定的阀值(80%)的时候,就会将数据写入本地磁盘,在。

2023-05-25 20:54:45 139

原创 HDFS高阶原理

元数据存储在磁盘中,可以满足持久化存储的需求,并且安全性大大提高,服务器宕机或重启后数据依然不在,不会丢失,但是数据查询或写入效率极低,多用户同时访问效率低;NameNode中的元数据: 文件大小, 文件名称, 文件创建修改时间,block块的副本数量,block块的副本位置…同样存储一定体检的文件,存储小文件消耗的内存会比存储大文件多很多倍,所以不建议在HDFS上存储过多的小文件。从磁盘中的fsimage中读取全部的元数据加载到内存中,再找到最新的edits文件,将内部的日志文件执行。

2023-05-12 00:30:00 159

原创 Hive优化(4)

比如有一个127m的文件,正常会用一个map去完成,但这个文件只有一个或者两个小字段,却有几千万的记录,如果map处理的逻辑比较复杂,用一个map任务去做,肯定也比较耗时。Hive的动态分区是以第一个表的分区规则,来对应第二个表的分区规则,将第一个表的所有分区,全部拷贝到第二个表中来,第二个表在加载数据的时候,不需要指定分区了,直接用第一个表的分区即可。在实施此项查询中,Q表有5列(a,b,c,d,e),Hive只读取查询逻辑中真实需要的3列a、b、e, 而忽略列c,d;什么时候会产生笛卡尔积呢?

2023-05-09 21:15:28 153

原创 Hive函数与高阶函数(3)

如果表中有一个字段是json类型数据,则我们使用get_json_object或者 json_tuple。函数SORT_ARRAY_BY中第一个参数数组的元素[s]必须是struct,但提供是数据类型为数组。方法一:get_json_object 该json解析方式,一次只能解析一个json数据,效率低下。方法二:json_tuple 是输入一列数据,输出多列数据,此时json_tuple是UDTF函数。sort_array_by是对struct数组类型进行排序的,排序时可以指定列明和升降序关系。

2023-05-08 00:28:33 517

原创 Hive数据连接与函数(2)

自己定义封装的功能就是自定义函数本来,UDF 、UDAF、UDTF3个标准是针对用户自定义函数分类的;但是,现在可以将这个分类标准扩大到hive中所有的函数,包括内置函数和自定义函数;1、UDF(User-Defined-Function)普通函数: 一进一出 输入一行数据输出一行数据2、UDAF (User-DefinedAggregationFunction)聚合函数: 多进一出 输入多行输出一行3、UDTFUser-DefinedTF。

2023-05-05 21:31:55 357

原创 Hive详解(1)

多级分区相当于在表目录下创建了多级目录文件,并且在最底层目录中添加数据文件,也就是必须在每一级添加数据,否则创建不了注意:在开发中使用多级分区时,分区字段间一定要有依赖关系,如年月日,省市区;一般多级分区表不会超过3级,若分级过多将会产生大量小文件,造成大量内存资源占用(开启容器有最小容量限制),hdfs不善于处理小文件。

2023-05-05 09:05:17 2593

原创 HDFS介绍及HDFS Shell操作

HDFS(HadoopDistributedFileSystem):是 Apache Hadoop 项目的一个子项目. Hadoop 非常适于存储大型数据 (比如 TB 和 PB), 其就是使用 HDFS 作为存储系统. HDFS 使用多台计算机存储文件, 并且提供统一的访问接口, 像是访问一个普通文件系统一样使用分布式文件系统 分布式文件存储系统,适合于存储大型的数据。

2023-05-04 17:31:26 334

原创 Shell编程(6)

shell 是操作系统的最外层。shell 合并编程语言以控制进程和文件,以及启动和控制其它程序。shell 通过提示您输入,向操作系统解释该输入,然后处理来自操作系统的任何结果输出来管理您与操作系统之间的交互。编写shell脚本, 只需要在一个能写文本内容的地方书写即可, 写完后无需编译, 直接运行处理, 但是需要解释器支持(只要在Linux运行, Linux自带了解释器)目前Linux支持的shell的解释器/bin/bash/bin/tcsh/bin/csh目前默认的解释器。

2023-04-27 21:34:29 57

原创 Linux实用操作(5)

说得简单点就是将好记的域名解析成IP,服务由DNS服务器完成,是把域名解析到一个IP地址,然后在此IP地址的主机上将一个子目录与域名绑定。在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。关注挂载点:指定磁盘挂载到哪个目录下,数据在存储时,只需存储到指定的挂载点目录下,即存储到对应磁盘,如 /dev/mapper/centos-home 挂载到/home目录下。

2023-04-27 21:33:48 142

原创 Linux实用操作(4)

install | remove | search] : 执行的具体的操作, 是安装 删除 查找。yum 命令需要使用root用户权限,要不直接切换root要不使用sudu提升权限,需要联网。%s: 时间戳(从 1970-01-01 00:00:00 到现在的秒数)enable: 开启自启动 (下次开机生效)start: 启动 (当前生效,下次失效)stop: 停止 (当前生效,下次失效)%m: 月份(01~12)%d: 日 (01~31)%H: 小时(00~23)%M: 分钟(00~59)

2023-04-27 21:32:28 81 1

原创 Linux用户和权限(3)

在设置权限的时候, 一般建议使用纯数字的方式来设置, 数字共计有三位, 第一位表示U的权限 第二位表示G权限 , 第三位表示O的权限,每一位的最小是为 0 , 最大值为7, 数字不同, 表示的权限也是不同的。• 选项:-g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g。• 选项:-r,删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留。• 参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root。

2023-04-26 22:30:00 143 1

原创 Linux基础-目录(2)

eg:将 /root/b/c下有一个a.txt文件, 请将其拷贝到 /root/a 目录下,绝对路径。cat同样没有选项,只有必填参数,参数表示:被查看的文件路径,相对、绝对、特殊路径符都可以使用。• 同样没有选项,只有必填参数,参数表示:被查看的文件路径,相对、绝对、特殊路径符都可以使用。touch命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊路径符均可以使用。eg:将 /root/ 下a.txt 移动到 /root/a/目录下。

2023-04-26 21:45:00 115

原创 Linux基础(1)

a选项,可以展示出隐藏的内容,以.开头的文件或文件夹默认被隐藏,需要-a才能显示出来。作用:在命令行中,以平铺的形式,展示当前工作目录(默认HOME目录)下的。相对路径:以当前路径为七点,描述路径的一种写法,路径描述无需以 / 开头。-h选项,需要和-l选项搭配使用,以更加人性化的方式显示文件的大小单位。绝对路径:以根目录为起点,描述路径的一种写法,路径描述以 / 开头。语法中的选项是可以组合使用的,比如学习的-h和-l可以组合应用。上述三种写法,都是一样的,表示同时应用-l和-h的功能。

2023-04-25 21:30:07 121 2

空空如也

空空如也

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

TA关注的人

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