- 博客(443)
- 资源 (15)
- 收藏
- 关注
原创 hbase mongodb hive starrocks比较
本文是在学习大数据的几个数据存储系统相关的组件所记录下来的,主要是不同组件的基础概念初步了解与对比。
2024-11-19 20:07:39 1189
原创 spring整合swagger时页面nested exception is java.lang.NoSuchMethodError: ‘void com.fasterxml.jackson.core.
打开swagger页面时报错: nested exception is java.lang.NoSuchMethodError: 'void com.fasterxml.jackson.core.util.BufferRecycler。再次启动,打卡swagger页面,成功了。检查配置,没什么问题。
2024-11-01 11:56:35 216
原创 【巨坑】maven版本导致下载包一直报下载不下来 Failed to execute goal on project: Could not resolve dependencyxxx
后面同事问我电脑maven版本是多少,看是3.9.6,跟我说高版本不支持http,只能https!真是太坑了没想到maven居然还有这样的陷阱今天又学到了。而且正好报的也是从这个地址下不下来,之后重新编译,然后就通过啦~~~
2024-10-10 10:58:39 259
原创 元数据管理gravitino学习
业界一直希望统一元数据,从而实现多产品间的一致体验:无论是数据开发、数据消费还是数据治理,所有用户都能基于一套元数据体系,可以在多个数据源和计算引擎之间建立联系,使用统一的服务来公开这些元数据。因为它提供了一个统一的元数据湖,标准化了数据目录操作,并统一了所有元数据管理和治理。“元数据湖”:在gravitino出现之前,业界还没有一个统一的“元数据湖”的组件,不同于数据湖,gravitino提出了“元数据湖”的概念,通过提供一个丰富的数据目录,Gravitino使得数据湖中的资源更加易于导航和理解。
2024-08-20 11:19:01 893
原创 spark入门学习:spark SQL
Spark SQL是用于结构化数据处理的Spark模块。与基本的Spark RDD API不同,Spark SQL提供的接口为Spark提供了有关数据结构和正在执行的计算的更多信息。在内部,Spark SQL使用这些额外的信息来执行额外的优化。与Spark SQL交互的方式有多种,包括SQL和Dataset API。计算结果时,使用相同的执行引擎,与您用于表达计算的API/语言无关。为什么要有SPARK SQL:1)发展历史。
2024-08-09 12:09:29 983
原创 spark入门学习:简介和基本原理
Apache spark是一个围绕速度、易用性和复杂分析构建的大数据计算框架。Scala是函数式语言,适合数据处理编程,并且其运行在 JVM 之上,可利用java生态资源。Akka基于Actor模型,提供了一个用于构建可扩展的(Scalable)、弹性的(Resilient)、快速响应的(Responsive)应用程序的平台。spark在1.6.0之后使用Netty替代了Akka,Netty基于Reactor线程模型,具有无锁化的串行设计,高效的序列化,零拷贝,内存池等特性。
2024-08-08 11:50:34 831
原创 hadoop大数据安全管理:ldap、keberos、ranger
hadoop大数据中认证一般用keberos,授权用ranger,kerberos和Ldap组件共同组成整个集群的安全鉴权体系,Ldap负责用户数据存储。kerberosKerberos 是一种网络认证协议,用于在不安全的网络中以安全的方式对用户和服务进行身份验证。它通过使用密钥加密技术来防止数据被窃听或篡改,确保了认证过程的安全性。kerberos所管理的一个用户或者服务叫Principal,其格式通常如下:primary/instance@realm。
2024-07-23 17:59:32 1369
原创 大数据hive表和iceberg表格式
iceberg表,是一种面向大型分析数据集的开放表格式,旨在提供可扩展、高效、安全的数据存储和查询解决方案。它支持多种存储后端上的数据操作,并提供 ACID 事务、多版本控制和模式演化等特性,使数据管理和查询更加灵活便捷。Iceberg 可以屏蔽底层数据存储格式上的差异,向上提供统一的操作 API,使得不同的引擎可以通过其提供的 API 接入。
2024-07-15 11:13:28 1587
原创 go获取正在运行的函数并及时捕获panic
因此,在使用 panic 和 recover 时,应该谨慎考虑是否真的需要它们,以及它们在程序中的作用。Go 语言中,panic 是一种运行时错误,它会导致当前 goroutine 立即停止执行,并开始逐层向上返回,直到被 recover 捕获或者程序崩溃。当 panic 发生时,defer 语句注册的函数仍然会被执行,这允许程序进行必要的清理工作,如关闭文件、释放资源等。通过使用 defer 和 recover,可以在发生 panic 时防止程序完全崩溃,允许程序优雅地处理错误。
2024-07-09 18:03:09 400
原创 springboot中在filter中用threadlocal存放用户身份信息
如果要重新修改请求内容,可以用HttpServletRequestWrapper,HttpServletRequestWrapper 是一个包装器类,它扩展了 HttpServletRequest 接口,允许你修改或扩展请求的处理。在调用 filterChain.doFilter 之前,你可以在 doFilter 方法中添加任何预处理逻辑,例如修改请求参数、更改请求路径、添加或修改请求头等。doFilter 方法的前两个参数代表当前的请求和响应对象,你可以在这个方法中读取请求数据、修改请求和响应。
2024-07-09 16:09:38 798
原创 docker容器技术、k8s的原理和常见命令、用k8s部署应用步骤
容器借鉴了集装箱的概念,集装箱解决了什么问题呢?无论形状各异的货物,都可以装入集装箱,集装箱与集装箱之间不会互相影响。由于集装箱是标准化的,就可以把集装箱整齐摆放起来,装在一艘大船把他们都运走。有了集装箱,就再也不需要为各种货物单独准备专门运输的船了。如果把容器比作集装箱的话,应用就相当于集装箱里的货物。容器(Container):一种轻量级的虚拟化技术,这种技术允许操作系统上的用户空间被分割成几个独立的单元在内核中运行,彼此互不干扰。这样一个独立的空间,就称之为一个“容器”。
2024-07-04 17:28:24 1475 2
原创 kerberos认证:生成keytab文件并实现java代码用keytab登录hadoop集群
用户首先向认证服务器(AS)请求一个票据授权票(Ticket-Granting Ticket, TGT),然后使用 TGT 向票据授权服务器(Ticket-Granting Server, TGS)请求服务票据。Kerberos 是一种网络认证协议,用于在不安全的网络中以安全的方式对用户和服务进行身份验证。AS 是 Kerberos 认证过程中的第一个服务,负责验证用户的身份,并发放初始的 TGT。TGS 负责发放访问特定服务的票据。用户使用服务票据向目标服务进行认证,服务票据授权用户访问特定的服务。
2024-06-26 16:15:22 801
原创 gorm的find和scan使用
在 GORM 中,.Find() 和 .Scan() 都可以用于检索数据库记录,但它们之间存在一些差异,并不完全等同于彼此。
2024-06-03 11:28:15 2208
原创 大数据主要组件HDFS Iceberg Hadoop spark介绍
NameNode:NameNode 是 HDFS 的主节点,负责管理文件系统的元数据,包括文件和目录的结构、文件到数据块(Block)的映射、数据块到数据节点(DataNode)的映射等。每行都是每个数据文件的详细描述,包括数据文件的状态、文件路径、分区信息、列级别的统计信息(例如每列的最大最小值、空值数等)、文件的大小以及文件中数据的行数等信息。通过这种架构,HDFS 在 Hadoop 3.x 版本中提供了更高的可用性、更高的存储效率和更好的可扩展性,更适应大数据处理的需求。
2024-03-22 16:32:44 2327
原创 StarRocks学习笔记
StarRocks是一款经过业界检验、现代化,面向多种数据分析场景的、兼容MySQL协议的、高性能分布式关系型分析数据库。StarRocks充分吸收关系型 OLAP 数据库和分布式存储系统在大数据时代的优秀研究成果,并在业界实践的基础上,进一步改进优化,架构升级和添加新功能,形成了全新的企业级产品。
2024-03-21 11:39:01 1108
原创 mysql存json数据时的查询办法
现在要查询InventoryMainTypeCode为xxx或者InventoryMainTypeName为xxx的数据:(这里以springboot+mybatis为例子)
2023-12-08 17:19:34 550
原创 rocketmq消息发送源码学习
消息发送流程主要的步骤:验证消息、查找路由、消息发送(包含异常处理机制)。代码:同步消息发送入口 DefaultMQProducer#send默认消息发送以同步方式发送,默认超时时间为3s。消息长度验证 消息发送之前,首先确保生产者处于运行状态,然后验证消息是否符合相应的规范,具体的规范要求是主题名称、消息体不能为空、消息长度不能等于0且默认不能超过允许发送消息的最大长度4M(maxMessageSize=102410244)。
2023-10-07 15:23:59 373
原创 maven运行报错解决
打开 file -> setting -> Build,Execution,Deployment -> Complier。java.lang.OutOfMemoryError是内存不足导致的,因此需要修改Idea运行项目的内存大小。修改Build process heap size 为 2048。
2023-09-13 14:27:57 375
原创 如何关闭一个tcp连接 阻塞和等待的区别 b树查找的过程
线程同步,指一个线程发出某一功能调用时,在没有得到结果之前,该调用不返回。同时其它线程为保证数据一致性,不能调用该功能。线程同步简单说就是线程排队。
2023-09-07 16:21:14 288
原创 redis集群分配哈希槽
Redis 的哈希槽(Hash Slot)是 Redis 集群中的一个概念,用于将数据分布到不同的节点上。Redis 集群中使用哈希槽来实现数据的分片和负载均衡,将大量的数据分散到多个节点上,以提高系统的可扩展性和性能。具体来说,Redis 集群会将所有的哈希槽均分到不同的节点上,每个节点负责处理一部分哈希槽的数据。例如,一个 Redis 集群有 3 个节点,每个节点负责处理 16384 个哈希槽,那么每个节点负责处理的哈希槽范围为:第一个节点:0-5460第二个节点:5461-10922。
2023-08-11 10:20:40 1115
原创 lua脚本实现Redis令牌桶限流
令牌桶限流是一种常见的流量控制算法,用于控制系统的请求处理速率,防止系统过载。在令牌桶限流算法中,可以将请求看作是令牌,而令牌桶则表示系统的处理能力。系统在处理请求时,首先需要从令牌桶中获取令牌,如果令牌桶中没有足够的令牌,就需要等待一定时间,直到令牌桶中有足够的令牌。具体来说,令牌桶限流算法可以通过以下方式实现:1.系统维护一个固定容量的令牌桶,每秒钟会向桶中添加一定数量的令牌,直到桶的容量达到上限。
2023-07-31 13:53:11 1636
原创 链路追踪eagleEye介绍
淘宝现在是一个由很多个应用集群组成的非常复杂的分布式系统。这些应用里面主要有处理用户请求的前端系统和有提供服务的后端系统等。这些应用之间一般有RPC调用和异步消息通讯两种手段,RPC 调用会产生一层调一层的嵌套,一个消息发布出来更会被多个应用消费,另外,应用还会访问分库分表的数据库、缓存、存储等后端,以及调用其他外部系统如支付、物流、机彩票等。请试想一下,现在淘宝一个买家点击下单按钮所产生的网络请求到达淘宝服务器之后,就会触发淘宝内网数百次的网络调用。
2023-06-16 20:13:23 1668
原创 分布式缓存tair学习
tair 是淘宝自己开发的一个分布式 key/value 存储引擎。tair 分为持久化和非持久化两种使用方式。非持久化的 tair可以看成是一个分布式缓存.。持久化的 tair 将数据存放于磁盘中。为了解决磁盘损坏导致数据丢失。tair 可以配置数据的备份数目。tair 自动将一份数据的不同备份放到不同的主机上, 当有主机发生异常, 无法正常提供服务的时候, 其于的备份会继续提供服务。
2023-06-03 09:49:56 842
原创 数据库系统第十章-数据库恢复技术复习
各类故障对数据库的影响有两种可能性:Ø数据库本身被破坏Ø数据库没有被破坏,但数据可能不正确恢复操作的基本原理:冗余Ø利用存储在系统其它地方的冗余数据来重建数据库中已被破坏或不正确的那部分数据Ø恢复的实现技术:复杂Ø一个大型数据库产品,恢复子系统的代码要占全部代码的10%以上。
2023-05-14 23:29:49 121
合工大分布式程序设计综合设计报告
2023-06-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人