
大数据
文章平均质量分 77
半岛铁子_
那就叫小胡吧
展开
-
python比较两份数据的差异
主要方法是将数据转化成DataFrame,利用pandas进行处理。原创 2023-03-03 16:13:36 · 3386 阅读 · 0 评论 -
获取数据表的字段信息
函数,但是这是Mysql提供的函数,其他数据库不一定支持这个函数,例如presto sql。有个获取数据表的所有字段(集合的形式)的需求,在网上查询,基本上都是获取到字段之后使用。其中,自查询中可以获取到所有的字段信息,是一个名为col的列,通过。函数将其变成数组的形式,再通过。进行拼接就可以拿到所有的字段。原创 2023-03-03 13:44:53 · 702 阅读 · 0 评论 -
Yarn运行原理
Attempt:提交到Yarn中的应用程序被称为Application,它可能会尝试运行多次,每次的尝试运行称为“Application Attempt”,如果一次尝试运行失败,则由RMApp创建另一个继续运行,直至达到失败次数的上限。Node Manager:一台机器上的管理者,类似于部门经理。Container:一台机器上具体提供运算资源,将设备上的内存、CPU、磁盘、网络等资源封装在一起的抽象概念——“资源容器”,Container是一个动态资源分配单位,为了限定每个任务使用的资源量。转载 2022-12-09 10:28:14 · 302 阅读 · 0 评论 -
Hudi 集成 Spark 数据分析示例(含代码流程与测试结果)
Spark 与 Hudi 进行整合,处理滴滴出行数据进行统计分析。原创 2022-06-15 20:12:57 · 1292 阅读 · 6 评论 -
Hudi学习笔记(三) 核心概念剖析
Hudi 提供了Hudi 表的概念,这些表支持CRUD操作,可以利用现有的大数据集群比如HDFS做数据文件存储,然后使 用SparkSQL或Hive等分析引擎进行数据分析查询。Hudi表的三个主要组件:1)有序的时间轴元数据,类似于数据库事务日志;2)分层布局的数据文件:实际写 入表中的数据;3)索引(多种实现方式):映射包含指定记录的数据集。Hudi 核心:在所有的表中维护了一个包含在不同的即时(Instant)时间对数据集操作(比如新增、修改或删除) 的时间轴(Timeline)。在每一次对Hudi原创 2022-06-12 09:27:20 · 1064 阅读 · 0 评论 -
IDEA 中使用 Hudi
在Idea中编程使用Hudi,对Hudi表数据进行CURD原创 2022-06-11 20:22:48 · 1180 阅读 · 0 评论 -
访问HDFS的权限问题:Permission denied: user=xxx, access=WRITE, inode=“xxxxxxxx“:
今天在 idea 中写 scala 的代码访问服务器的 HDFS,报访问HDFS的权限问题:Permission denied: user=xxx, access=WRITE, inode="xxxxxxxx"的错误,如下图所示:从报错的内容看,idea将访问服务器的用户名默认为电脑本地的用户名,而远程服务器上并没有这个用户,就更不能操作HDFS了,因此需要修改为服务器上的可以操作HDFS的用户名。在代码的入口进行用户名的配置,一般设置为root就可以,这个看服务器上的具体配置而定。我的服务器上HDF原创 2022-06-10 16:35:12 · 1438 阅读 · 0 评论 -
Hudi 数据管理和存储概述
**Hudi 是如何管理数据? **使用表Table形式组织数据,并且每张表中数据类 似Hive分区表,按照分区字段划分数据到不同目录中, 每条数据有主键PrimaryKey,标识数据唯一性。Hudi 数据管理Hudi表的数据文件,可以使用操作系统的文件系统存储,也可以使用HDFS这种分布式的文件系统存储。为了分 析性能和数据的可靠性,一般使用HDFS进行存储。以HDFS存储来看,一个Hudi表的存储文件分为两类。(1).hoodie 文件:由于CRUD的零散性,每一次的操作都会生成一个文件,这些小文件越来原创 2022-06-09 21:48:55 · 1852 阅读 · 0 评论 -
Hudi 快速体验使用(含操作详细步骤及截图)
本示例要完成下面的流程:需要提前安装好hadoop、spark以及hudi及组件。spark 安装教程:https://blog.youkuaiyun.com/hshudoudou/article/details/125204028?spm=1001.2014.3001.5501hudi 编译与安装教程:https://blog.youkuaiyun.com/hshudoudou/article/details/123881739?spm=1001.2014.3001.5501注意只Hudi管理数据,不存储数据,不分析原创 2022-06-09 21:32:10 · 2152 阅读 · 0 评论 -
Spark 集群安装与部署
集群规划:三台主机的名称为:hadoop102, hadoop103, hadoop104。集群规划如下:Spark下载地址:https://spark.apache.org/downloads.html将 spark-3.0.0-bin-hadoop3.2.tgz 文件上传到 Linux 并解压缩在指定位置修改配置文件进入解压缩后路径的 conf 目录,修改 slaves.template 文件名为 slaves修改 slaves 文件,添加 work 节点修改 spark-en原创 2022-06-09 15:22:02 · 994 阅读 · 0 评论 -
Spark 概述
Spark 是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。Hadoop 是由 java 语言编写的,在分布式服务器集群上存储海量数据并运行分布式 分析应用的开源框架。Spark 是一种由 Scala 语言开发的快速、通用、可扩展的大数据分析引擎。主要功能主要是用于数据计算。Hadoop MapReduce 由于其设计初衷并不是为了满足循环迭代式数据流处理,因此在多 并行运行的数据可复用场景(如:机器学习、图挖掘算法、交互式数据挖掘算法)中存 在诸多计算效率等问题。所以 Spark 应运而生,Spa原创 2022-06-09 15:16:32 · 3153 阅读 · 0 评论 -
Kafka学习笔记(四)Kafka API
Kafka 的 Producer 发送消息采用的是异步发送的方式。在消息发送的过程中,涉及到了 两个线程——main 线程和 Sender 线程,以及一个线程共享变量——RecordAccumulator。 main 线程将消息发送给 RecordAccumulator,Sender 线程不断从 RecordAccumulator 中拉取 消息发送到 Kafka broker。相关参数:batch.size:只有数据积累到 batch.size 之后,sender 才会发送数据。linger.ms:如果数据原创 2022-06-06 20:26:18 · 590 阅读 · 0 评论 -
Kafka学习笔记(三)Kafka架构详解
Kafka 中消息是以 topic 进行分类的,生产者生产消息,消费者消费消息,都是面向 topic 的。topic 是逻辑上的概念,而 partition 是物理上的概念,每个 partition 对应于一个 log 文 件,该 log 文件中存储的就是 producer 生产的数据。Producer 生产的数据会被不断追加到该 log 文件末端,且每条数据都有自己的 offset。消费者组中的每个消费者,都会实时记录自己 消费到了哪个 offset,以便出错恢复时,从上次的位置继续消费。由于生产者生产的原创 2022-06-01 09:18:41 · 294 阅读 · 0 评论 -
Kafka学习笔记(二)Kafka安装部署及使用示例(含示例截图)
kafka安装学习笔记之入门级安装教程原创 2022-05-31 21:02:02 · 549 阅读 · 0 评论 -
Kafka学习笔记(一)Kafka概述
文章目录前言1. Kafka概述1.1 定义1.2 消息队列1.2.1 传统消息队列的应用场景1.2.2 消息队列的两种模式1.3 Kafka 基础架构参考资料前言本文主要通过对B站Kafka视屏的学习,记录要点作为笔记,以备快速回顾和开发使用。1. Kafka概述1.1 定义传统定义:Kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。最新定义 : Kafka是 一个开源的分布式**事件流平台 **(Event Streaming原创 2022-05-31 19:56:16 · 140 阅读 · 0 评论 -
Flink-CDC实践(含实操步骤与截图)
文章目录前言Flink CDC1. CDC简介1.1 什么是 CDC1.2 CDC 的种类1.3 Flink-CDC2. Flink CDC 案例实操2.1 DataStream 方式的应用2.1.1 导入依赖2.1.2 编写代码2.2.3 提交到集群运行2.1.4 断点续传savepoint2.2 FlinkSQL 方式的应用2.2.1 代码实现2.2.2 测试2.3 自定义反序列化器2.4 DataStream 和 FlinkSQL 方式的对比总结参考资料前言本文主要对B站的Flink视频进行学习并原创 2022-05-30 21:39:51 · 9207 阅读 · 2 评论 -
Flink学习笔记(十一)Table API 和 SQL
文章目录11. Table API 和 SQL11.1 快速上手11.1.1 需要依赖11.1.2 示例11.2 基本 API11.2.1 程序架构11.2.2 创建表环境11.2.3 创建表11.2.4 表的查询11.2.5 输出表11.2.6 表和流的转换11.3 流处理中的表11.3.1 动态表和持续查询11.3.2 将流转换成动态表11.3.2 用 SQL 持续查询11.3.3 将动态表转换为流11.4 时间属性和窗口11.4.1 事件时间11.4.2 处理时间11.4.3 窗口(Window)11原创 2022-05-29 21:09:41 · 950 阅读 · 0 评论 -
Flink学习笔记(十)Flink容错机制
文章目录10. Flink容错机制10.1 检查点(Checkpoint)10.1.1 检查点的保存10.1.2 从检查点恢复状态10.1.3 检查点算法10.1.4 检查点配置10.1.5 保存点(Savepoint)10.2 状态一致性10. Flink容错机制在分布式架构中,当某个节点出现故障,其他节点基本不受影响。这时只需要重启应用, 恢复之前某个时间点的状态继续处理就可以了。这一切看似简单,可是在实时流处理中,我们 不仅需要保证故障后能够重启继续运行,还要保证结果的正确性、故障恢复的速度、对处原创 2022-05-29 10:45:40 · 527 阅读 · 0 评论 -
Flink学习笔记(九)状态编程
文章目录9. 状态编程9.1 Flink 中的状态9.1.1 有状态算子9.1.2 状态的管理9.1.3 状态的分类9.2 按键分区状态(Keyed State)9.2.1 基本概念和特点9.2.2 支持的结构类型9.2.3 整体介绍9.2.4 状态生存时间(TTL)9.3 算子状态(Operator State)9.3.1 基本概念和特点9.3.2 状态类型9.4 状态持久化和状态后端9.4.1 检查点(Checkpoint)9.4.2 状态后端(State Backends)总结9. 状态编程9.1原创 2022-05-27 17:06:09 · 508 阅读 · 0 评论 -
Flink学习笔记(八)多流转换
文章目录8. 多流转换8.1 分流8.2 合流8.2.1 联合(Union)8.2.2 连接(Connect)8.3 基于时间的合流8.3.1 窗口联结(Window Join)8.3.2 间隔联结(Interval Join)8.3.3 窗口同组联结(Window CoGroup)总结8. 多流转换无论是基本的简单转换和聚合,还是基于窗口的计算,我们都是针对一条流上的数据进行处理的。而在实际应用中,可能需要将不同来源的数据连接合并在一起处理,也有可能需要将 一条流拆分开,所以经常会有对多条流进行处理的原创 2022-05-27 14:44:54 · 396 阅读 · 0 评论 -
Flink学习笔记(七)处理函数
7. 处理函数Flink的多层API:在更底层,我们可以不定义任何具体的算子(比如 map,filter,或者 window),而只是提 炼出一个统一的“处理”(process)操作——它是所有转换算子的一个概括性的表达,可以自 定义处理逻辑,所以这一层接口就被叫作“处理函数”(process function)。因为它不限定 具体做什么,所以理论上我们可以做任何事情,实现所有需求。7.1 基本处理函数(ProcessFunction)处理函数主要是定义数据流的转换操作,所以也可以把它归到转换原创 2022-05-27 09:40:18 · 528 阅读 · 0 评论 -
Flink学习笔记(六)Flink的时间和窗口
文章目录6. Flink的时间和窗口6.1 时间语义6.2 水位线(Watermark)6.2.1 事件时间和窗口6.2.2 什么是水位线6.2.3 如何生成水位线6.2.4 水位线的传递6.3 窗口(Window)6.3.1 窗口的概念6.3.2窗口的分类6.3.3 窗口 API 概览6.3.4 窗口分配器(Window Assigners)6.3.5 窗口函数(Window Functions)6.3.6 其他PAI6.4 迟到数据的处理6.4.1 设置水位线延迟时间6.4.2 允许窗口处理迟到数据6原创 2022-05-26 17:25:09 · 1885 阅读 · 0 评论 -
Flink学习笔记(五)DataStream API
文章目录前言5. DataStream API5.1 执行环境5.1.1 创建执行环境5.1.2 执行模式5.1.3 触发程序执行5.2 源算子(Source)5.2.1 准备工作5.2.2 从集合中读取数据5.2.3 从文件读取数据5.2.4 从Socket读取数据5.2.5 从Kafka读取数据5.2.6 自定义Source5.2.7 Flink支持的数据类型5.3 转换算子(Transformation)5.3.1 基本转换算子5.3.2 聚合算子(Aggregation)5.3.3 用户自定义函数(原创 2022-05-25 21:10:31 · 696 阅读 · 0 评论 -
Flink学习笔记(四)Flink运行时架构
4.Flink运行时架构4.1系统架构 Flink 的运行时架构中,最重要的就是两大组件:作业管理器(JobManger)和任务管理器(TaskManager)。对于一个提交执行的作业,JobManager 是真正意义上的“管理者”(Master),负责管理调度,所以在不考虑高可用的情况下只能有一个;而 TaskManager 是“工作者”(Worker、Slave),负责执行任务处理数据,所以可以有一个或多个。1.整体构成Flink 的作业提交和任务处理时的系统如下图所示:2.作业管理器原创 2022-05-25 17:12:27 · 891 阅读 · 0 评论 -
Flink学习笔记(三)Flink安装部署
文章目录集群部署启动提交作业部署模式Yarn模式集群部署启动Flink 是典型的 Master-Slave 架构的分布式数据处理框架,其中 Master 角色对应着JobManager,Slave 角色则对应 TaskManager。下载安装包并解压进入 Flink 官网,下载 1.13.0 版本安装包 flink-1.13.0-bin-scala_2.12.tgz,注意对应 scala 版本为 scala 2.12 的安装包。解压至/opt/moudle下tar -zxvf flink-1原创 2022-05-25 16:15:20 · 1709 阅读 · 0 评论 -
Flink学习笔记(二) Flink初体验
2. Flink初体验2.1 创建maven项目添加依赖<properties> <flink.version>1.13.0</flink.version> <java.version>1.8</java.version> <scala.binary.version>2.12</scala.binary.version> <slf4j.versi原创 2022-05-21 09:43:38 · 840 阅读 · 0 评论 -
Linux安装部署Redis
Redis在Linux上的安装部署使用原创 2022-04-29 11:34:28 · 1416 阅读 · 0 评论 -
问题记录:Caused by: java.net.BindException: Address already in use: JVM_Bind
问题描述跑项目时,遇到 Caused by: java.net.BindException: Address already in use: JVM_Bind 的报错,如下图所示:原因分析从报错信息可以看到,JVM需要启用18082端口,但是发现其已经被占用。因此只需要将这个端口关闭掉就好了。解决方法1.查询端口被哪些进程所占用netstat -ano | findstr 端口号2.关闭进程 tasklist | findstr 进程号3.强制关闭taskkill -PID 进程原创 2022-04-21 20:15:05 · 1959 阅读 · 0 评论 -
解决Hive表中中文注释乱码问题
1.在Hive的元数据表下运行下面命令:#修改字段注释字符集ALTER TABLE COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;#修改表注释字符集ALTER TABLE TABLE_PARAMS modify column PARAM_VALUE varchar(20000) character set utf8;#修改分区参数,支持分区建用中文表示ALTER TABLE PARTITION_PARAMS mo原创 2022-04-14 20:56:09 · 3088 阅读 · 0 评论 -
元数据管理平台Atlas的安装部署
安装前环境准备JDKZookeeper3.5.7Hadoop3.1.3MysqlHive3.12Kafka_2.11-2.41Solr-7.73HBaseAtlas2.0安装Solr1.在每台节点创建系统用户 solr;sudo useradd solr //增加solr用户echo solr | sudo passwd --stdin solr //设置密码为solr2.在 102 节点上传 solr 安装包 solr-7.7.3.tgz,并解压到/opt/module原创 2022-04-01 17:10:56 · 3698 阅读 · 0 评论 -
Hudi集成Flink及示例
文章目录环境准备安装Maven编译Hudi安装Flink环境准备在编译Hudi之前,要保证自己的机器上搭建了Hadoop集群、Hive。安装MavenMaven的版本选择的是3.5.4,可以根据自己的需求选择官网地址: https://maven.apache.org/download.cgi将apache-maven-3.5.4-bin.tar.gz上传到linux的/opt/software目录下解压apache-maven-3.5.4-bin.tar.gz到/opt/module/目录原创 2022-03-31 21:06:00 · 2410 阅读 · 0 评论 -
云计算和大数据区别和联系
1. 概述云计算和大数据最重要的都是分布式存储和分布式计算,但二者有所区别。2. 在分布式计算角度的区别云计算集中在如何分布算力,如CPU、内存、磁盘等资源调度的问题,如何对这些硬件资源进行调度和弹性使用。大数据主要关注其计算模式,对于流处理、批处理以及图处理等应用场景下的计算。3. 在分布式存储角度的区别云计算在分布式存储上关注其底层的存储,类似于操作系统的文件管理器。大数据在分布式存储上类似于一个数据库,是基于云计算的应用,解决在不同场景下如何构建模型去解决问题。4. 二者的联系原创 2022-03-18 10:42:09 · 4986 阅读 · 0 评论 -
Missing Hive Execution Jar: /opt/module/hbase/lib/hive-exec-*.jar
问题描述在安装完Hive之后,用hive命令启动hive时,报Missing Hive Execution Jar: /opt/module/hbase/lib/hive-exec-*.jar的错。解决方法刚开始以为时hive没有安装正确,在检查的过程中发现hive的环境变量没有配置正确,将其进行修改之后,可以正常进入hive。进入环境变量文件sudo vim /etc/profile.d/my_env.sh 将环境变量修改正确,注意检查名称。#HIVE_HOMEexport H原创 2022-03-14 09:49:53 · 6403 阅读 · 0 评论 -
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server ve
问题描述:在用scala将kafka消费的信息写入mysql时,报 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server…的错误,意思是你的mysql语句有问题。解决思路:刚开始我觉得mysql语句没有问题,可能是mysql版本的问题,于是从mysql8.0换回了mysql5.7,但是还是未解决问题。又检查了idea的配置,还是不行。于是我开始怀疑sql语句,经过不断的结原创 2022-03-06 21:49:56 · 2507 阅读 · 0 评论 -
报错记录:java.io.IOException: (null) entry in command string: null chmod 0644
问题描述:在idea上运行spark代码,连接kafka时,报java.io.IOException: (null) entry in command string: null chmod 0644 的错误。原因:缺失了hadoop.dll文件解决方法:将hadoop.dll文件拷贝到 C:\windows\system32 下下载地址:https://github.com/4ttty/winutils网盘地址:https://pan.baidu.com/s/1AK35wwhguFYUBD9H原创 2022-03-05 10:56:00 · 2941 阅读 · 1 评论 -
搭建zookeeper集群
1.下载zookeeper安装包下载地址:https://archive.apache.org/dist/zookeeper/特别注意:3.5.5版本之前要下载后缀为.tar.gz的文件,3.5.5版本之后要下载后缀为.bin.tar.gz的文件,这个才是编译后的文件!!!将其放到 /usr/local/soft 文件夹下,soft为新建的文件mkdir soft将其解压:tar -zxvf apache-zookeeper-3.6.0-bin.tar.gz删除安装包rm -rf ap原创 2022-02-24 16:20:08 · 321 阅读 · 0 评论 -
Linux中为集群配置xsync实现免密登录集群分发
一、前言今天搭建了三台虚拟机的集群,在集群中部分操作在三台虚拟机上的操作都一致,为了提高效率,就需要配置xsync实现集群分发。在网上也参考了好多资料,最终结合几篇博客配置传成功,遂将配置过程进行记录。二、xsync集群分发1.为每台主机设置hostname使用命令vi /etc/hostname直接在控制台输入服务器名,例如我的三台是hadoop001, hadoop002, hadoop003。2. 配置host文件试用命令vi /etc/hosts其中,前面是每台服务器或虚原创 2022-02-23 23:23:01 · 2621 阅读 · 0 评论 -
SpringBoot上传文件至阿里云OSS对象
一、创建阿里云账号并开通OSS对象存储服务1、阿里云官网:https://www.aliyun.com/2、创建阿里云账号,并打开控制台,搜索OSS3、点击对象存储OSS:4、点击Buckjet列表------>点击创建Bucket,填写Bucket名称,区域选择离自己最近的城市。至此已经创建好Bucket。二、SpringBoot项目中完成文件上传至OSS此处给出OSS的帮助文档:https://help.aliyun.com/product/31815.html1、新建Spr原创 2022-02-17 15:23:28 · 1062 阅读 · 0 评论 -
MinIO在Windows的部署与简单使用
目录前言一、MinIO是什么二、MinIO的基础概念三、MinIO的下载与启动四、MinIO的javaAPI前言阿里云对于对于对象存储服务的定义是:对象存储服务(Object Storage Service,OSS)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。对于中小型企业,如果不选择存储上云,那么 Minio 是个不错的选择,它是一个轻量级的服务,作为对象存储的功能基本都具.原创 2022-01-10 15:53:12 · 14047 阅读 · 0 评论