痴迷的小小工匠
码龄8年
关注
提问 私信
  • 博客:24,639
    24,639
    总访问量
  • 49
    原创
  • 760,169
    排名
  • 25
    粉丝
  • 0
    铁粉

个人简介:在繁碌的生活中,做一个小小工匠,痴迷其中

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:江西省
  • 加入CSDN时间: 2016-11-27
博客简介:

li1019865596的博客

查看详细资料
个人成就
  • 获得12次点赞
  • 内容获得8次评论
  • 获得61次收藏
创作历程
  • 49篇
    2021年
成就勋章
TA的专栏
  • zookeeper
    6篇
  • hadoop
    26篇
  • spark
    1篇
  • redis
    8篇
  • ddd
    5篇
  • mysql
    5篇
  • docker
    1篇
  • idea
    1篇
  • Java
    7篇
兴趣领域 设置
  • 大数据
    hadoopspark
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

spark

安装1、下载软件解压缩,移动到指定位置cd /opt/software/tar zxvf spark-2.4.5-bin-without-hadoop-scala-2.12.tgzmv spark-2.4.5-bin-without-hadoop-scala-2.12/ ../servers/spark-2.4.5/2、设置环境变量,并使之生效vi /etc/profileexport SPARK_HOME=/opt/servers/spark-2.4.5 export P
原创
发布博客 2021.10.25 ·
230 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

DDD 领域建模

在 DDD 领域建模和系统建设过程中,有很多的参与者,包括领域专家、产品经理、项目经理、架构师、开发经理和测试经理等。对同样的领域知识,不同的参与角色可能会有不同的理解,那大家交流起来就会有障碍,怎么办呢?因此,在 DDD 中就出现了“通用语言”和“限界上下文”这两个重要的概念通用语言在事件风暴过程中,通过团队交流达成共识的,能够简单、清晰、准确描述业务涵义和规则的语言就是通用语言。限界上下文我们知道语言都有它的语义环境,同样,通用语言也有它的上下文环境。为了避免同样的概念或语义在不同的上下
原创
发布博客 2021.09.13 ·
454 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

实体和值对象

实体是什么在 DDD 中有这样一类对象,它们拥有唯一标识符,且标识符在历经各种状态变更后仍能保持一致。对这些对象而言,重要的不是其属性,而是其延续性和标识,对象的延续性和标识会跨越甚至超出软件的生命周期。我们把这样的对象称为实体。在 DDD 不同的设计过程中,实体的形态是不同的1,实体的业务形态在战略设计时,实体是领域模型的一个重要对象。领域模型中的实体是多个属性、操作或行为的载体,在事件风暴中,我们可以根据命令、操作或者事件,找出产生这些行为的业务实体对象;2,实体的代码形态在
原创
发布博客 2021.09.08 ·
4401 阅读 ·
3 点赞 ·
0 评论 ·
19 收藏

限界上下文

请先思考两个问题:1,为什么要提出限界上下文的概念(也就是说除了解决交流障碍这个广义的原因,还有更具体的吗)?2,限界上下文在微服务设计中的作用和意义是什么?为了更好地理解限界上下文,回答这两个问题,我们先从通用语言讲起。怎么理解通用语言这个概念呢?在事件风暴过程中,通过团队交流达成共识的,能够简单、清晰、准确描述业务涵义和规则的语言就是通用语言。也就是说,通用语言是团队统一的语言,不管你在团队中承担什么角色,在同一个领域的软件生命周期里都使用统一的语言进行交流。那么,通用语言
原创
发布博客 2021.09.06 ·
791 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

“子域”和“限界上下文”

在DDD中包括问题域和解决方案域两个不同的维度。问题域主要从业务视角来考虑,完成从领域到子域的分解,而解决方案域则主要从技术实现的角度,通过划分限界上下文和采用DDD战术设计完成微服务拆分和落地。“子域”和“限界上下文”这两个概念分别从不同的视角,构建起了DDD 处理业务复杂度的根基。个人认为“子域”和“限界上下文”在大多数情况下是一对一或者一对多的映射关系。从实践角度,我们可以这样理解,我们不妨将业务领域的分解拆分为两个阶段:从领域到子域的粗粒度的分解和从子域到限界上下文的技术实现级的分解。有时候企
原创
发布博客 2021.09.06 ·
1454 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

DDD 的领域、子域、核心域、通用域和支撑域等重要概念

领域就是用来确定范围的,范围即边界,这也是 DDD 在设计中不断强调边界的原因。在研究和解决业务问题时,DDD 会按照一定的规则将业务领域进行细分,当领域细分到一定的程度后,DDD 会将问题范围限定在特定的边界内,在这个边界内建立领域模型,进而用代码实现该领域模型,解决相应的业务问题。简言之,DDD 的领域就是这个边界内要解决的业务问题域。...
原创
发布博客 2021.09.06 ·
1463 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

HBase(2)——hbase数据模型和命令行使用

介绍列式存储格式(对比mysql)HBase 基于 Google的BigTable论⽂⽽来,是⼀个分布式海量列式⾮关系型数据库系统,可以提供超⼤规模数据集的实时随机读写。列存储的优点1)减少存储空间占⽤。 2)⽀持好多列HBase的特点海量存储: 底层基于HDFS存储海量数据 列式存储:HBase表的数据是基于列族进⾏存储的,⼀个列族包含若⼲列 极易扩展:底层依赖HDFS,当磁盘空间不⾜的时候,只需要动态增加DataNode服务节点...
原创
发布博客 2021.08.16 ·
264 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

Hive调优策略

Hive作为大数据领域常用的数据仓库组件,在设计和开发阶段需要注意效率。影响Hive效率的不仅仅是数据量过大;数据倾斜、数据冗余、job或I/O过多、MapReduce分配不合理等因素都对Hive的效率有影响。对Hive的调优既包含对HiveQL语句本身的优化,也包含Hive配置项和MR方面的调整。从以下三个方面展开:架构优化参数优化SQL优化一、架构优化1.1执行引擎Hive支持多种执行引擎,分别是 MapReduce、Tez、Spark、Flink。可以通过hive..
原创
发布博客 2021.08.14 ·
831 阅读 ·
1 点赞 ·
0 评论 ·
11 收藏

安装私有镜像仓库

最近又发现了一款好用的Maven插件,fabric8io出品的docker-maven-plugin,可以把SpringBoot应用方便的部署到Docker容器中去。该插件可以实现打包镜像、推送到镜像仓库、运行应用等一系列操作,本文将对其用法进行详细介绍,希望对大家有所帮助!安装私有镜像仓库由于之后我们需要推送到私有镜像仓库,我们预先安装好,使用的是Docker公司开发的私有镜像仓库Registry。 下载Registry的Docker镜像; docker pull regis..
原创
发布博客 2021.08.02 ·
547 阅读 ·
2 点赞 ·
0 评论 ·
2 收藏

我常用的IDEA插件大公开,个个是精品!

总结了平时工作中常用的几款IDEA插件,后端和前端的都有了,附上我的使用技巧,看完之后开发效率杠杠的!LombokLombok为Java项目提供了非常有趣的附加功能,使用它的注解可以有效的地解决那些繁琐又重复的代码,例如 Setter、Getter、toString、equals、hashCode 以及非空判断等。Free MyBatis PluginMyBatis扩展插件,可以在Mapper接口的方法和xml实现之间自由跳转,也可以用来一键生成某些xml实现。...
原创
发布博客 2021.08.01 ·
230 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

IDEA同款数据库管理工具,提示太全了,用起来贼香!

最近体验了一把Jetbrains出品的数据库管理工具DataGrip,发现SQL提示真的很全,写起SQL来特别顺手,各种数据库支持也很全。整理了下其用法和使用技巧,助大家码出更高质量的SQL。下载https://www.jetbrains.com/datagrip/理解数据库选中表右键->修改表即可查看数据库表的相关信息;新建时可以添加表中的列,并且可以预览对应的SQL脚本;编写SELECT *语句并不是好习惯,可以通过选中*再使用Alt+Enter...
原创
发布博客 2021.08.01 ·
2169 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Swagger界面丑、功能弱怎么破?用Postman增强下就给力了!

在使用Swagger的时候,你是否会有这种感觉:提交参数为JSON没法格式化,参数错了查找麻烦,返回结果没法折叠,太长了没法看!Swagger结合Postman使用后这一情况有很大改变,今天我们来讲下如何使用Postman增强Swagger的功能,希望对大家有所帮助!Postman使用Postman是一款API接口调试工具,使用它可以很方便的对接口进行测试,并且后端人员可以将自己的调试结果导出,方便前端人员调试。安装 下载地址:https://www.getpostman.com/.
原创
发布博客 2021.08.01 ·
233 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Sqoop

Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、 postgresql等)间进行数据的传递。可以将关系型数据库(MySQL ,Oracle ,Postgres等)中的数据导入到HDFS中,也可以将HDFS的数据导进到关系型数据库 中。...
原创
发布博客 2021.07.20 ·
174 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Flume-实战

Flume由Cloudera公司开发,是一个分布式、高可靠、高可用的海量日志采集、聚 合、传输的系统。Flume支持在日志系统中定制各类数据发送方,用于采集数据; Flume提供对数据进行简单处理,并写到各种数据接收方的能力。 简单的说,Flume是实时采集日志的数据采集引擎。 Flume有3个重要组件:Source、Channel、Sink 特点: 分布式:flume分布式集群部署,扩展性好 可靠性好: 当节点出现故障时,日志能够被传送到其...
原创
发布博客 2021.07.13 ·
404 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

MapReduce(2)——编程实战

MapReduce编程须知map()方法是对输入的一个KV对调用一次!!Reduce()方法是对相同K的一组KV对 调用执行一次一、WordCount统计功能1.1 需求1.2 思路梳理Map阶段:1. map()方法中把传入的数据转为String类型 2. 根据空格切分出单词 3. 输出<单词,1>Reduce阶段:1. 汇总各个key(单词)的个数,遍历value数据进行累加 2. 输出key的总数...
原创
发布博客 2021.07.04 ·
565 阅读 ·
1 点赞 ·
2 评论 ·
2 收藏

HDFS(1)(2)——解读上传、下载(读写)、元数据管理原理

一、HDFS上传和下载流程图讲解1.1 HDFS读数据流程1. 客户端通过Distributed FileSystem向NameNode请求下载文件,NameNode通过查询元数据,找到文件块所在的DataNode地址(块信息和块存储的节点信息)。 2. 向DataNode(就近原则,然后随机)服务器发送请求读取数据。 3. DataNode开始传输数据给客户端(从磁盘里面读取数据输入流,以Packet为单位来做校验)。 4. 客户端以Packet为单位接收,先在本地缓存,然后写入目标文
原创
发布博客 2021.06.27 ·
550 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

HDFS(1)(3)——编码实战

一、客户端环境准备(1)将Hadoop-2.9.2安装包解压到非中文路径(例如:E:\hadoop-2.9.2)(2)配置HADOOP_HOME环境变量(3)创建一个Maven工程,添加依赖<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifac
原创
发布博客 2021.06.27 ·
227 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

redis(1)(2)——数据类型和应用场景、命令行操作

一、连接启动服务./redis-server redis.conf连接./redis-cli -h 127.0.0.1 -p 6379或者./redis-cli二、Redis数据类型和应用场景Redis是一个Key-Value的存储系统,使用ANSI C语言编写。注意:Redis中命令是忽略大小写,(set SET),key是不忽略大小写的 (NAME name)2.1 Key的设计key的类型是字符串。1. 用:分割2. 把表名转换为key前缀,.
原创
发布博客 2021.06.25 ·
205 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

redis(1)(3)——底层数据结构

Redis作为Key-Value存储系统RedisDB结构Redis中存在“数据库”的概念,该结构由redis.h中的redisDb定义。 当redis 服务器初始化时,会预先分配 16 个数据库 所有数据库保存到结构 redisServer 的一个成员 redisServer.db 数组中 redisClient中存在一个名叫db的指针指向当前使用的数据库...
原创
发布博客 2021.06.24 ·
133 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

redis(4)(1)——(总结)缓存、分布式锁

缓存问题缓存穿透缓存穿透是指在高并发下查询key不存在的数据,会穿过缓存查询数据库。导致数据库压力过大而宕机 解决方案: 对查询结果为空的情况也进行缓存,缓存时间(ttl)设置短一点,或者该key对应的数据insert了 之后清理缓存。 问题:缓存太多空值占用了更多的空间 使用布隆过滤器。在缓存之前在加一层布隆过滤器,在查询的时候先去布隆过滤器查询 key 是否 存在,如果不存在就直接返回,存在再查缓存和DB。...
原创
发布博客 2021.06.20 ·
141 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多