自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL之数据完整性

数据的完整性约束可以分为三类: 实体完整性、域完整性和引用完整性。说来说去(说主键,外键,以及⼀些约束)

2024-12-03 21:35:17 819

原创 Mysql语句分类与如何编写

SQL: Structure Query Language(结构化查询语言),SQL最早是被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准。select 语句查询出来的数量以及字段类型和顺序都必须 和 insert into 中表的字段数量、类型、顺序一样,跟表名字、表字段的名字没有半毛钱关系。DQL: Data Query Language,数据查询语言,指的是从数据库中查询自己需要的数据。是后续的课程中使用频率非常非常高的SQL语句。DML指的是对数据库中的数据进行增、删、改的操作。

2024-12-03 20:49:09 1288

原创 Flink SQL

因为DataStream中是Row 类型,所以打印的格式是Row 这个类中的toString方法决定的。这个地方的 +I 的意思是新增的数据。toAppendStream: 适用于生成新的计算结果,并不会对老的计算结果进行修改。使用这个SQL语句中是不能出现分组的。toRetractStream : 适用于对已经计算的结果进行更新,如果是true 代表新增,更新 false 代表遗弃。使用SQL和Table(DSL)两种方式对DataStream中的单词进行统计。Table风格/DSL风格。

2024-12-02 16:18:40 667

原创 Flink双流Join

一个流中有相同 Key 并且位于同一窗口的元素都会保存在同一个迭代器(Iterable),本示例中绿色流为 greenIterable,橘色流为 orangeIterable,如果要实现 RightJoin,实现原理跟 LeftJoin 一样,需要保证 greenIterable 中没有元素,orangeIterable 中的元素也能输出。需要注意的是,一个元素可能会落在不同的窗口中,因此会在不同窗口中发生关联,例如,绿色流中的0元素。其中a和b分别是上图中绿色流和橘色流中的元素,并且有相同的 key。

2024-12-01 22:30:09 1298

原创 Flink维表join

所谓的维表Join: 进入Flink的数据,需要关联另外一些存储设备的数据,才能计算出来结果,那么存储在外部设备上的表称之为维表,可能存储在mysql也可能存储在hbase 等。维表一般的特点是变化比较慢。需求:kafka输入的数据格式: 姓名,城市编号 例如 zhangsan,1001。期望输出的数据: 姓名,城市编号,城市名称 例如 zhangsan,1001,北京。

2024-12-01 22:19:41 714

原创 Flink四大基石之CheckPoint

重启策略是一个单独的策略,如果你配置了 checkpoint 含有重启策略的,如果你没有 checkpoint 也可以自行配置重启策略,总之重启策略和 checkpoint 没有必然联系。重启策略的意义:流式数据是不可能停止的,假如有一条错误数据导致程序直接退出,后面的大量数据是会丢失的,对公司来讲,意义是重大的,损失是惨重的。运行,刷新查看checkpoint保存的数据,它会先生成一个新的文件夹,然后再删除老的文件夹,在某一时刻,会出现两个文件夹同时存在的情况。因为开启检查点之后,程序会进行。

2024-11-29 09:39:57 2505

原创 Flink四大基石之State

注意: Flink默认已经支持了无状态和有状态计算!例如WordCount代码:已经做好了状态维护, 输入hello,输出(hello,1),再输入hello,输出(hello,2)有状态的计算是流处理框架要实现的重要功能,因为稍复杂的流处理场景都需要记录状态(State),然后在新流入数据的基础上不断更新状态。,他不是立即出结果,而是将数据都保存起来,达到触发条件才计算。一个状态更新和获取的流程如下图所示,一个算子子任务接收输入流,获取对应的状态,根据新的计算结果更新状态。

2024-11-29 08:50:11 1240

原创 Flink解决延迟数据问题

解决Flink延迟数据问题

2024-11-26 20:16:10 1523

原创 Flink四大基石之Time

EventTime:事件(数据)时间,是事件/数据真真正正发生时/产生时的时间IngestionTime:摄入时间,是事件/数据到达流处理系统的时间ProcessingTime:处理时间,是事件/数据被处理/计算时的系统的时间假设,你正在去往地下停车场的路上,并且打算用手机点一份外卖。选好了外卖后,你就用在线支付功能付款了,这个时候是11点59分(EventTime)。恰好这时,你走进了地下停车库,而这里并没有手机信号。因此外卖的在线支付并没有立刻成功,而支付系统一直在Retry重试“支付”这个操作。

2024-11-26 20:06:57 1182

原创 Flink四大基石之Window

上图是窗口的生命周期示意图,假如我们设置的是一个10分钟的滚动窗口,第一个窗口的起始时间是0:00,结束时间是0:10,后面以此类推。滑动距离> 窗口长度,会漏掉数据,比如:每隔5分钟,统计前面1分钟的数据(滑动距离5分钟,窗口长度1分钟,漏掉4分钟的数据)这样的东西,没人用。滑动距离< 窗口长度,会重复处理数据,比如:每隔1分钟,统计前面5分钟的数据(滑动距离1分钟,窗口长度5分钟,重复处理4分钟的数据)因为这个问题确定了数据的边界,从无界的流数据中,取出了一部分有边界的数据子集合进行计算。

2024-11-25 19:48:09 1249

原创 Flink Transformation-转换算子

DataStream,DataStream → ConnectedStreams:连接两个保持他们类型的数据流,两个数据流被 Connect 之后,只是被放在了一个同一个流中,内部依然保持各自的数据和形式不发生任何变化【一国两制】,两个。读取第一题中 a.log文件中的访问日志数据,过滤出来以下访问IP是83.149.9.216的访问日志。可以对一个dataset 或者一个 group 来进行聚合计算,最终聚合成一个元素。对流中的数据按照奇数和偶数进行分流,并获取分流后的数据。union可以合并多个。

2024-11-25 19:37:04 1049

原创 Flink Sink的使用

jdbcSink官方已经提供过了,此处仅仅是模拟它的实现,从而学习如何自定义sink@Data@Override// 这个里面编写连接数据库的代码)");@Override// 关闭数据库的代码ps.close();@Override// 将数据插入到数据库中DataStreamSource<Student> studentStream = env.fromElements(new Student(1, "马斯克", 51));

2024-11-24 13:15:00 1046

原创 Flink 物理分区

使用用户定义的Partitioner 为每个元素选择目标任务@Overridereturn 0;return 1;public class _11_自定义分区规则 {//1. env-准备环境@Override});// 每一个分区的数据量有多少@Override}).keyBy(0).sum(1).print("前:");@Override}).keyBy(0).sum(1).print("后:");//5. execute-执行。

2024-11-24 11:45:00 348

原创 区块链讲解

去中心化:区块链不依赖于中心化的机构或第三方信任,而是通过共识算法实现多节点的协作和验证,确保信息的可信度和安全性。物联网:区块链可以用于物联网设备之间的信任建立和数据共享,实现智能合约,确保设备之间的安全通信和可信操作。跨境贸易:区块链可以用于跟踪和验证产品的供应链,提高透明度和效率,并确保商品信息的真实性。透明度:所有的交易和操作都被记录在区块链上,任何人都可以查看和验证,提高了透明度和公信力。效率:区块链可以实现快速、低成本的交易,不需要中间商和繁琐的手续,提高了交易的效率和速度。

2024-11-23 12:12:49 388

原创 线性回归模型预测房价

线性回归模型的应用广泛,可以用于预测和解释因变量的值,从而帮助做出决策和理解变量之间的关系。同时,线性回归模型也有一些前提条件,比如线性关系、独立同分布的误差项、自变量之间的独立性等,需要满足这些条件才能有效地应用模型进行预测和分析。它假设自变量和因变量之间存在线性关系,通过使用最小二乘法来估计回归系数,即找到最佳拟合直线,使预测值与实际观测值之间的误差最小化。其中,Y表示因变量,X表示自变量,β0表示截距,βn表示特征Xn对应的回归系数,ε表示误差项。最后,我们使用训练好的模型对测试集进行预测,并使用。

2024-11-23 12:11:52 385

原创 Flink-Source的使用

基于本地集合的source(Collection-based-source)基于文件的source(File-based-source)基于网络套接字(socketTextStream)在flink最常见的创建DataStream方式有四种:l 使用env.fromElements(),这种方式也支持Tuple,自定义对象等复合形式。注意:类型要一致,不一致可以用Object接收,但是使用会报错,比如:env.fromElements("haha", 1);

2024-11-23 11:46:32 1457

原创 使用flink编写WordCount

1. env-准备环境2. source-加载数据转换4. sink-数据输出5. execute-执行。

2024-11-23 11:35:43 1210

原创 Hive序列函数(全网最容易懂的讲解)

可以看成是:它把有序的数据集合 平均分配 到 指定的数量(num)个桶中, 将桶号分配给每一行。如果不能平均分配,则优先分配较小编号的桶,并且各个桶中能放的行数最多相差1。语法:lag(colName,n[,default value]): 取字段的前第n个值。需求:获取一个表中,所有消费记录中,每一个人,最后50%的消费记录。last_value 分组内排序后,截止到当前行,最后一个值。lead返回当前数据行的后第n行的数据。lag返回当前数据行的前第n行的数据。需求:求5分钟内点击100次的用户。

2024-11-21 12:18:26 156

原创 Flink Standalone集群模式安装部署

Flink支持多种安装模式。local(本地)——本地模式standalone——独立模式,Flink自带集群,开发测试环境使用standaloneHA—独立集群高可用模式,Flink自带集群,开发测试环境使用yarn——计算资源统一由Hadoop YARN管理,生产环境测试。

2024-11-21 11:44:29 1374

原创 【机器学习】 K-均值聚类算法

K-均值聚类算法是一种基于距离的无监督学习算法,用于将样本数据划分为K个不同的类别。其主要思想是将样本根据特征之间的相似性进行分组,并以此寻找到合适的聚类中心。

2024-11-19 12:30:00 257

原创 TensorFlow机器学习框架

计算图由一系列的节点和边组成,其中节点表示操作(例如加法、乘法等),边表示数据的流动。张量(Tensor):TensorFlow的数据单位是张量,它是一个多维数组。张量可以是标量(0维)、向量(1维)、矩阵(2维)或更高维的数组。通过会话,可以创建和运行计算图,并且可以在运行过程中更新变量的值。机器学习模型训练:TensorFlow可以用于构建和训练各种机器学习模型,例如神经网络、决策树、支持向量机等。数据分析和预测:TensorFlow可以用于处理和分析结构化和非结构化数据,并用于进行预测和推荐。

2024-11-19 12:00:00 187

原创 多线程的安全问题

什么是线程安全问题?多个线程,访问同一资源,出现了问题,就是线程安全问题(数据不准确,或者直接报错)

2024-11-18 20:02:57 367

原创 多线程的四种创建方式

1、corePoolSize:线程池中的常驻核心线程数2、maximumPoolSize:线程池中能够容纳同时执行的最大线程数,此值必须大于等于13、keepAliveTime:多余的空闲线程的存活时间当前池中线程数量超过corePoolSize时,当空闲时间达到keepAliveTime时, 多余线程会被销毁直到只剩下corePoolSize个线程为止。4、unit:keepAliveTime的单位5、workQueue:任务队列,被提交但尚未被执行的任务 就是我们之前讲的阻塞队列。

2024-11-18 19:13:14 1168

原创 Failed to find data source: kafka. Please deploy the application as per the deployment section of “S

报错 : org.apache.spark.sql.AnalysisException: Failed to find data source: kafka. Please deploy the application as per the deployment section of "Structured Streaming + Kafka Integration Guide".;

2024-11-14 14:20:26 314

原创 Kafka节点服役和退役

(3)创建副本存储计划(所有副本存储在 broker0、broker1、broker2、broker3 中)。(3)创建副本存储计划(所有副本存储在 broker0、broker1、broker2 中)。由于我之前创建first这个主题的时候只有一个副本,不是三个副本,所以呢,演示效果不佳。在创建的时候,记得启动bigdata04节点,否则计划中还是没有bigdata04。(3)在 bigdata04 上,修改主机名称为 bigdata04。(8)单独启动 bigdata04 中的 kafka。

2024-11-14 14:15:48 1328

原创 Kafka 快速入门(一)部署

因为 Zookeeper 集群当中记录着 Kafka 集群相关信息,Zookeeper 集群一旦先停止, Kafka 集群就没有办法再获取停止进程的信息,只能手动杀死 Kafka 进程了。分别在 hadoop12 和 hadoop13上修改配置文件/opt/installs/kafka/config/server.properties 中的 broker.id=1、broker.id=2。#kafka 运行日志(数据)存放的路径,路径不需要提前创建,kafka 自动帮你创建,可以。【如果启动过就跳过】

2024-11-11 20:16:52 1037

原创 Kafka-Eagle 监控 搭建

Kafka-Eagle 框架可以监控 Kafka 集群的整体运行情况,在生产环境中经常使用。在生产过程中,想创建topic、查看所有topic、想查看某个topic 想查看分区等,都需要写命令,能不能有一个图形化的界面,让我们操作呢?

2024-11-11 20:05:24 2275 2

原创 CDH大数据平台部署

全称Cloudera’s Distribution Including Apache Hadoop。hadoop的版本 (Apache、CDH、Hotonworks版本)在公司中一般使用cdh多一些(收费的)、也有公司使用阿里云大数据平台、微软的大数据平台。国内也有一些平台:星环大数据,一个朋友的公司(优刻得UCloud)ClouderaManager : 简称 CM (CDH的管理界面)。Cloudera Manager是用于管理CDH群集的端到端应用程序。

2024-11-09 12:04:58 1380

原创 星环大数据平台--TDH部署

将从官网下载下来的产品包解压后上传至安装环境产品包名称:TDH-Standalone-Community-Transwarp-9.3.1-X86_64-final.tar.gz。执行下述命令进行解压,解压后将出现一个镜像tar包:tdh-standalone-2023.5.tar。下载完成后是下面的这个tar包,把这个包上传到linux中解压,解压后有个TDH-Client文件夹。要使用TDH-Client需要安装JDK,并配置好JDK的环境变量。点击Manager自带,选中下面的TDH,点击中间的>。

2024-11-09 09:01:42 627

原创 Spark集群模式搭建之Yarn模式

我的spark压缩包在/opt/modules 将spark解压到/opt/installs。#因为YARN中运行Spark,需要用到Spark的一些类和方法。#如果不上传到HDFS,每次运行YARN都要上传一次,比较慢。#所以自己手动上传一次,以后每次YARN直接读取即可。假如你遇到这个输出,说明资源有限,可以等一等。xsync.sh 是分发文件脚本 详细可以看。将解压后的文件重命名,并对设置一个软连接。

2024-11-08 20:37:52 775

原创 实用-集群分发文件脚本

集群分发文件脚本,将一个文件分发给集群的其他节点

2024-11-08 20:36:30 274

原创 【面试题】Hive 查询:如何查找用户连续三天登录的记录

在分析用户行为时,查询用户的连续登录数据是一个常见需求。例如,我们需要找出每个用户连续三天登录的记录。给定一个包含用户登录记录的表,我们需要对这些数据进行处理,提取出用户连续三天登录的日期。

2024-11-07 20:18:20 1142

原创 hive面试题,超详细解析。各类型专利top 10申请人,以及对应的专利申请数

给定的专利明细表 t_patent_detail,需要查询出每种专利类型下申请数最多的前 10 位申请人,以及他们对应的专利申请数量。

2024-11-07 20:06:36 541

原创 MapReduce 的 Shuffle 过程

MapReduce 的 Shuffle 过程指的是 MapTask 的后半程,以及ReduceTask的前半程,共同组成的。从 MapTask 中的 map 方法结束,到 ReduceTask 中的 reduce 方法开始,这个中间的部分就是Shuffle。是MapReduce的核心,心脏。

2024-11-06 20:07:24 757 1

原创 Spark中的shuffle

Spark Shuffle过程,Spark中有哪些shuffle【分类的】

2024-11-06 19:58:05 2492

原创 Spark程序的监控

本地的程序,访问地址是:http://localhost:4040。

2024-11-06 13:16:27 635

原创 使用PyCharm连接虚拟机运行spark任务,本地开发:远程提交测试

在本地写代码,右键运行,将代码自动提交到集群上。spark是Standalone集群。

2024-11-06 13:02:41 790

原创 读取hdfs上的数据报错py4j.protocol.Py4JJavaError:An error occurred while calling 047.saveAsTextFile.org.apac

以上这个说明,windows用户没有权限访问hdfs文件系统。在使用spark读取 hdfs上的数据时报错。# 申明当前以root用户的身份来执行操作。

2024-11-05 19:33:28 586

原创 sql查询字段是否包含某个值或某些值的方法

SQL 中判断一个字段是否包含某个值

2024-11-05 14:41:37 2021

原创 Spark的容错机制

例如:日志分析的时候,三个问题,tupleRdd 之前的所有操作都要执行三次,每次读取100M多的数据,效率非常的低。问题:如果一个RDD被触发多次,这个RDD就会按照依赖关系被构建多次,性能相对较差,怎么解决?每个RDD在构建数据时,会根据自己来源一步步倒推到数据来源,然后再一步步开始构建RDD数据。- a. 操作日志:将内存变化操作日志追加记录在一个文件中,下一次读取文件对内存重新操作。:高安全性,适合对RDD的数据安全性要求比较高,对性能要求不是特别高的情况下。场景:根据资源情况,

2024-11-01 14:55:47 986

windows 安装包Miniconda3-py38-4.11.0-Windows-x86-64

windows 安装包Miniconda3-py38-4.11.0-Windows-x86-64

2024-10-31

空空如也

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

TA关注的人

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