- 博客(230)
- 收藏
- 关注
原创 Hive if(boolean testCondition, T valueTrue, T valueFalseOrNull) testCondition都支持那些格式
在 Apache Hive 中,IF函数用于根据一个布尔条件返回不同的结果。其中,是一个布尔表达式,valueTrue是条件为真时返回的值,是条件为假时返回的值。
2024-07-24 23:25:36
299
原创 BeanFactory 和 FactoryBean 的区别
是两个常见的接口,它们在 Spring 容器中扮演不同的角色,具有不同的功能和使用场景。理解这两个接口的区别对于掌握 Spring 框架的核心概念和使用有重要意义。是 Spring 容器的核心接口,负责管理 Spring 应用中的 bean。它提供了一种机制来获取 bean 实例,并负责 bean 的生命周期管理。是 Spring 提供的一种特殊的 bean,它允许在 Spring 容器中定制 bean 的创建逻辑。接口,可以控制某个 bean 的实例化过程。在 Spring 框架中,
2024-07-08 13:06:24
592
原创 MySQL EXPLAIN 中的 type 和 ref 字段
在 MySQL 中,EXPLAIN语句用于分析 SQL 查询的执行计划。EXPLAIN输出的结果中包含多个字段,其中type和ref字段是理解查询执行方式的重要部分。
2024-07-08 13:03:29
378
原创 营销的定义与概念
营销(Marketing)是指企业通过一系列的活动、策略和方法,识别、创造和满足客户需求,从而实现企业目标的过程。营销不仅仅是销售产品或服务,还包括市场调研、产品开发、定价策略、促销活动、分销渠道管理以及售后服务等多个方面。
2024-07-04 12:52:45
389
原创 总体设计在软件设计中的意义
总体设计(High-Level Design, HLD)是软件开发生命周期中的一个关键阶段,旨在从宏观层面定义系统的结构和主要组件。总体设计的目标是为详细设计和实现提供一个清晰的框架和蓝图。
2024-07-03 12:54:32
247
原创 持续集成(Continuous Integration)
持续集成(Continuous Integration,简称CI)是一种软件开发实践,开发者频繁地将代码集成到共享的代码库中,每次集成都通过自动化构建和测试来验证,从而尽早发现并修复错误。CI的目标是提高软件开发的质量和效率,减少集成问题,并使软件在整个开发过程中始终保持在一个可发布的状态。
2024-07-02 12:42:37
993
原创 MySQL中的TRUNCATE命令是否直接删除文件
命令在MySQL中用于高效地删除表中的所有数据,但保留表结构和定义。它通过快速重置表空间和元数据来实现数据清空,而不是直接删除数据文件。命令时,需谨慎操作,并确保有必要的备份,以防数据丢失。命令更高效,但也意味着其操作是不可逆的。
2024-06-26 12:54:04
393
原创 第9章:软件可靠性基础知识
软件可靠性(Software Reliability)是软件产品在规定的条件下和规定的时间区间完成规定功能的能力。规定的条件是指直接与软件运行相关的使用该软件的计算机系统的状态和软件的输入条件,或统称为软件运行时的外部输入条件;规定的时间区间是指软件的实际运行时间区间;规定功能是指为提供给定的服务,软件产品所必须具各的功能。软件与硬件有很多不同点,但从可靠性的角度来看,它们主要有如下4个不同点。复杂性。
2024-06-25 23:03:15
1169
原创 第8章:系统质量属性与架构评估
更具体地说,软件系统质量是软件与明确地叙述的功能和性能需求文档中明确描述的开发标准以及任何专业开发的软件产品都应该具有的隐含特征相一致的程度。
2024-06-22 18:35:15
1367
原创 佣金的定义和类型
基本定义:佣金是指在商业交易中,代理人或中介机构为促成交易所获得的报酬。它通常是按交易金额的一定比例计算和支付的。支付方式:佣金可以是固定金额,也可以是交易金额的百分比。
2024-06-22 18:10:50
432
原创 互联网的盈利模式
互联网公司通过多种方式获取收入,包括广告、订阅服务、电子商务、数据销售、佣金和交易费、游戏内购、联盟营销、技术授权、内容创作和版权、以及投资和并购等。每种模式都有其独特的优势和适用场景,企业通常会综合运用多种盈利模式,以最大化其收入和市场竞争力。
2024-06-22 18:07:03
515
原创 Bigtable与HBase的区别
Bigtable和HBase在数据模型上非常相似,但它们在开发背景、平台生态系统、可用性、性能、API和社区支持方面都有显著的不同。Bigtable是Google的商业服务,提供了高性能和易用性,而HBase作为一个开源项目,提供了更大的灵活性和可定制性,但可能需要更多的管理工作。用户的选择往往基于特定的业务需求、技术栈兼容性和运维能力。
2024-06-20 13:06:51
434
原创 Hbase存储倒排索引
定义:倒排索引是搜索引擎用于快速全文搜索的数据结构,它将文档中出现的每个词与包含该词的文档列表相关联。组成:倒排索引由两部分组成:词典和倒排文件。词典包含所有唯一词项,倒排文件包含每个词项对应的倒排列表(即文档ID列表)。
2024-06-20 12:59:36
335
原创 Bigtable的数据结构
Bigtable的数据结构是一个多维的稀疏映射,由行键、列族、列限定符和时间戳四个维度组成。这种结构非常适合存储大量的、结构化的数据,且可以高效地进行读写操作。其稀疏性质使得它可以高效地存储不规则的或者有很多空值的数据集。
2024-06-20 12:57:57
425
原创 Bigtable
定义:Bigtable是Google开发的一个分布式存储系统,用于管理结构化数据,能够扩展到非常大的规模。设计目标:Bigtable旨在处理大量数据集,支持高吞吐量和低延迟的数据读写操作,特别适合于需要快速访问的大规模数据集。
2024-06-20 12:54:36
334
原创 第7章:系统架构设计基础知识-软件架构风格
定义:—个程序和计算系统软件体系结构是指系统的一个或者多个结构。结构中包括软件的构件,构件的外部可见属性以及它们之间的相互关系。体系结构并非可运行软件。确切地说,它是一种表达,使软件工程师能够:(1)分析设计在满足所规定的需求方面的有效性;(2)在设计变更相对容易的阶段,考虑体系结构可能的选择方案:(3)降低与软件构造相关联的风险。
2024-06-16 10:46:57
780
原创 Young GC时大量对象进入老年代对GC时间的影响
Young GC时大量对象进入老年代会增加GC时间,尤其是在随后的老年代GC中。这种情况会导致更频繁的Major GC或Full GC,从而影响应用的性能。为了减轻这种影响,可以通过调整JVM参数和GC算法配置来优化GC性能,同时改进应用程序的内存使用策略,以减少不必要的对象晋升。
2024-06-13 13:07:37
317
原创 Spring ApplicationContext的getBean方法
方法可以接受接口或实现类作为参数。当接口有多个实现类时,可以通过指定Bean名称、使用@Qualifier注解、标注@Primary注解来获取具体的实现类Bean。这些方法可以帮助你在Spring容器中精确地找到并管理不同的Bean实例。
2024-06-05 23:31:02
559
1
原创 UML的用例图
UML用例图是一种表现系统功能和用户交互的图形化工具,通过参与者、用例和它们之间的关系来展示。关系如关联、包含、扩展和泛化等,帮助阐明系统中不同实体之间的动态交互及其依赖性。这些关系对于理解系统如何响应不同用户的需求至关重要。
2024-06-05 23:12:59
368
原创 UML一类图关系 (泛化、实现、依赖、关联、聚合、组合)
UML类图中的关系有助于描述类与类之间的不同类型的关联。泛化关系描述了类的继承结构;实现关系用于类与接口之间;依赖关系表示一个类在某种程度上依赖另一个类;关联关系定义了类之间的链接;聚合和组合关系则描述了整体与部分之间的关系,区别在于部分是否能脱离整体存在。这些关系在设计软件系统时,对于理解和构建类之间的交互非常关键。
2024-06-05 23:07:56
506
原创 第三部分:领域驱动设计中的SPECIFICATION(规格说明)
在领域驱动设计中,规格说明是一种强大的模式,用于封装业务规则,使得这些规则更加模块化和可维护。它通过提供清晰的业务规则界面,增强了业务逻辑的表达能力,并提高了代码的复用性和可测试性。规格说明的合理应用可以显著提升领域模型的清晰度和灵活性。
2024-06-04 23:14:46
308
原创 第6章:数据库设计基础知识
就是针对某一具体的关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求,由应用的环境决定。例如,银行的用户账户规定必须大于等于100000,小于999999。
2024-06-03 23:40:39
1151
1
原创 GPT-4o
GPT-4o 是 OpenAI 发布的最新迭代版本,它在 GPT-4 的基础上进行了改进。开发者可以通过 API 以更低的价格和更快的速度访问 GPT-4o,这是 GPT-4 Turbo 的两倍速度和一半价格。它的免费模式使得更多用户能够体验到 AI 的先进功能,而对开发者友好的 API 定价策略则鼓励了更广泛的创新和应用开发。GPT-4o 所展示的技术能力和未来的发展潜力令人印象深刻,它不仅能够加速信息获取和处理,也为人机交互提供了更自然和直观的方式。
2024-06-02 11:52:51
574
原创 如何提高Hbase的读取效率
在 HBase 中,BlockCache 是用来缓存数据块以加速读取操作的组件。“BlockCache on write” 是指在数据写入(正常的put或bulkload)时是否将数据块缓存到 BlockCache 中的配置。这个配置可以通过 HBase 的配置文件 hbase-site.xml 进行设置。配置参数hbase.rs.cacheblocksonwrite: 这个配置项决定了区域服务器(RegionServer)在写操作时是否将数据块缓存到 BlockCache 中。
2024-05-31 23:29:35
569
原创 第三部分:领域驱动设计之分析模式和设计模式应用于模型
分析模式是一种概念集合,用来表示业务建模中的常见结构。它可能只与一个领域有关,也可能跨越多个领域。。分析模式并不是技术解决方案,他们只是些参考,用来指导人们设计特定领域中的模型。分析模式的最大作用是借鉴其他项目的经验,把那些项目中有关设计方向和实现结果的广泛讨论与当前模型的理解结合起来。脱离具体的上下文来讨论模型思想不但难以落地,而且还会造成分析与设计严重脱节的风险,而这一点正是MODEL-DRIVEN DESIGN坚决反对的。
2024-05-28 12:40:45
637
原创 第5章:软件工程基础知识
为使软件项目开发获得成功,关键问题是必须对软件项目的工作范围、可能风险、需要资源(人、硬件/软件)、要实现的任务、经历的里程碑、花费工作量(成本)、进度安排等进行预先计划和执行。这种管理在技术工作开始之前就应开始,在软件从概念到实现的过程中继续进行,当软件工程过程最后结束时才终止。软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员(People)、产品(Product)、过程(Process)和项目(Project)进行分析和管理的活动。
2024-05-26 23:32:09
309
原创 第四章:信息安全技术基础知识
信息是一种重要的战略资源,信息的获取、处理和安全保障能力成为一个国家综合国力的重要组成部分,信息安全事关国家安全和社会稳定。信息安全理论与技术的内容十分广泛,包括密码学与信息加密、可信计算、网络安全和信息隐藏等多个方面。
2024-05-25 23:18:57
712
原创 什么是营业执照年检和年报
年报是指企业每年向工商行政管理部门报送的年度报告,公示企业的经营状况、财务状况、资产状况等信息。企业需在每年的规定时间内,通过企业信用信息公示系统向社会公示上一年度的相关信息,包括企业基本信息、资产状况、对外投资情况等,未按时公示年报的企业将被列入经营异常名录。营业执照年检是指企业在规定的时间内向登记机关提交企业年度经营情况的审查,这是在以前的企业监管制度中存在的一种要求。总的来说,营业执照年检是以前的企业年度审查制度,而年报是当前的企业年度信息公示制度,两者的主要区别在于审查与公示的侧重点不同。
2024-05-19 15:28:28
323
原创 Spark写Hbase如何提高Bulkload的速度
很多时候我们在写HFile的时候都会进行repartition使用的是repartitionAndSortWithinPartitions,其中Spark也提供几种repartition的实现如HashPartitioner、RangePartitioner,但当数据量大的时候就会出现性能问题,就会变慢。在load的时候,是会按照Hbase的分区,把数据放到对应分区里面,这里面就会有两个问题,1.如果一个HFile文件对应多分区数据,在load的时候就会进行文件拆分(具体看代码扩展Partitioner。
2024-05-12 00:30:46
689
1
原创 Spark读取Hive数据或文件如何提升速度的优化思路
通过上面的方式,基本控制每个Task在18MB左右,每个task3~6分钟左右,整体也就7分钟左右完成,之前基本需要30分钟左右。
2024-05-11 23:50:03
467
1
原创 LoadIncrementalHFiles 流程和原理
是用于HBase的Bulk Load工具,允许用户高效地将大量数据直接加载到HBase表中,而不是使用传统的行级别插入。它通过直接将HFiles(HBase的存储文件格式)移动到HBase数据目录,避免了写入WAL(Write-Ahead Log)和进行RPC调用,从而提高了数据加载速度。
2024-05-11 13:07:43
693
1
原创 Scala里的class、object、case class、case object 、trait
Scala 中的class是一种蓝图,用于创建对象(实例)。它定义了对象的状态和行为。类可以包含字段(属性)和方法(函数)。类可以有构造器,用于初始化新创建的对象。object是 Scala 中的一个单例对象。它定义了一个特定类型的唯一实例。object常用于存放工具函数和静态成员。object也用于定义伴生对象,与同名的类共享相同的名称空间。case class是一种特殊的类,它默认为类的参数提供不可变属性,自动生成equals和hashCode方法,以及copy方法和方法。
2024-05-07 22:41:29
815
1
原创 第三章:信息系统基础知识之信息系统概述
信息系统是由计算机硬件、网络和通信设备、计算机软件、信息资源、信息用户和规章制度组成的以处理信息流为目的的人机一体化系统。信息系统的5个基本功能:输入、存储、处理、输出和控制。输入功能。输入功能决定于系统所要达到的目的及系统的能力和信息环境的许可。存储功能。存储功能指的是系统存储各种信息资料和数据的能力。处理功能。它是数据处理工具。处理功能基于数据仓库技术的联机分析处理(OLAP)和数据挖掘(DM)技术。输出功能。信息系统的各种功能都是为了保证最终实现最佳的输出功能。控制功能。
2024-05-01 16:08:51
826
原创 解决特定事务同步问题:异步调用中的事务传播
在使用@Async注解进行异步调用时,事务上下文不会自动传播到新启动的线程中,可能导致在异步线程中执行的数据库操作不在原有事务的管理范围内,从而引发事务失效的问题。
2024-05-01 15:53:47
455
原创 Spring 事务失效的几种情况
在Spring中,默认情况下,只有public方法上的注解才会被代理对象识别并应用事务。如果在非public方法上使用,事务可能不会被正确处理。
2024-05-01 15:30:17
707
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人