自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据大模型

SQL 和自然语言翻译器,可以简单地用自然语言输入查询并获得相应的 SQL 代码,或者输入 SQL 代码并获得SQL解释,方便地查询和分析数据库中的数据。包含的功能:SQL 到自然语言和自然语言到 SQL小写 / 大写切换可复制到剪贴板可查询历史使用方式:1、自然语言转为sql2、可以添加表的结构,再根据输入的自然语言生成sql,理想中在添加表结构时的输入也为自然语言,但此处只能输入建表的sql,对用户不友好。并且在点击生成sql时,SQL输出框未清空,容易让人困扰。

2024-06-20 15:29:19 878

原创 【大数据之Kafka】十七、Kafka集成外部系统之集成Spark

Spark 是一个在大数据开发中非常常用的组件。可以用于 Kafka 的生产者,也可以用于Spark 的消费者。提前准备Scala环境。(1)创建一个 maven 项目 spark-kafka;(2)在项目 spark-kafka 上点击右键,Add Framework Support => 勾选 scala;(3)在 main 下创建 scala 文件夹,并右键 Mark Directory as Sources Root =>在 scala 下创建包名为 com.study.spark。

2024-06-06 11:41:03 279

原创 pandas遇到SettingWithCopyWarning警告出现的原因和解决

3、.loc[:] 时,实际上是创建了一个新的 DataFrame 视图,不复制数据,包含所有原始 DataFrame 数据的引用,虽然不像 .copy() 那样创建一个完全独立的副本,但在大多数情况下,对这个新视图的修改也不会影响原始数据,不会触发 SettingWithCopyWarning 警告,但在某些情况(如链式索引可能导致不确定行为)可能会导致意外的修改。由于创建完全独立的副本,这意味着所有数据都会被复制一遍,因此在数据量较大的情况下,性能开销(时间、内存消耗)可能会比较大。

2024-06-04 17:43:26 1356

原创 【大数据之Kafka】十六、Kafka集成外部系统之集成Flume

Flume 是一个在大数据开发中非常常用的组件。可以用于 Kafka 的生产者,也可以用于 Kafka 的消费者。

2023-09-21 22:15:00 365 1

原创 【大数据之Kafka】十五、Kafka-Kraft模式

左图为 Kafka 现有架构,元数据在 zookeeper 中,运行时动态选举 controller,由controller 进行 Kafka 集群管理。右图为 kraft 模式架构(实验性),不再依赖 zookeeper 集群,而是用三台 controller 节点代替 zookeeper,元数据保存在 controller 中,由 controller 直接进行 Kafka 集群管理。好处:(1)Kafka 不再依赖外部框架,而是能够独立运行;

2023-09-20 15:30:00 605 1

原创 【大数据之Kafka】十四、Kafka-Eagle监控

Kafka-Eagle 框架可以监控Kafka 集群的整体运行情况,在生产环境中经常使用。

2023-09-19 12:00:00 257

原创 【大数据之Kafka】十三、Kafka消费者生产经验之分区的分配及再平衡、数据积压和消费者事务

一个consumer group中有多个consumer组成,一个 topic有多个partition组成,使用分区分配策略决定由哪个consumer来消费哪个partition的数据。Kafka有四种主流的分区分配策略: Range、RoundRobin、Sticky、CooperativeSticky。通过配置参数partition.assignment.strategy,修改分区的分配策略。默认策略是Range + CooperativeSticky。Kafka可以同时使用多个分区策略。

2023-09-18 15:36:24 894

原创 【大数据之Kafka】十二、Kafka之offset位移及漏消费和重复消费

依次启动CustomConsumerAutoOffset和CustomProducerCallback,观察CustomConsumerAutoOffset能不能接受到数据,能接受则说明自动提交offset功能是ok的。先提交offset后消费、设置offset为手动提交,当offset被提交时,数据还在内存中国没有落盘,此时刚好消费者线程被kill掉。虽然自动提交offset十分简单便利,但由于其是基于时间提交的,开发人员难以把握offset提交的时机。例如:提交offset后的2s,消费者挂了。

2023-09-13 17:15:00 1143

原创 【大数据之Kafka】十一、Kafka消费者及消费者组案例

(3)在 IDEA 中执行生产者程序 CustomProducerCallback()在控制台观察生成几个 0 号分区的数据。(1)复制两份CustomConsumer的代码,并在 IDEA 同时启动,即一个消费者组中有三个消费者。(1)需求:创建一个独立消费者,消费 first 主题 0 号分区的数据。(4)在 Kafka 集群控制台,创建 Kafka 生产者,并输入数据。(1)需求:测试同一个主题的分区数据,只能由一个消费者组中的一个消费。(1)需求:创建一个独立消费者,消费 first 主题中数据。

2023-09-12 12:45:00 244

原创 【大数据之Kafka】十、Kafka消费者工作流程

(1)pull(拉)模式:消费者从broker中主动拉取数据。(Kafka中使用)不足:如果Kafka中没有数据,消费者可能会陷入循环,一直返回空数据。(2)push(推)模式:Kafka中不适用此种方式,因为broker决定消息发送速率,很难适应所有消费者的消费速度。

2023-09-11 16:09:22 585

原创 【大数据之Kafka】九、Kafka Broker之文件存储及高效读写数据

Topic是逻辑上的概念,而,该log文件中存储的是Producer生产的数据。会被不断,为防止log文件过大导致数据定位效率低下,Kafka采取了,将每。每个segment包括:“.index”文件、“.log”文件和.timeindex等文件。这些文件位于一个文件夹下。文件夹的命名规则为:topic名称+分区序号,例如:first-0。topic数据存储位置:(1)启动生产者并发送消息。

2023-09-07 17:45:00 237

原创 【大数据之Kafka】八、Kafka Broker之生产经验

对于broker0节点,分区2的AR优先副本是0节点,但0节点不是Leader节点,所以不平衡数+1,AR副本总数为4,所以broker0节点不平衡率为1/4>10%,需要平衡。对于broker2节点,分区3的AR优先副本是2节点,但2节点不是Leader节点,所以不平衡数+1,AR副本总数为4,所以broker2节点不平衡率为1/4>10%,需要平衡。对于broker1节点,分区1的AR优先副本是1节点,且1节点是Leader节点,所以不平衡数为0,broker1节点不平衡率为0,不需要平衡。

2023-09-06 14:30:00 78

原创 【大数据之Kafka】七、Kafka Broker之Kafka副本

(7) 生产者往集群发送数据,发送数据之后Leader主动与Follower进行同步(底层通过LOG进行存储,实际为segment,分为.log文件和.index文件)再进行应答。(4)故障Follower恢复后,Follower会读取本地磁盘记录的上次的HW,并将log文件高于HW的部分截取去掉(认为是没有验证过的),从HW开始向Leader进行同步。(3)为保证多个副本之间的数据一致性,其余的Follower会先将各自的log文件高于HW的部分截掉,然后从新的Leader同步数据。

2023-09-05 18:41:12 608

原创 【大数据之Kafka】六、Kafka Broker工作流程

(7) 生产者往集群发送数据,发送数据之后Leader主动与Follower进行同步(底层通过LOG进行存储,实际为segment,分为.log文件和.index文件)再进行应答。(6) 其它的controller节点会冲zookeeper上拉取数据进行同步(防止controllerLeader挂了,随时上位)。(5) Controller将节点的Leader信息和isr信息写到zookeeper上。(3) 选举出来的controller监听/brokers/ids/节点的变化。

2023-08-30 13:15:00 148

原创 【大数据之Kafka】五、Kafka生产者之生产经验

acks=-1或all时,生产者发送数据给Leader,Leader接受到数据后返回确认ack给生产者并同步数据到副本,此时Leader挂了,但是生产者并没有接收到返回的ack,所以生产者重新给新的Leader发送数据,导致数据重复。acks=-1或all时,生产者发送数据给Leader,Leader接受到数据后返回确认ack给生产者并同步数据到副本,此时Leader挂了,但是生产者并没有接收到返回的ack,所以生产者重新给新的Leader发送数据,导致数据重复。所以幂等性只能保证的是在。

2023-08-29 11:15:00 344

原创 【BUG】Windows配置spark运行cmd时报错:WARN ProcfsMetricsGetter: Exception when trying to compute pagesize,...

报错:WARN ProcfsMetricsGetter: Exception when trying to compute pagesize, as a result reporting of ProcessTree metrics is stopped。

2023-08-28 11:19:57 2323 2

原创 【大数据之Kafka】四、Kafka生产者分区

需求:实现一个分区器,实现发送过来的数据中如果包含test,就发往 0 号分区,不包含test,就发往 1 号分区。步骤:(1)定义类实现Partitioner 接口。(2)重写partition()方法。import org/*** 1. 实现接口 Partitioner* 2. 实现 3 个方法:partition,close,configure* 3. 编写 partition 方法,返回分区号/*** 返回信息对应的分区* @param s 主题。

2023-08-28 10:58:09 352

原创 【大数据之Kafka】三、Kafka生产者之消息发送流程及同步异步发送API

将外部传送给过来的数据发送到kafka集群。

2023-08-15 23:30:00 1006 1

原创 【大数据之Kafka】二、Kafka入门

官方下载地址:http://kafka.apache.org/downloads.html(3)进入到/opt/module/kafka/config 目录,修改配置文件server.properties:修改:参数值broker.id=0(broker 的全局唯一编号,不能重复,只能是数字);kafka 运行日志(数据)存放的路径log.dirs=/opt/module/kafka/datas;

2023-08-14 14:45:00 77

原创 【大数据之Kafka】一、Kafka定义消息队列及基础架构

Kafka是一个。

2023-08-12 12:30:00 226

原创 【大数据之Flume】八、Flume 数据流监控

(1)安装安装规划:(2)配置在主机上cmd看ip:(3)启动在Windows浏览器中打开ganglia 页面:http://hadoop102/ganglia。

2023-08-11 13:15:00 125

原创 【大数据之Flume】七、Flume进阶之自定义Sink

(2)自定义MySink ,继承 AbstractSink 类并实现 Configurable 接口,并打包,将jar包放到/opt/module/flume-1.9.0/lib目录下。(3)在/opt/module/flume-1.9.0/job下创建文件夹group6,在该文件夹下创建配置文件netcat-flume-mysink.conf。process()//从 Channel 读取获取数据(event),这个方法将被循环调用。(1)创建一个 maven 项目,并引入以下pom依赖。

2023-08-10 22:17:23 336

原创 【大数据之Flume】六、Flume进阶之自定义Source

(2)自定义MySource ,继承 AbstractSource 类并实现 Configurable 和 PollableSource 接口,并打包,将jar包放到/opt/module/flume-1.9.0/lib目录下。(3)在/opt/module/flume-1.9.0/job下创建文件夹group5,在该文件夹下创建配置文件flume-mysource-logger.conf。configure(Context context)//初始化 context(读取配置文件内容)

2023-08-03 17:30:00 360

原创 【大数据之Flume】五、Flume进阶之自定义拦截器 Interceptor

此时会用到 Flume 拓扑结构中的 Multiplexing多路复用结构,Multiplexing的原理是,根据 event 中 Header 的某个 key 的值,将不同的 event 发送到不同的 Channel中,所以我们需要自定义一个 Interceptor,为不同类型的 event 的 Header 中的 key 赋予不同的值。使用 Flume 采集服务器本地日志,需要按照日志类型的不同,将不同种类的日志发往不同的分析系统。(1)创建一个 maven 项目,并引入以下依赖。

2023-08-02 11:00:00 176

原创 【大数据之Flume】四、Flume进阶之复制和多路复用、负载均衡和故障转移、聚合案例

(1)需求:使用 Flume-1 监控文件变动(可以用Exec Source或Taildir Source),Flume-1 将变动内容传递给 Flume-2(用Avro Sink传),(用Avro Source接)Flume-2 负责存储到 HDFS。同时 Flume-1 将变动内容传递给 Flume-3,Flume-3 负责输出到 Local FileSystem。

2023-08-01 16:46:07 173

原创 【大数据之Flume】三、Flume进阶之Flume Agent 内部原理和拓扑结构

重要组件:1、ChannelSelector 的作用就是选出 Event 将要被发往哪个 Channel。(1):将同一个 Event 发往所有的 Channel。(2):根据相应的原则,将不同的 Event 发往不同的 Channel。2、(1):对应的是单个的 Sink.(2):假设一个channel绑定了多个sink,由于数据由sink主动拉取,首先由channel以轮询的方式询问sink有没有数据拉取,有即拉走。(3)

2023-07-27 22:45:00 198 1

原创 【大数据之Flume】二、Flume入门

(1) Flume 官网地址http://flume.apache.org/(2)文档查看地址http://flume.apache.org/FlumeUserGuide.html(3)下载地址http://archive.apache.org/dist/flume/

2023-07-26 11:30:00 165

原创 【大数据之Flume】一、Flume定义及组成架构

Flume 是一个高可用的,高可靠的,分布式的。Flume 基于流式架构,灵活简单。Flume最主要的作用是实时读取服务器本地磁盘的数据,把数据写到HDFS。

2023-07-25 10:18:36 121

原创 【大数据之Hive】二十七、HQL之Fetch抓取、本地模式、并行执行、严格模式

Fetch抓取是指Hive中对某些情况的查询可以不必使用MapReduce计算。例如:select * from emp;在这种情况下,Hive可以简单地读取emp对应的存储目录下的文件,然后输出查询结果到控制台。

2023-07-21 11:30:00 498

原创 【大数据之Hive】二十六、HQL之CBO优化、谓词下推、矢量化查询

CBO是指Cost based Optimizer,即基于计算成本的优化。在Hive中,计算成本模型考虑到了:数据的行数、CPU、本地IO、HDFS IO、网络IO等方面。Hive会计算同一SQL语句的不同执行计划的计算成本,并选出成本最低的执行计划。目前CBO在hive的MR引擎下主要用于join的优化,例如多表join的join顺序。1、示例SQL语句2、关闭CBO优化根据执行计划,三张表的join顺序如下:3、开启CBO优化根据执行计划,三张表的join顺序如下:4、总结。

2023-07-20 13:15:00 936

原创 【大数据之Hive】二十五、HQL语法优化之小文件合并

小文件优化可以从两个方面解决,在Map端输入的小文件合并,在Reduce端输出的小文件合并。

2023-07-19 18:45:00 1402

原创 【大数据之Hive】二十四、HQL语法优化之任务并行度

Hive的计算任务由MapReduce完成,并行度调整分为Map端和Reduce端。

2023-07-18 11:25:21 484

原创 【大数据之Hive】二十三、HQL语法优化之数据倾斜

Map-site优化优于Skew-GroupBy优化,能做Map-site聚合就做Map-site聚合。Map-site聚合要在Map端维护一个HashTable,HashTable消耗了内存,即内存不充足的情况下尽量不做Map-site聚合,但也可以做,当HashTable超过设定的内存阈值时,会flush刷新。当内存很小时会flush很多次导致map端聚合没有解决数据倾斜问题,此时可以用Skew-GroupBy聚合。也就是不管内存足部足够都能把数据打散再做聚合。

2023-07-14 21:15:00 491

原创 【大数据之Hive】二十二、HQL语法优化之Join优化

Map Join算法可以通过两个只有map阶段的Job完成一个join操作。适用于大表join小表。第一个Job会读取小表数据,将其制作为hash table,并上传至Hadoop分布式缓存(本质上是上传至HDFS)。第二个Job会先从分布式缓存中读取小表数据,并缓存在Map Task的内存中,然后扫描大表数据,在map端即可完成关联操作。Bucket Map Join是对Map Join算法的改进,其打破了Map Join只适用于大表join小表的限制,可用于大表join大表的场景。

2023-07-13 20:45:00 457

原创 【大数据之Hive】二十一、HQL语法优化之分组聚合优化

在Hive中没有优化过的分组聚合:通过MR任务实现。Map端负责读数据,按分区字段分区,通过Shuffle,将数据发往Reduce端,各组数据在Reduce端完成最终的聚合运算。Hive分组聚合优化主要针对减少Shuffle的数据量,使用map-site聚合,在map端维护一个hash table,对数据进行聚合,聚合结果按分组字段分区发送到reduce端。

2023-07-12 11:50:16 364

原创 【大数据之Hive】二十、Hive之调优相关配置及Explain查看执行计划

执行计划简单来说就是一个SQL语句最终翻译成多少个MapReduce,Map里做了什么,Reduce里做了什么。Explain显示的执行计划,由一系列Stage(整个执行计划的一个阶段,一条SQL语句会把整个阶段分为若干个执行计划)组成,Stage具有依赖关系,每个Stage对应一个MapReduce Job,或者一个文件系统操作等。

2023-07-05 18:15:00 407

原创 【大数据之Hive】十九、Hive之文件格式和压缩

ORC是列式存储的文件格式,可以提高hive读写数据和处理数据的性能。左边为逻辑表。右边第一个为行式存储:取文件的一行数据存储到相邻的位置;第二个为列式存储:取文件的一列数据存储到相邻的位置。查询满足条件的一整行数据的时候,行存储只需要找到其中一个值,其余的值都在相邻地方,所以此时行存储查询的速度更快。列式存储查找一行数据时需要去每个字段中找对应的每个列的值。因为每个字段的数据聚集存储,在查询只需要少数几个字段的时候,能大大减少读取的数据量;

2023-07-04 22:45:00 1130

原创 【大数据之Hadoop】三十七、Hadoop HA高可用

实现高可用最关键的策略是消除单点故障。HA分成各个组件的HA机制:HDFS的HA和YARN的HA。Hadoop2.0之前,在HDFS集群中NameNode存在单点故障(SPOF)。NameNode主要在以下两个方面影响HDFS集群:(1)NameNode机器发生意外,如宕机,集群将无法使用,直到管理员重启。(2)NameNode机器需要升级,包括软件、硬件升级,此时集群也将无法使用。

2023-07-03 22:49:12 8119

原创 【大数据之Hive】十八、Hive之分区表和分桶表

Hive的分区指把大表按需求分散存储到多个目录,每个目录称为该表的一个分区,使用where查询所需的分区。

2023-06-28 22:45:00 323

原创 【大数据之Hive】十七、Hive-HQL函数之自定义函数

当Hive提供的内置函数无法满足业务处理需求时,可以通过自定义UDF函数来扩展。用户自定义函数类别:(1)UDF(User-Defined-Function):一进一出。(2)UDAF(User-Defined Aggregation Function):用户自定义聚合函数,多进一出。类似于:count/max/min(3)UDTF(User-Defined Table-Generating Functions):用户自定义表生成函数,一进多出。如lateral view explode()

2023-06-27 12:45:00 241

空空如也

空空如也

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

TA关注的人

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