自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 收藏
  • 关注

原创 Thymeleaf 与 Shrio 的整合

用户已经身份验证通过,即没有调用 Subject.login 进行登录,包括记住我自动登录的也属于未进行身份验证。用户已经身份验证通过,即 Subject.login 登录成功,不是记住我登录的。如果当前 Subject 有任意一个角色(或的关系)将显示 body 体内容。如果当前 Subject 没有权限将显示 body 体内容。如果当前 Subject 没有角色将显示 body 体内容。如果当前 Subject 有角色将显示 body 体内容。如果当前 Subject 有权限将显示 body 体内容。

2024-05-08 16:40:46 147

原创 Spring MVC Thymeleaf在一个表单中的多个提交按钮

使用th:formactionon submit button这是工作在多少你有submit button和这也是usefull给予更多的链接到一个表单与不同的submit button。您可以使用params变量创建具有不同@RequestMappings的单独方法。对于多个提交按钮,下面的方法对我很有效。* 注意:th:取消按钮中的格式操作。今天遇见一个form需要两个button提交显示不同Controller的需求。

2024-03-27 17:23:01 710

原创 JavaSE+JDBC进行控制台输出的客户管理系统! (实训/课堂实践推荐)

利用JavaSE技术,进行控制台输出的客户管理系统!主要功能让包含客户展示,客户删除,客户添加,客户修改,退出系统!

2024-03-27 17:21:01 986

原创 MySQL的主从复制

主从复制是指将主数据库的 DDL 和 DML 操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。MySQL支持一台主库同时向多台从库进行复制, 从库同时也可以作为其他从服务器的主库,实现链状复制。MySQL 复制的优点主要包含以下三个方面:主库出现问题,可以快速切换到从库提供服务。实现读写分离,降低主库的访问压力。可以在从库中执行备份,以避免备份期间影响主库服务。

2024-01-23 16:25:45 884

原创 SQL性能分析-整理

索引知识固然很重要,但引入运用到实际工作中更重要。以及参考百度/CSDN/尚硅谷/黑马程序员/阿里云开发者社区,我个人把SQL性能分析的知识再整理了一下,学就要学彻底,事不宜迟,直接进入正题吧。

2024-01-12 17:55:29 1318 2

原创 MySQL-索引回顾

索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。表结构及其数据如下:假如我们要执行的SQL语句为 :1). 无索引情况在无索引情况下,就需要从第一行开始扫描,一直扫描到最后一行,我们称之为 全表扫描,性能很低。2). 有索引情况。

2024-01-11 21:13:20 982

原创 MySQL的三种存储引擎 InnoDB、MyISAM、Memory

InnoDB是一种兼顾高可靠性和高性能的通用存储引擎,在 MySQL 5.5 之后,InnoDB是默认的MySQL 存储引擎。MyISAM是MySQL早期的默认存储引擎。Memory引擎的表数据时存储在内存中的,由于受到硬件问题、或断电问题的影响,只能将这些表作为临时表或缓存使用。

2024-01-11 16:10:10 1140 1

原创 net stop mysql80 发生系统错误 -拒绝访问

此报错0基础小白都可以看明白直接进行解决,但确实也是个报错,还是记录一下。以管理员身份运行CMD即可。

2024-01-09 10:52:53 535 1

原创 解决Hive在DataGrip 中注释乱码问题

COLUMNS_V2 表中的 COMMENT 字段存储了 Hive 表所有字段的注释,TABLE_PARAMS 表中的 PARAM_VALUE 字段存储了所有表的注释。数据库中的字符都是通过编码存储的,写入时编码,读取时解码。修改字段编码并不会改变此前数据的编码方式,依然为默认的 latin1,此时读取之前的中文注释会用 utf8 解码,编解码方式不一致,依然乱码。不建议修改Hive元数据库的编码,此处我们在metastore中找存储注释的表,找到表中存储注释的字段,只改对应表对应字段的编码。

2023-12-28 17:02:57 1573 1

原创 记一次Maxwell出现Communications link failure

4、如果以上步骤都没有解决问题,可以尝试使用数据库提供商的官方驱动程序来替换当前的驱动程序,或者升级现有的驱动程序版本。2、如果数据库服务器正在运行并且网络连接良好,请检查防火墙设置,确保端口号正确开放。但是该报错很明显就是驱动的问题,省略前3步,直接更换适配的驱动。1、确认数据库服务器是否正在运行,并且网络连接是正常的。3、确认数据库连接URL、用户名、密码等参数是否正确。很直观的可以看出来连接不上MySQL。cd 进入Maxwell的lib目录。遇见这类问题可以依次排查。

2023-12-28 14:56:13 491

原创 搞定Apache Superset

Apache Superset是一个现代的数据探索和可视化平台。它功能强大且十分易用,可对接各种数据源,包括很多现代的大数据分析引擎,拥有丰富的图表展示形式,并且支持自定义仪表盘。特别注意:下面的教程所使用的服务器操作系统为CentOS 7,Superset对接的数据源为MySQL数据库。

2023-12-27 15:49:13 849

原创 Your password does not satisfy the current policy requirements

3、当前密码长度为 8 ,如果不介意的话就不用修改了,按照通用的来讲,设置为 6 位的密码,设置 validate_password_length 的全局参数为 6 即可,输入设值语句 “ set global validate_password_length=6;2.首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可,输入设值语句 “ set global validate_password_policy=LOW;

2023-12-27 11:07:43 484

原创 There are 4 missing blocks. The following files may be corrupted

因为我的环境为测试环境,可删除缺失文件,生产环境还需要斟酌判断。确实各自都丢失了1个Block, 文件已经损坏,不可恢复。

2023-12-27 09:20:59 187

原创 truncate 命令清空一个数据库中的表

复制truncate语句到mysql命令行执行,可以一次复制多条执行。1.先执行select语句生成所有truncate语句。2.复制truncate语句到mysql命令行执行。

2023-12-26 15:39:45 136

原创 hdfs.DataStreamer: Exception in createBlockOutputStream XXXXX

该报错比较简单,直观的看就是防火墙没关。禁止firewall开机启动。停止firewall。

2023-12-23 23:15:52 480

原创 WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER.

原因是Hadoop安装配置于root用户下,对文件需要进一步的配置,应该是由于新版Hadoop这个配置的参数更新了,所以出现了警告。只需将参数更新即可。Hadoop启动时警告,但不影响使用,强迫症的我还是决定寻找解决办法。需要更新的文件:start-dfs.sh、stop-dfs.sh。

2023-12-23 23:15:20 763

原创 Doris-Routine Load(二十七)

例行导入(Routine Load)功能为用户提供了一种自动从指定数据源进行数据导入的功能。

2023-11-27 15:53:15 584 1

原创 Doris-Stream Load(二十六)

Stream load 是一个同步的导入方式,用户通过发送 HTTP 协议发送请求将本地文件或数据流导入到 Doris 中。Stream load 同步执行导入并返回导入结果。用户可直接通过请求的返回体判断本次导入是否成功。

2023-11-27 15:52:32 145

原创 Doris-导入示例(二十五)

主要显示了当前导入任务参数,也就是创建 Broker load 导入任务时用户指定的导入任务参数,包括:cluster,timeout 和 max_filter_ratio。该行数仅用于展示当前的进度,不代表最终实际的处理行数。如果所有导入表均完成导入,此时 LOAD 的进度为 99% 导入进入到最后生效阶段,整个导入完成后,LOAD 的进度才会改为 100%。这几个值分别代表导入创建的时间,ETL 阶段开始的时间,ETL 阶段完成的时间,Loading 阶段开始的时间和整个导入任务完成的时间。

2023-11-27 15:51:56 176

原创 Doris-Broker Load(二十四)

数据的合并类型,一共支持三种类型 APPEND、DELETE、MERGE 其中,APPEND 是默认值,表示这批数据全部需要追加到现有数据中,DELETE 表示删除与这批数据 key 相同的所有行,MERGE 语义 需要与 delete 条件联合使用,表示满足 delete 条件的数据按照DELETE 语义处理其余的按照 APPEND 语义处理。用户在提交导入任务后,FE 会生成对应的 Plan 并根据目前 BE 的个数和文件的大小,将 Plan 分给多个 BE 执行,每个 BE 执行一部分导入数据。

2023-11-27 15:51:08 70

原创 Doris-数据导入 (二十三)

导入(Load)功能就是将用户的原始数据导入到 Doris 中。导入成功后,用户即可通过Mysql 客户端查询数据。为适配不同的数据导入需求,Doris 系统提供了 6 种不同的导入方式。每种导入方式支持不同的数据源,存在不同的使用方式(异步,同步)。所有导入方式都支持 csv 数据格式。其中 Broker load 还支持 parquet 和 orc 数据格式。

2023-11-27 15:50:26 115

原创 Doris-删除数据(Delete)(二十二)

Doris 目前可以通过两种方式删除数据:DELETE FROM 语句和 ALTER TABLE DROP PARTITION 语句。

2023-11-27 15:49:46 1969

原创 Doris-修改表(二十一)

使用 ALTER TABLE 命令可以对表进行修改,包括 partition 、rollup、schema change、rename 和 index 五种。

2023-11-24 15:13:28 254

原创 Doris中物化视图-案例(二十)

参考上篇: Doris中的物化视图-查询1)创建一个 Base 表插入数据2)基于这个 Base 表的数据提交一个创建物化视图的任务3)检查物化视图是否构建完成由于创建物化视图是一个异步的操作,用户在提交完创建物化视图任务后,需要异步的通过命令检查物化视图是否构建完成。查看 Base 表的所有物化视图4)检验当前查询是否匹配到了合适的物化视图5)删除物化视图语法假设用户的原始广告点击数据存储在 Doris,那么针对广告 PV, UV 查询就可以通过创建 bitmap_union 的物化视图来提升

2023-11-24 15:12:39 143

原创 Doris中的物化视图-查询(十九)

物化视图创建完成后,用户的查询会根据规则自动匹配到最优的物化视图。比如我们有一张销售记录明细表,并且在这个明细表上创建了三张物化视图。一个存储了不同时间不同销售员的售卖量,一个存储了不同时间不同门店的销售量,以及每个销售员的总销售量。当查询7月19日,各个销售员都买了多少钱的话。就可以匹配 mv_1 物化视图。直接对 mv_1 的数据进行查询。

2023-11-24 15:11:51 217

原创 Doris中的物化视图(十八)

物化视图就是包含了查询结果的数据库对象,可能是对远程数据的本地 copy,也可能是一个表或多表 join 后结果的行或列的子集,也可能是聚合后的结果。说白了,就是预先存储查询结果的一种数据库对象。在 Doris 中的物化视图,就是查询结果预先存储起来的特殊的表。物化视图的出现主要是为了满足用户,既能对原始明细数据的任意维度分析,也能快速的对固定维度进行分析查询。

2023-11-24 15:10:47 131

原创 ROLLUP 的几点说明(十七)

ROLLUP 最根本的作用是提高某些查询的查询效率(无论是通过聚合来减少数据量,还是修改列顺序以匹配前缀索引)。ROLLUP 是附属于 Base 表的,可以看做是 Base 表的一种辅助数据结构。用户可以在 Base 表的基础上,创建或删除 ROLLUP,但是不能在查询中显式的指定查询某ROLLUP。查询能否命中 ROLLUP 的一个必要条件(非充分条件)是,查询所涉及的所有列(包括 select list 和 where 中的查询条件列等)都存在于该 ROLLUP 的列中。用户无需关心这个问题。

2023-11-24 15:10:03 98

原创 Duplicate 模型中的 ROLLUP(十六)

因为 Duplicate 模型没有聚合的语意。所以该模型中的 ROLLUP,已经失去了“上卷”这一层含义。而仅仅是作为调整列顺序,以命中前缀索引的作用。下面详细介绍前缀索引,以及如何使用 ROLLUP 改变前缀索引,以获得更好的查询效率。

2023-11-24 15:09:23 115

原创 Doris中的Rollup(十五)

ROLLUP 在多维分析中是“上卷”的意思,即将数据按某种指定的粒度进行进一步聚合。在 Doris 中,我们将用户通过建表语句创建出来的表称为 Base 表(Base Table)。Base 表中保存着按用户建表语句指定的方式存储的基础数据。在 Base 表之上,我们可以创建任意多个 ROLLUP 表。这些 ROLLUP 的数据是基于 Base 表产生的,并且在物理上是独立存储的。ROLLUP 表的基本作用,在于在 Base 表的基础上,获得更粗粒度的聚合数据。

2023-11-22 17:20:28 129

原创 Doris动态分区(十四)

动态分区是在 Doris 0.12 版本中引入的新功能。旨在对表级别的分区实现生命周期管理(TTL),减少用户的使用负担。目前实现了动态添加分区及动态删除分区的功能。动态分区只支持 Range 分区。

2023-11-22 17:15:35 236

原创 Doris数据模型的选择建议(十三)

Doris 的数据模型主要分为 3 类:Aggregate、Uniq、DuplicateAggregate:因为数据模型在建表时就已经确定,且无法修改。所以,选择一个合适的数据模型非常重要。(1)Aggregate 模型可以通过预聚合,极大地降低聚合查询时所需扫描的数据量和查询的计算量,非常适合有固定模式的报表类查询场景。但是该模型对count(*)查询很不友好。同时因为固定了 Value 列上的聚合方式,在进行其他类型的聚合查询时,需要考虑语意正确性。

2023-11-22 15:48:39 533

原创 Doris 数据模型-Duplicate 模型(十二)

Doris 的数据模型主要分为 3 类:Aggregate、Uniq、DuplicateAggregate:在某些多维分析场景下,数据既没有主键,也没有聚合需求。Duplicate 数据模型可以满足这类需求。数据完全按照导入文件中的数据进行存储,不会有任何聚合。即使两行数据完全相同,也都会保留。而在建表语句中指定的 DUPLICATE KEY,只是用来指明底层数据按照那些列进行排序。

2023-11-22 15:47:13 150

原创 Doris 数据模型-Uniq 模型(十一)

Doris 的数据模型主要分为 3 类:Aggregate、Uniq、DuplicateAggregate:在某些多维分析场景下,用户更关注的是如何保证 Key 的唯一性,即如何获得 Primary Key 唯一性约束。因此,我们引入了 Uniq 的数据模型。该模型本质上是聚合模型的一个特例,也是一种简化的表结构表示方式。

2023-11-22 15:46:35 161

原创 Doris 数据模型-Aggregate 模型(十)

Doris 的数据模型主要分为 3 类:Aggregate、Uniq、Duplicate表中的列按照是否设置了 AggregationType,分为 Key(维度列)和 Value(指标列)。没有设置 AggregationType 的称为 Key,设置了 AggregationType 的称为 Value。当我们导入数据时,对于 Key 列相同的行会聚合成一行,而 Value 列会按照设置的AggregationType 进行聚合。

2023-11-22 14:54:14 138

原创 Doris的PROPERTIES与ENGINE(九)

每个 Tablet 的副本数量。默认为 3,建议保持默认即可。在建表语句中,所有 Partition 中的 Tablet 副本数量统一指定。而在增加新分区时,可以单独指定新分区中 Tablet 的副本数量。副本数量可以在运行时修改。强烈建议保持奇数。最大副本数量取决于集群中独立 IP 的数量(注意不是 BE 数量)。Doris 中副本分布的原则是,不允许同一个 Tablet 的副本分布在同一台物理机上,而识别物理机即通过 IP。

2023-11-22 14:52:41 485

原创 Doris分区与分桶(八)

接上篇----------Doris 支持两层的数据划分。第一层是 Partition,支持 Range 和 List 的划分方式。第二层是 Bucket(Tablet),仅支持 Hash 的划分方式。也可以仅使用一层分区。使用一层分区时,只支持 Bucket 划分。

2023-11-22 14:49:55 634

原创 Doris 建表示例(七)

以 AGGREGATE KEY 数据模型为例进行说明。更多数据模型参阅 Doris 数据模型。列的基本类型,可以通过在 mysql-client 中执行 HELP CREATE TABLE;查看。AGGREGATE KEY 数据模型中,所有没有指定聚合方式(SUM、REPLACE、MAX、MIN)的列视为 Key 列。而其余则为 Value 列。定义列时,可参照如下建议:Key 列必须在所有 Value 列之前。尽量选择整型类型。因为整型类型的计算和查找比较效率远高于字符串。

2023-11-22 14:48:46 168

原创 Doris扩容和缩容(六)

Doris 可以很方便的扩容和缩容 FE、BE、Broker 实例。

2023-11-22 09:46:44 189

原创 Doris部署 FS_Broker(五)

Broker 以插件的形式,独立于 Doris 部署。如果需要从第三方存储系统导入数据,需要部署相应的 Broker,默认提供了读取 HDFS、百度云 BOS 及 Amazon S3 的 fs_broker。fs_broker 是无状态的,建议每一个 FE 和 BE 节点都部署一个 Broker。

2023-11-22 09:28:28 192

原创 Doris-集群部署(四)

storage_root_path 默认在 be/storage 下,需要手动创建该目录。生产环境强烈建议单独指定目录不要放在 Doris 安装目录下,最好是单独的磁盘(如果有 SSD 最好)。如果机器有多个 ip, 比如内网外网, 虚拟机 docker 等, 需要进行 ip 绑定,才能正确识别。如果机器有多个 IP, 比如内网外网, 虚拟机 docker 等, 需要进行 IP 绑定,才能正确识别。2)修改可打开文件数(每个节点)(前面的'*'也需要复制)1)启动 BE(每个节点)2)查看 BE 状态。

2023-11-22 09:20:16 123

空空如也

空空如也

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

TA关注的人

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