自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(166)
  • 资源 (1)
  • 收藏
  • 关注

原创 高频面试之14Redis

Redis作为高性能缓存系统,主要面临缓存穿透、雪崩和击穿问题,可通过空对象缓存、布隆过滤器、分散失效时间等方法解决。其哨兵模式实现主从自动切换,支持五种数据类型。热数据导入可采用LRU策略延长TTL,持久化有RDB和AOF两种方式,建议同时开启。虽然Redis本身是键值存储,但Hash类型特别适合存储关系型对象,提供更灵活的数据结构。这些特性使Redis广泛应用于缓存、会话管理等场景。

2025-06-16 10:04:58 801

原创 高频面试之13 Clickhouse

Clickhouse数据库核心特性与应用实践Clickhouse是一款高性能列式数据库,其核心优势在于速度快,原因包括向量化处理、列式存储、本地化计算以及丰富的优化引擎等。主要表引擎包括Log、Special、MergeTree系列和集成引擎。针对Flink写入的一致性,可通过ReplacingMergeTree引擎实现最终一致。在实际应用中,采用本地表而非分布式表以避免写入问题,存储方案设计为10多张宽表,年数据量约11TB。性能优化涵盖内存、CPU配置调整,物化视图和Projection新特性的应用

2025-06-13 15:40:49 898

原创 高频面试之12 HBase

HBase存储架构与核心机制解析摘要:HBase作为分布式列式数据库,其架构包含HMaster(元数据管理、负载均衡)、RegionServer(数据处理执行)、Zookeeper(高可用支持)和HDFS(底层存储)四大组件。核心流程方面,写操作需经历元数据读取、WAL写入等步骤;读操作涉及MemStore、StoreFile和BlockCache多级查询。优化策略包括:RowKey设计三原则(长度、散列、唯一),通过ID反转解决热点问题;两种合并机制(Minor/Major Compaction);二级

2025-06-13 15:15:21 936

原创 高频面试之11Flink

Flink基础架构由JobManager、TaskManager和Client组成,支持流式计算和多种时间语义。与Spark Streaming相比,Flink提供更灵活的事件处理、窗口操作和状态管理。其任务提交流程涉及多个组件协作,支持多种部署模式。Flink通过Watermark机制处理乱序数据,窗口分类丰富,包含滚动、滑动和会话窗口等。资源配置需根据任务特性调整并行度,并关注Slot共享组优化。整体上,Flink以低延迟、高吞吐和精准的状态管理优势,成为现代流处理的重要框架。

2025-06-13 11:36:48 1393

原创 高频面试之10 Spark Core & SQL

【摘要】本文系统梳理了Spark核心概念与关键技术要点,主要包括:1)Spark运行模式(Local/Yarn/Standalone等)及常用端口说明;2)RDD五大特性和弹性机制;3)转换/行动算子分类与典型API对比(如map/mapPartitions、reduceByKey/groupByKey);4)任务执行流程(DAG划分、Shuffle机制和内存管理);5)性能优化策略(如repartition/coalesce选择、减少数据库连接数);6)与MapReduce的核心差异(内存计算、DAG优化

2025-06-13 10:56:08 882

原创 高频面试之9 DolphinScheduler调度器

1.3.9版本,支持邮件、企业微信。2.0.3版本,支持的报警信息更全一些,配置更容易。3.0.0以上版本,支持数据质量监控。

2025-06-13 09:22:26 385

原创 高频面试之8 Maxwell

本文对比了FlinkCDC、Maxwell和Canal三种实时数据同步工具的特性差异,重点分析了Maxwell的优势包括断点续传、全量数据初始化和自动数据分发功能。文章还探讨了Maxwell的底层MySQL主从复制原理,指出其全量同步速度较慢,建议使用Sqoop/DataX替代,并解释了Maxwell在同步历史数据时可能出现的数据重复问题机制。

2025-06-13 09:19:04 285

原创 高频面试之7 Datax

本文对比了DataX和Sqoop两大离线数据同步工具的特点差异,重点分析了DataX的性能优化方法。DataX采用单进程多线程架构,支持插件化开发,对多种数据源兼容性更好。文章详细介绍了DataX的三大优化方向:速度控制(通过并发数和限速参数调节)、内存调整(建议4G-8G配置)以及空值处理(MySQL与Hive间的null值转换方案)。同时提供了配置文件生成脚本和实际业务场景下的数据量估算(日均全量1-2GB,增量1-2GB),并说明了通过SQL时间过滤实现增量同步的具体方法。这些实践总结为大数据环境下的

2025-06-13 09:09:21 1150

原创 高频面试之6Hive

Hive大数据处理框架核心解析Hive作为Hadoop生态系统中的数据仓库工具,其架构基于HDFS存储和MapReduce计算框架。HQL查询语言通过解析器、语义分析器等组件转换为MR任务执行流程。与数据库相比,Hive更适合大规模数据处理,但延迟较高。关键特性包括:表类型:内部表删除元数据和数据,外部表只删元数据丰富函数库:数值、字符串、日期、流程控制等系统函数窗口函数:支持分组TopN、行转列等复杂分析场景自定义函数:UDF用于简单计算,UDTF处理一行多行转换优化手段主要有:分组

2025-06-11 17:11:46 1251

原创 高频面试之5Kafka

Kafka采用生产者-Broker-消费者-Zookeeper架构,Zookeeper仅保存Broker元数据。生产端提供三种分区策略:默认、粘性和轮询分区器,支持自定义实现。数据可靠性保障方面,生产端通过acks参数控制应答级别,服务端需设置副本数≥2和最小同步副本≥2。

2025-06-11 15:15:55 1424

原创 高频面试之4Flume

Flume核心组成包括Taildir Source(支持断点续传)、Channel(File/Memory/Kafka三种类型)和HDFS Sink。事务机制分为Put(Source→Channel)和Take(Channel→Sink)。关键优化点包括:

2025-06-09 14:25:08 532

原创 高频面试之3Zookeeper

本文总结了Zookeeper的核心知识点,包括:常用操作命令:ls、get、create、delete等选举机制 - 采用半数机制(2n+1),建议安装奇数台服务器遵循CAP理论中的CP原则(一致性和分区容错性)通过过半选举机制有效防止脑裂问题主要应用场景:作为HDFS/YARN等HA方案的协调者,以及被Kafka、HBase等组件依赖

2025-06-09 11:10:24 394

原创 高频面试之2Hadoop

Leader出现故障,系统开始改朝换代,当Follower完成全部工作并且成为Leader后,原Leader又复活了(它的故障可能是暂时断开或系统暂时变慢,不能及时响应,但其NameNode进程还在),并且由于某种原因它对应的ZKFC并没有把它设置为Standby,所以原Leader还认为自己是Leader,客户端向它发出的请求仍会响应,于是脑裂就发生了。业务部门1(重要)=》业务部门2(比较重要)=》下单(一般)=》购物车(一般)=》登录注册(次要):支持多队列,保证每个任务公平享有队列资源。

2025-06-09 10:22:15 773

原创 高频面试之Linux&Shell

本文总结了Linux和Shell的高频面试知识点。Linux部分列举了7个常用高级命令,包括top、jmap、free、ps等系统监控命令。Shell部分介绍了常用工具(awk/sed等),并展示了两个典型脚本案例:集群启停脚本和数仓数据导入脚本。重点分析了Shell中单引号、双引号和反引号的区别:单引号不解析变量,双引号解析变量,反引号执行命令。通过test.sh脚本演示了不同引号处理变量的效果,为Shell编程中的引号使用提供了明确指导。

2025-06-09 09:32:44 207

原创 电脑输入账号密码后,屏幕黑屏只有鼠标解决办法

最近办公电脑出现了两次输入密码后,屏幕黑屏之后鼠标能动的问题,只能有手机查一些资料尝试自己解决,具体什么原因导致的暂时还不清楚。解决这个问题大概有两个方案吧,第一次黑屏用的第一个方案,第二次发现第一个方案不好用了就用的第二个方案。

2024-10-16 09:52:17 9132

原创 我的创作纪念日

没啥太大的成就,靠IT技术养家算吗。希望IT人35岁被裁的命运被打破。因为想把自己的学习过程记录下来。

2024-07-12 15:29:19 329

原创 主数据深度剖析与实际应用

主数据是指在企业或组织中被广泛共享和重复使用的重要核心数据。它通常包括关键的业务实体和概念,如客户、产品、供应商、员工和账户等,这些数据在各种业务流程、系统和应用程序中被反复引用和使用。主数据的质量和一致性对于企业的业务运营和决策至关重要。主数据管理是一套综合的方法、工具和流程,用于确保企业核心业务实体数据(如客户、产品、员工等)的准确性、一致性、完整性、及时性和可用性。它涉及数据治理、质量控制、数据集成和数据分发等多个方面,旨在创建和维护企业范围内的单一事实来源。

2024-07-08 14:20:24 2251

原创 bug记录-XFTP传输中文文件夹乱码

今日想往服务器中同步一些脚本,脚本文件夹是中文命名的,用XFTP导入后发现文件夹名称是乱码的。所以我们只需要把XFTP会话的编码改为UTF-8就可以了。这样导入到linux就不乱码了。但是在XFTP上显示是正常的。首先点击文件-当前会话属性。设置UTF-8编码就可以了。

2024-06-28 11:50:12 666

原创 PostGIS教程学习二十二:使用触发器追踪历史编辑操作

生产环境下数据库的一个常见要求是能够跟踪用户编辑数据的历史:数据在两个日期之间是如何变化的,是谁操作的,以及它们哪些内容变化了?一些GIS系统通过在客户端接口中包含更改管理功能来跟踪用户的编辑数据操作,但这增加了客户端编辑工具的复杂性。使用数据库和数据库的触发器机制,可以对任何表进行编辑历史跟踪,从而让客户端保持对编辑表的简单“直接编辑”(客户端不用负责追踪编辑历史的功能,只负责CRUD)。历史跟踪的工作方式是增加一个记录编辑历史的历史表,为每个编辑操作保留历史记录。

2024-02-01 10:48:20 1216

原创 PostGIS学习教程二十一:最近领域搜索

一个常见的空间查询是:“距离一个要素最近的是哪些要素?与距离查询不同,最近邻域搜索(Nearest Neighbour Search)没有限制候选几何图形在什么范围之内,任何距离的要素都将被接受,只要它们是最近的。这引出了关于传统的索引辅助查询的一个问题,这些查询需要一个搜索框,因此需要某种测量值来限定这个框。执行最近邻域搜索的简单方法是按与要查询的几何图形的距离对候选表进行排序,然后获取最小距离对应的表记录。

2024-02-01 10:22:24 1135

原创 PostGIS学习教程二十:3-D

对于3-D和4-D几何图形,额外的维度将作为几何图形中每个顶点的额外坐标添加,并且几何图形类型将得到增强,以指示如何解译额外的维度信息。构建索引后,可以在查询中使用&&&索引操作符,&&&和&&是相同的语义——边界框相交——区别在于,&&&使用几何图形的所有维度来应用这个语义。一般来说,N-D索引只比2-D索引执行速度稍慢一些,所以只使用N-D索引,因为N-D查询将提高查询的多维度选择性。要使用N-D索引搜索nyc_streets表,只需将&&2-D索引运算符替换为&&&3-D索引运算符。

2024-01-09 22:14:05 1721

原创 PostGIS教程学习十九:基于索引的聚簇

数据库只能以从磁盘获取信息的速度检索信息。小型数据库将完全位于于RAM缓存(内存),并摆脱物理磁盘访问速度慢的限制。但是对于大型数据库,对物理磁盘的访问将限制数据库的信息检索速度。数据是偶尔写入磁盘的,因此存储在磁盘上的有序数据与应用程序访问或组织该数据的方式之间不需要存在任何关联。加速数据访问的一种方法是确保可能在同一结果集中一起被检索的记录位于硬盘上的相近物理位置。这就是所谓的"聚簇(clustering)"。

2024-01-09 22:01:35 1213

原创 PostGIS学习教程十八:维数扩展的9交集模型

维数扩展的9交集模型-Dimensionally Extended 9-Intersection Model”(DE9IM)是一个用于建模两个空间对象如何交互的框架。首先,每个空间对象都具有:内部(interior)边界(boundary)外部(exterior)内部是以环为边界的里面的那一部分;边界是环本身;外部是边界外的一切。对于线性要素,内部、边界和外部不太为人所知:内部是以端点为界限的线的那一部分;边界是线性要素的端点;外部是平面中除内部和边界外的所有其他部分。

2024-01-05 21:36:30 1916 1

原创 PostGIS学习教程十七:线性参考

线性参考是一种表示要素的方法,这些要素可以通过引用一个基本的线性要素来描述。使用线性参照建模的常见示例包括:公路资产,这些资产使用公路网络沿线的英里来表示。道路养护作业,指在一对英里测量之间沿着公路网发生的作业。水产库存,其中鱼的存在位置被记录为距离上游的一段位置之间。河流的水文特征,以河流的某一个点到另一个点作为参考。线性参考模型的优点是,从属空间观测信息不需要与基准空间观测信息分开记录,对基础观测信息进行更新时,从属观测信息将自动更新从而追踪新几何图形。

2024-01-05 21:23:20 1274 1

原创 PostGIS学习教程十六:几何图形的相等

在处理几何图形时确定相等可能很困难。PostGIS支持三种不同的函数与操作符,可以用来确定不同级别的相等。为了说明这些函数和操作符,我们将使用以下多边形。

2023-12-26 22:16:29 761

原创 PostGIS学习教程十五:几何图形的有效性

对于多边形来说,有效性是最重要的,因为多边形定义了有界区域,需要很好的结构。线串非常简单,不会无效,点也不会无效。多边形有效性的一些规则很明显,而另一些规则是任意的。多边形的环必须闭合内环必须位于外环的内部环不能自相交(它们不能相互接触,也不能交叉)除了在某个点接触,环不能与其他环接触最后两条规则属于任意类别。定义多边形的其他规则也是自洽合理的,但是上面的规则是PostGIS所遵循的OGC SFSQL标准所定义的多边形有效性的规则。

2023-12-26 22:07:28 1584

原创 PostGIS学习教程十四:更多的空间连接

在上一节中,我们看到了ST_Centroid(geometry)和ST_Union([geometry])函数,以及一些简单的示例。在本节中,我们将用它们做一些更详细的事情。

2023-12-22 23:02:18 495

原创 PostGIS学习教程十三:几何图形创建函数

目前我们看到的所有函数都可以处理已有的几何图形并返回结果:分析几何图形(ST_Length(geometry), ST_Area(geometry))几何图形的序列化(ST_AsText(geometry), ST_AsGML(geometry))选取几何图形的某个部分(ST_RingN(geometry, n))true/false测试(ST_Contains(geometry, geometry), ST_Intersects(geometry, geometry))

2023-12-11 22:55:32 1689

原创 PostGIS学习教程十二:地理

坐标为"地理(geographics)“形式或者说是” 纬度(latitude)/经度(longitude)"形式的数据非常常见。与Mercator(墨卡托)、UTM(通用横轴墨卡托)、Stateplane中的坐标不同,地理坐标不是笛卡尔平面坐标(Cartesian coordinates)。地理坐标并不表示平面上与原点的线性距离,相反,这些球坐标描述了地球上的角坐标。在球坐标中,点由该点与参考子午线(经度)的旋转角度和该点与赤道的角度(纬度)指定。

2023-12-11 22:43:47 829

原创 PostGIS学习教程十一:投影数据

ST_SRID(geometry) —— 查看空间数据的坐标系ST_SetSRID(geometry,SRID) —— 设置空间数据的坐标系UpdateGeometrySRID(table_name, column_name, srid) —— 更新空间数据表的坐标系ST_Transform(geometry, srid) —— 转换空间数据的坐标系。

2023-12-07 21:47:53 1497

原创 PostGIS学习教程十:空间索引

回想一下,空间索引是空间数据库的三个关键特性之一。空间索引使得使用空间数据库存储大型数据集成为可能。在没有空间索引的情况下,对要素的任何搜索都需要对数据库中的每条记录进行"顺序扫描"。索引通过将数据组织到搜索树中来加快搜索速度,搜索树可以快速遍历以查找特定记录。空间索引是PostGIS的最大价值之一。在前面的示例中,构建空间连接需要对整个表进行相互比较。这样做的代价很高:连接两个各包含10000条记录的表(每个表都没有索引)将需要进行100000000次比较;

2023-12-05 22:25:14 687

原创 PostGIS学习教程九:空间连接

空间连接(spatial joins)是空间数据库的主要组成部分,它们允许你使用空间关系作为连接键(join key)来连接来自不同数据表的信息。我们认为“标准GIS分析”的大部分内容可以表示为空间连接。在上一节中,我们通过两个步骤探索了空间关系:首先,我们提取了’Broad St(宽街)'的地铁站点;然后,我们用这个地铁站点来问更多的问题,如"'Broad St’站位于哪个社区?我们本可以把每个地铁站都连接到它所在的社区,但在这种情况下,我们只想知道其中一个地铁站的信息。

2023-12-05 22:12:19 1725

原创 PostGIS学习教程八:空间关系

到目前为止,我们只使用了测量(ST_Area、ST_Length)、序列化(ST_GeomFromText)或者反序列化(ST_AsGML)几何图形(geometry)的空间函数。这些函数的共同之处在于它们一次只能处理一个几何图形。空间数据库之所以强大,是因为它们不仅能存储几何图形,而且还能够分析几何图形之间的关系。诸如"哪一个是离公园最近的自行车位?"或者"地铁线路和街道的交叉路口在哪里?"这样的问题,只能通过比较、分析表示自行车位、街道和地铁线路的几何图形来回答。

2023-11-30 21:53:53 2348

原创 PostGIS学习教程七:关于几何图形的练习

为了运行ST_NumInteriorRings(),我们需要将MultiPolygon几何图形转换为简单的多边形,因此,我们使用ST_GeometryN()从每个集合中提取第一个多边形。使用多多边形允许只有一种几何图形类型的表同时存储单(single-)几何图形和多(multi-)几何图形,而不必使用GeometryCollection类型。③纽约市(New York City)有多少个census blocks(人口普查块)多边形里有孔洞(内环)?(提示:空间数据的测量单位是米,每公里有1000米)

2023-11-15 22:09:29 725

原创 PostGIS学习教程六:几何图形(geometry)

在前面的章节中,我们已经往数据库中加载了数据,现在让我们来先看一些简单的例子。在pgAdmin中,再次选择nyc数据库并打开SQL查询工具。将下面的SQL代码粘贴到pgAdmin SQL Editor窗口中(删除默认情况下可能存在的任何文本),然后执行。上面的示例创建了一个表(geometries),然后向该表中插入5个几何图形数据(geometry):一个点(POINT)一条线(LINESTRING)一个多边形(POLYGON)

2023-11-15 16:45:09 3636

原创 PostGIS学习教程五:简单的SQL语句

SQL,或"Structured Query Language-结构化查询语言",是对关系数据库进行查询数据和更新数据的一种方法。查看PostGIS的版本信息。在前面的章节中,我们已经将数据加载到数据库中,现在让我们使用SQL来查询数据!例如:“查看纽约市所有社区的名字?通过单击SQL按钮在pgAdmin中打开SQL查询窗口:并点击执行查询按钮:查询将运行几毫秒并返回129个结果:但这个过程中到底发生了什么?

2023-11-15 09:12:55 655

原创 PostGIS学习教程四:数据

教程的数据是有关纽约市的四个shapefile文件和一个包含社会人口经济数据的数据表。在前面一节我们已经将shapefile加载为PostGIS表,在后面我们将添加社会人口经济数据。下面描述了每个数据集的记录数量和表属性。这些属性值和关系是我们以后分析的基础。要在pgAdmin中浏览表的性质或属性,请在高亮显示的表上单击鼠标右键,然后选择属性(property)。

2023-11-14 20:31:55 453

原创 PostGIS学习教程三:加载空间数据

你可能会问 —— “shapefile是什么?一个"shapefile"通常指带有.shp、.shx、.dbf和其他扩展名且前缀名称一致的文件集合。例如上面的nyc_census_blocks由以下几个文件组成:一个shapfile必须有的文件:.shp —— 存储地理要素的几何信息.shx —— 存储要素几何图形的索引信息.dbf —— 存储地理要素的属性信息(非几何信息)可选文件包括:.prj —— 存储空间参考信息,即地理坐标系统信息和投影坐标系统信息。

2023-11-14 20:12:14 887

原创 PostGIS学习教程二:PostGIS安装和创建空间数据库

在安装PostGIS前首先必须安装PostgreSQL,然后在安装好的Stack Builder中选择安装PostGIS组件。PostgreSQL安装文件下载地址是https://www.enterprisedb.com/downloads/postgres-postgresql-downloads这里使用的PostgreSQL版本是9.6。双击下载的文件,所有设置都使用默认设置即可,只是需要设置超级用户postgres的密码。

2023-11-13 14:02:12 1575

原创 PostGIS学习教程一:PostGIS介绍

PostgreSQL是一个强大的对象关系数据库管理系统(ORDBMS)。它是在BSD风格的许可下发布的,因此是自由和开放源代码的软件。和许多其他开源程序一样,PostgreSQL不是由任何一家公司控制、运维的,而是有一个由众多开发人员和公司组成的全球社区来开发它。PostgreSQL从一开始就考虑到类型扩展 —— 能够在运行时添加新的数据类型、函数和访问方法的机制。正因为如此,PostGIS扩展可以由单独的开发团队开发,但仍然可以非常紧密地集成到PostgreSQL数据库中。

2023-11-13 10:29:41 1235

chinese_L-12_H-768_A-12.zip

人工智能—机器学习—深度学习—自然语言处理(NLP)——BERT中文预训练模型,使用绝大部分场景,不同领域也可使用

2020-07-08

空空如也

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

TA关注的人

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