当前位置: 首页 > news >正文

Hive详细讲解-概述与环境搭建

文章目录

    • 1.Hive概述
      • 1.2.Hive架构原理
      • 1.3Driver
    • 2.Hive最小化模式安装部署
    • 3.生产环境hive安装部署
    • 4.将hive的元数据存储到Mysql
    • 5.元数据库概述
    • 6.Hive服务的部署
      • 6.1HiveServer2
      • 6.2Metastore
    • 7.HiveServer2使用
      • 7.1Metastore嵌入模式配置
      • 7.2Metastore独立模式配置*
    • 8.hive常用的参数配置方式
    • 9.hive人性化配置
      • 1.客户端显示当前库和表头
      • 2.配置hive日志文件路径
      • 3.关于JVM堆内存的配置

1.Hive概述

hive时 hadoop一个数据仓库工具,可以将结构化数据映射为一张表,并提供SQL查询功能。

  • Hive本质

在这里插入图片描述

重点:

hive会将用户使用的sql语句转换为MR程序。

由于最终运行程序还是在yarn上,因此hive也是yarn的客户端。

1.2.Hive架构原理

在这里插入图片描述

  • Metastore指的是元数据访问接口

  • Metastore只提供元数据访问接口,不提供元数据

  • HiveServer2提供JDBC或ODBC访问接口,或用户认证相关信息

  • HiveCLI只能在安装hive的本地机器使用,命令行客户端

  • Hive组件之间交互过程

在这里插入图片描述

Driver的运行逻辑就是将用户sql语句转化为MR计算程序;

此外driver编译sql语句需要用到元数据信息

若使用是select查询语句,那么hive客户端会拉取到最终的查询语句到客户端进行展示给用户。

1.3Driver

(1)解析器(SQLParser):将SQL字符串转换成抽象语法树(AST)

(2)语义分析(Semantic Analyzer):将AST进一步划分为QeuryBlock

获取hive中的元数据信息,将其赋值给QeuryBlock

将第一个AST进一步划分为 QeuryBlock

(3)逻辑计划生成器(Logical Plan Gen):将语法树生成逻辑计划

将语法树生产单一的逻辑计划组合

(4)逻辑优化器(Logical Optimizer):对逻辑计划进行优化

(5)物理计划生成器(Physical Plan Gen):根据优化后的逻辑计划生成物理计划

(6)物理优化器(Physical Optimizer):对物理计划进行优化Map join

(7)执行器(Execution):执行该计划,得到查询结果并返回给客户端

抽象语法树AST如下所示:

在这里插入图片描述

  • 每一个token表示每一个节点

逻辑计划如下所示:

在这里插入图片描述

2.Hive最小化模式安装部署

  • 最小化模式会将数据保存在derby数据库中部署如下所示

  • 前置条件-安装hadoop集群3.1.3

在这里插入图片描述

  • 上传hive安装包,尚硅谷给的资料有

在这里插入图片描述

  • 解压到module

  • 添加环境变量

在这里插入图片描述

etc/profile.d/my_env.sh

  • 初始化元数据库默认是derby数据库
/schematool -dbType derby -initSchema
  • 初始化完成后出现metastore_db就是存储数据的文件夹

在这里插入图片描述

  • 当前hive初始化完成,能够使用的就是CLI客户端,执行命令/bin/hive

在这里插入图片描述

  • 建表

在这里插入图片描述

建表是可以指定路径的,不指定则使用默认路径

默认存储user路径

在这里插入图片描述

在这里插入图片描述

路径存储到源数据库中

若我向stu表插入数据,那么hdfs该路径下出现该数据

  • 插入一条数据进行测试

在这里插入图片描述
在这里插入图片描述

刚刚程序没有向Yarn提交任务

最小化模式部署的问题

  • hive客户端最小化模式仅允许一个derby进程使用,也就是仅允许一个窗口开启hive

3.生产环境hive安装部署

derby数据库仅允许一个进程使用,生产环境一般将元数据使用Mysql数据库保存,这样允许多个客户端同时访问。解决了先前的问题。

  • mysql安装
    • 离线安装
    • 在线安装(集群节点可以连接外网)

将尚硅谷资料的两个包上传到hadoop102的software

在这里插入图片描述

  • 解压
tar -xf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
  • 删除centos7自带的软件包
sudo rpm -qa | grep mariadb | xargs sudo rpm -e --nodeps

在这里插入图片描述

  • 逐步安装mysql依赖
sudo rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm

在这里插入图片描述

pkgs.org

各种包下载地址

  • 启动mysql

在这里插入图片描述

  • mysql启动命令
sudo systemctl start mysqld
  • 第一次启动时查看mysql密码
sudo cat /var/log/mysqld.log | grep password

在这里插入图片描述

所有的mysql环境配置建议参考hive课程的MySQL部署

4.将hive的元数据存储到Mysql

4.1创建metastore源数据库放到mysql中

4.2将mysql的驱动拷贝到hive下的lib目录下

4.3hive中创建配置文件

4.4初始化hive源数据库

最终使用DG进行连接

在这里插入图片描述

在这里插入图片描述

元数据元数据就是存url的表

在这里插入图片描述

不论什么数据库,建表时候都存在默认路径。
而查询语句就是查询HDFS的路径的表,那么源数据库不论使用哪个,只要默认路径存在值,select就能查出来。

5.元数据库概述

  • DBS,保存hive源数据库的信息
  • TBLS,保存hive创建表的所有信息–跟表存储的相关信息存到SDS表中

在这里插入图片描述

  • COLUMNS_v2表示存储字段相关数据

6.Hive服务的部署

6.1HiveServer2

作用为用户提供一个jdbc、odbc的接口,供用户远程访问Hive数据的功能

在这里插入图片描述

  • HiveServer2部署前置条件,必须部署到能够往yarn提交任务,能够访问HDFS集群的节点上。
  • 用户发起一个sql语句,hiveserver2接收将任务提交yarn,yarn进行MR程序将结果返回给用户

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

未启用模拟用户效果:不论你使用任何客户端提交任务,HiveServer2提交任务的user都是Hiveserver启动用户atguigu。

若开启模拟用户:提交客户端提交任务user使用当前客户端用户。

在这里插入图片描述

生产环境:推荐开启用户模拟功能,开启权限之后,才能够保证各个用户之间的权限隔离。

A操作B表

C操作D表

.

.

.

  • Hive模拟用户权限配置在hadoop的core-site.xml中

在这里插入图片描述

注:上述配置完成后不要忘记分发core-sie.xml

  • 重启集群

    • hadoop103关闭yarn
    stop-yarn.sh
    
    • hadoop102关闭dfs
    stop-dfs.sh
    
  • hive端配置hiveserver2连接的host,指定hiveserver2连接的端口号

具体配置参考Hive3.1.3教程world

在这里插入图片描述

  • hiveserver2启动在bin下且是一个监听窗口,进程名为RunJar

在这里插入图片描述

  • 查看更详细的进程信息:
jps -ml

在这里插入图片描述

  • 使用nohub将监听进程挂载到后台使用,避免我们关闭ssh窗口连接的时候进程挂断。配合nohub一起使用的还有一个&
nohub bin/hiveserver2 &
  • 进一步将日志丢进垃圾箱1>/dev/null
nohub bin/hiveserver2 1>/dev/null &
  • linux每一个进程启动之后都会打开很多文件,每一个文件都有一个文件描述符

    • 0表示标准输入
    • 1表示标准输出
    • 2表示标准错误文件
    • 若省略数字,默认标准输出
    >/dev/null	#表示标准输出 == 1>/dev/null
    
    • 若1和2去的是同一个地址,那么标准输出可以简化
    x nohub bin/hiveserver2 1>/dev/null 2>&1 &
    
    • 2>&1等价2>/dev/null,因为2和1去的地址相同。

6.2Metastore

Metastore的作用是提供Hive CLI的元数据访问接口

  • MetasTore运行模式

  • 1.嵌入式模式

在这里插入图片描述

嵌入式模式,是所有的CLI,HiveServer2直接访问Mysql元数据库

  • 2.独立模式

在这里插入图片描述

独立模式,Metastore成为一个代理,所有客户统统访问代理即可,代理来进行访问元数据库,这样的好处:这样Metastore可以作为消息队列的作用,当数据量过载,Metasotre可以很好的减缓数据库压力。

7.HiveServer2使用

  • 本案例使用DataGrip数据库管理工具连接hiveserver2

在这里插入图片描述

端口默认10000

修改name,其他密码没有设置不用填没事

7.1Metastore嵌入模式配置

在这里插入图片描述

  • 嵌入模式也就是所有客户直接和mysql交互,因此直接配置url、driver、username、passwor即可。这些参数配置在hive-site.xml,此外,详细配置 参考hive文档。

7.2Metastore独立模式配置*

  • 生产环境重点

在这里插入图片描述

  • 独立模式所有的客户配置metastore地址即可,metastore配置jdbc客户端即可。

  • Metastore服务地址配置,端口号默认9083

在这里插入图片描述

将hive-site.xml中jdbc驱动信息修改为上述即可由嵌入模式转换为独立模式,

metastore节点仅需要在hive-site.xml配置jdbc即可

metastore启动命令

hive --service metastore
  • 若hive-site.xml同时配置了metastore地址和jdbc参数,那么优先访问MetaStore。

记忆方法:企业开发为Metastore独立模式运行

我们练习使用:嵌入模式,hadoop102为metastore,hiveserver2地址

关于离线数仓,一般使用脚本方式,非交互式使用模式,定期执行hive命令

  • 非交互式命令

太他妈熟悉了

hive -e "sql命令"

非交互式一般用在脚本中定时执行的命令,该命令执行完毕后,直接进行进程释放,不占用资源,离线数仓就是该设计。

hive -f file.sql
  • 若sql过多可以撰写sql文件,使用非交互式命令hive -f f表示file

8.hive常用的参数配置方式

  • 默认配置

在这里插入图片描述

在这里插入图片描述

  • 命令行参数配置

仅对本次启动有效

bin/hive -hiveconf	要配置的参数=配置值

在这里插入图片描述

客户端CLI内部配置

在这里插入图片描述

9.hive人性化配置

  • 所有配置在hive-site.xml

1.客户端显示当前库和表头

<property><name>hive.cli.print.header</name><value>true</value><description>Whether to print the names of the columns in query output.</description>
</property>
<property><name>hive.cli.print.current.db</name><value>true</value><description>Whether to include the current database in the Hive prompt.</description>
</property>

在这里插入图片描述

在这里插入图片描述

2.配置hive日志文件路径

hive-log4j2.properties文件在conf下,原先 是template,你可以将后缀去掉再更改。

hive-log4j2.properties文件进行配置

在这里插入图片描述

默认日志文件路径存储到temp/hive启动用户名下

hive.log文件

3.关于JVM堆内存的配置

  • hive启动时默认堆内存申请256M

先将文件更名

mv hive-env.sh.template hive-env.sh

在这里插入图片描述

在这里插入图片描述

相关文章:

Hive详细讲解-概述与环境搭建

文章目录 1.Hive概述1.2.Hive架构原理1.3Driver 2.Hive最小化模式安装部署3.生产环境hive安装部署4.将hive的元数据存储到Mysql5.元数据库概述6.Hive服务的部署6.1HiveServer26.2Metastore 7.HiveServer2使用7.1Metastore嵌入模式配置7.2Metastore独立模式配置* 8.hive常用的参…...

【算法】数论基础——约数个数定理、约数和定理 python

目录 前置知识约数约数个数定理约数和定理实战演练总结 前置知识 需要掌握&#xff1a;唯一分解定理&#xff08;算术基本定理&#xff09; 约数 约数&#xff0c;即因数&#xff0c;定义为&#xff1a; 如果一个整数a可以被另一个整数b整除&#xff08;即 a mod b 0),那么b就…...

【阅读笔记】基于整数+分数微分的清晰度评价算子

本文介绍的是一种新的清晰度评价算子&#xff0c;整数微分算子分数微分算子 一、概述 目前在数字图像清晰度评价函数中常用的评价函数包括三类&#xff1a;灰度梯度评价函数、频域函数和统计学函数&#xff0c;其中灰度梯度评价函数具有计算简单&#xff0c;评价效果好等优点…...

【技术】TensorRT 10.7 安装指南(Ubuntu22.04)

原文链接&#xff1a;https://mengwoods.github.io/post/tech/008-tensorrt-installation/ 本文安装的版本如下&#xff1a; Ubuntu 22.04 Nvidia Driver 538.78 CUDA 12.2 cuDNN 8.9.7 TensorRT 10.7 安装前的准备&#xff08;可选&#xff09; 在安装新版本之前&#xf…...

Linux权限有关

文章目录 一、添加普通用户二、Xshell下命令行的知识三、 Linux和Windows操作系统四、再探指令和Linux权限五、用户相关用户切换: 今天我们学习与Linux有关的权限等内容&#xff0c;以及一些零碎知识帮助我们理解Linux的系统和Xshell的原理。 本篇是在Xshell环境下执行的。 一…...

vue router路由复用及刷新问题研究

路由复用问题 当路由匹配路径未发生变化时&#xff0c;只是相关的参数发生了变化&#xff0c;路由跳转时&#xff0c;会发现虽然地址栏中的地址更新到了新的链接&#xff0c;但是页面渲染并未触发响应路由组件的created,mounted等钩子函数&#xff0c;也就意味着组件并没有被重…...

XML实体注入漏洞攻与防

JAVA中的XXE攻防 回显型 无回显型 cve-2014-3574...

【论文阅读】RT-SKETCH: GOAL-CONDITIONED IMITATION LEARNING FROM HAND-DRAWN SKETCHES

RT-Sketch&#xff1a;基于手绘草图的目标条件模仿学习 摘要&#xff1a;在目标条件模仿学习&#xff08;imitation learning&#xff0c;IL&#xff09;中&#xff0c;自然语言和图像通常被用作目标表示。然而&#xff0c;自然语言可能存在歧义&#xff0c;图像则可能过于具体…...

27. 【.NET 8 实战--孢子记账--从单体到微服务】--简易报表--报表服务

报表是每个记账应用所具备的功能&#xff0c;要实现报表功能就需要把账本的核心功能&#xff08;记账&#xff09;完成&#xff0c;因此报表服务作为本专栏第一部分单体应用开发中最后一个要实现的功能&#xff0c;这一篇文章很简单&#xff0c;我们一起来实现一个简单的报表服…...

LeetCode - #194 Swift 实现文件内容转置

网罗开发 &#xff08;小红书、快手、视频号同名&#xff09; 大家好&#xff0c;我是 展菲&#xff0c;目前在上市企业从事人工智能项目研发管理工作&#xff0c;平时热衷于分享各种编程领域的软硬技能知识以及前沿技术&#xff0c;包括iOS、前端、Harmony OS、Java、Python等…...

【全栈】SprintBoot+vue3迷你商城(9)

【全栈】SprintBootvue3迷你商城&#xff08;9&#xff09; 往期的文章都在这里啦&#xff0c;大家有兴趣可以看一下 后端部分&#xff1a; 【全栈】SprintBootvue3迷你商城&#xff08;1&#xff09; 【全栈】SprintBootvue3迷你商城&#xff08;2&#xff09; 【全栈】Spr…...

ThreeJS示例教程200+【目录】

Three.js 是一个强大的 JavaScript 库,旨在简化在网页上创建和展示3D图形的过程。它基于 WebGL 技术,但提供了比直接使用 WebGL 更易于使用的API,使得开发者无需深入了解 WebGL 的复杂细节就能创建出高质量的3D内容。 由于目前内容还不多,下面的内容暂时做一个占位。 文章目…...

《边界感知的分而治之方法:基于扩散模型的无监督阴影去除解决方案》学习笔记

paper&#xff1a;Boundary-Aware Divide and Conquer: A Diffusion-Based Solution for Unsupervised Shadow Removal 目录 摘要 1、介绍 2、相关工作 2.1 阴影去除 2.2 去噪扩散概率模型&#xff08;Denoising Diffusion Probabilistic Models, DDPM&#xff09; 3、方…...

PyCharm+RobotFramework框架实现UDS自动化测试- (四)项目实战0x10

1.环境搭建 硬件环境&#xff1a;CANoe、待测设备&#xff08;包含UDS诊断模块&#xff09; 2.pythonPyCharm环境 pip install robotframework pip install robotframework-ride pip install openpyxl pip install udsoncan pip install python-can pip install can-isotp3…...

基于java实现规则引擎设计思路

背景 去年底换了公司&#xff0c;目前在做HR招聘系统&#xff0c;产品要求:管理端手动配置发布招聘要求(支持多个招聘条件AND与OR关系编排)&#xff1b;当C端用户报名该职位时&#xff0c;系统执行该规则&#xff0c;返回报名成功或失败。根据技术调研&#xff0c;采用db存规则…...

TCP协议:互联网数据传输的守护者

在互联网的浩瀚海洋中&#xff0c;数据如同涓涓细流&#xff0c;无时无刻不在流动。而这些数据的稳定、可靠传输&#xff0c;离不开一个重要的协议——TCP&#xff08;Transmission Control Protocol&#xff0c;传输控制协议&#xff09;。TCP协议作为互联网协议族中的核心成员…...

2025美国大学生数学建模竞赛(美赛)B题完整思路分析论文(35页)(含模型、可运行代码和运行结果)

2025美国大学生数学建模竞赛B题完整思路分析论文 目录 摘要 一、问题重述 二、问题分析 三、模型假设 四、模型建立与求解 4.1问题1 4.1.1问题1思路分析 4.1.2问题1模型建立 4.1.3问题1样例代码&#xff08;仅供参考&#xff09; 4.1.4问题1样例代码运行结…...

InceptionV1_V2

目录 不同大小的感受野去提取特征 经典 Inception 网络的设计思路与运行流程 背景任务&#xff1a;图像分类&#xff08;以 CIFAR-10 数据集为例&#xff09; Inception 网络的设计思路 Inception 网络的运行流程 打个比方 多个损失函数的理解 1. 为什么需要多个损失函数&#…...

面向对象设计原则

面向对象最大的优势是抵御变化 理解隔离变化&#xff1a; 从宏观面来看&#xff0c;面向对象构建方式更能适应软件的变化&#xff0c;能将变化所带来的影响减为最少。 各司其职&#xff1a;从微观层面来看&#xff0c;面向对象的方式更强调各个类的责任。由于需求变化导致的新…...

近年流行的开发技术

Web 开发领域 前端技术 HTML5、CSS3 和 JavaScript HTML5&#xff1a;作为网页结构的基础&#xff0c;引入了新的语义化标签&#xff08;如<header>、<nav>、<article>等&#xff09;&#xff0c;增强了网页的可读性和搜索引擎优化效果&#xff0c;同时支持…...

Go语言中的Select

Select 在 Go 语言中&#xff0c;select 是一种用于处理多个通道操作的控制结构。它允许你同时监听多个通道上的通信操作&#xff08;发送或接收&#xff09;&#xff0c;并根据哪个操作先完成来执行相应的代码块。select 是 Go 并发编程中的一个重要工具&#xff0c;常用于实…...

SQL调优讨论

说明&#xff1a;狭义的SQL调优&#xff0c;指对慢SQL&#xff08;一般是Select语句&#xff0c;或包含Select的语句&#xff09;优化&#xff0c;在不改变查询结果的情况下提高SQL执行效率。广义上的SQL调优&#xff0c;指对某个慢查询优化&#xff0c;通过一些类操作提高查询…...

【STM32】-TTP223B触摸开关

前言 本文章旨在记录博主STM32的学习经验&#xff0c;我自身也在不断的学习当中&#xff0c;如果文章有写的不对的地方&#xff0c;欢迎各位大佬批评指正。 准备工作 今天这篇文章介绍的是触摸开关这一外围硬件。 ST-link调试器STM32最小系统板单路TTP223B触摸传感器模块LE…...

华为数据之道-读书笔记

内容简介 关键字 数字化生产 已经成为普遍的商业模式&#xff0c;其本质是以数据为处理对象&#xff0c;以ICT平台为生产工具&#xff0c;以软件为载体&#xff0c;以服务为目的的生产过程。 信息与通信技术平台&#xff08;Information and Communication Technology Platf…...

Zookeeper(28)Zookeeper的线性化写入和顺序一致性读是什么?

Zookeeper 是一个分布式协调服务&#xff0c;它在设计上提供了强一致性的保证&#xff0c;其中包括线性化写入和顺序一致性读。这两种一致性模型确保了在分布式系统中数据的一致性和操作的确定性。 线性化写入&#xff08;Linearizable Writes&#xff09; 线性化写入保证在任…...

Ubuntu安装GitLab

在 Ubuntu 上安装 GitLab 的步骤如下。这里以 GitLab Community Edition&#xff08;CE&#xff09;为例&#xff1a; 前提条件 确保你的 Ubuntu 系统是 20.04 或更高版本。确保你的系统满足 GitLab 的硬件要求。 步骤 更新系统包&#xff1a; sudo apt update sudo apt upg…...

Stable Diffusion 3.5 介绍

Stable Diffusion 3.5 是由 Stability AI 推出的最新一代图像生成模型&#xff0c;是 Stable Diffusion 系列的重要升级版本。以下是关于 Stable Diffusion 3.5 的详细信息&#xff1a; 版本概述 Stable Diffusion 3.5 包含三个主要版本&#xff1a; Stable Diffusion 3.5 L…...

力扣hot100-->滑动窗口、贪心

你好呀&#xff0c;欢迎来到 Dong雨 的技术小栈 &#x1f331; 在这里&#xff0c;我们一同探索代码的奥秘&#xff0c;感受技术的魅力 ✨。 &#x1f449; 我的小世界&#xff1a;Dong雨 &#x1f4cc; 分享我的学习旅程 &#x1f6e0;️ 提供贴心的实用工具 &#x1f4a1; 记…...

### 2.5.3 二叉树的基本操作

2.5.3 二叉树的基本操作 // 获取树中节点的个数 int size(Node root);// 获取叶子节点的个数 int getLeafNodeCount(Node root);// 子问题思路-求叶子结点个数// 获取第K层节点的个数 int getKLevelNodeCount(Node root,int k);// 获取二叉树的高度 int getHeight(Node root);…...

GAEA 社区:从用户到共同创造者

GAEA 模型最引人注目的方面之一是&#xff0c;它将用户视为共同创造者&#xff0c;而不仅仅是被动的消费者。在许多中心化平台中&#xff0c;用户就是用户。但在 GAEA 的生态系统中&#xff0c;每个人都在推动进步。无论您是贡献计算能力、分享有价值的数据还是帮助改进模型&am…...

记录一个连不上docker中的mysql的问题

引言 使用的debian12,不同发行版可能有些许差异&#xff0c;连接使用的工具是navicat lite 本来是毫无思绪的&#xff0c;以前在云服务器上可能是防火墙的问题&#xff0c;但是这个桌面环境我压根没有使用防火墙。 直到 ying192:~$ mysql -h127.0.0.1 -uroot ERROR 1045 (28…...

doris:MySQL Load

Doris 兼容 MySQL 协议&#xff0c;可以使用 MySQL 标准的 LOAD DATA 语法导入本地文件。MySQL Load 是一种同步导入方式&#xff0c;执行导入后即返回导入结果。可以通过 LOAD DATA 语句的返回结果判断导入是否成功。一般来说&#xff0c;可以使用 MySQL Load 导入 10GB 以下的…...

使用vitepress搭建自己的博客项目

一、介绍can-vitepress-blog 什么是CAN BLOG CAN BLOG是基于vitepress二开的个人博客系统&#xff0c;他能够方便使用者快速构建自己的博客文章&#xff0c;无需繁琐的配置和复杂的代码编写。 CAN BLOG以antdv为UI设计基础&#xff0c;简洁大方&#xff0c;界面友好&#xf…...

Yii框架中的扩展:如何使用外部库

在Yii框架中&#xff0c;扩展功能的一种常见且有效的方式是使用外部库。这些外部库可以帮助开发者实现特定的功能&#xff0c;如调用第三方API、处理图片、生成PDF文件或发送邮件等。以下是使用外部库扩展Yii框架的详细步骤&#xff1a; 一、安装外部库 使用Composer&#xff…...

【Elasticsearch】inference ingest pipeline

Elasticsearch 的 Ingest Pipeline 功能允许你在数据索引之前对其进行预处理。通过使用 Ingest Pipeline&#xff0c;你可以执行各种数据转换和富化操作&#xff0c;包括使用机器学习模型进行推理&#xff08;inference&#xff09;。这在处理词嵌入、情感分析、图像识别等场景…...

Linux的基本指令(上)

1.ls指令 语法&#xff1a;ls [选项] [目录或文件] 功能&#xff1a;对于⽬录&#xff0c;该命令列出该⽬录下的所有⼦⽬录与⽂件。对于⽂件&#xff0c;将列出⽂件名以及其他信息。 常用选项&#xff1a; -a 列出⽬录下的所有⽂件&#xff0c;包括以 . 开头的隐含⽂件。 -d 将…...

【贪心算法】洛谷P1106 - 删数问题

2025 - 01 - 22 - 第 46 篇 【洛谷】贪心算法题单 - 【贪心算法】 - 【学习笔记】 作者(Author): 郑龙浩 / 仟濹(CSND账号名) 目录 文章目录 目录P1106 删数问题题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示思路代码 P1106 删数问题 题目描述 键盘输入一个高…...

【人工智能】Python中的知识图谱构建与应用

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 随着人工智能技术的不断发展,知识图谱已成为信息检索、推荐系统、自然语言处理等领域的重要技术之一。本文将详细介绍如何使用Python构建知…...

Spring WebSocket 与 STOMP 协议结合实现私聊私信功能

目录 后端pom.xmlConfig配置类Controller类DTO 前端安装相关依赖websocketService.js接口javascripthtmlCSS 效果展示简单测试连接&#xff1a; 报错解决方法1、vue3 使用SockJS报错 ReferenceError: global is not defined 功能补充拓展1. 安全性和身份验证2. 异常处理3. 消息…...

【Matlab高端绘图SCI绘图模板】第05期 绘制高阶折线图

1.折线图简介 折线图是一个由点和线组成的统计图表&#xff0c;常用来表示数值随连续时间间隔或有序类别的变化。在折线图中&#xff0c;x 轴通常用作连续时间间隔或有序类别&#xff08;比如阶段1&#xff0c;阶段2&#xff0c;阶段3&#xff09;。y 轴用于量化的数据&#x…...

java后端之事务管理

Transactional注解&#xff1a;作用于业务层的方法、类、接口上&#xff0c;将当前方法交给spring进行事务管理&#xff0c;执行前开启事务&#xff0c;成功执行则提交事务&#xff0c;执行异常回滚事务 spring事务管理日志&#xff1a; 默认情况下&#xff0c;只有出现Runti…...

常见的多媒体框架(FFmpeg GStreamer DirectShow AVFoundation OpenMax)

1.FFmpeg FFmpeg是一个非常强大的开源多媒体处理框架&#xff0c;它提供了一系列用于处理音频、视频和多媒体流的工具和库。它也是最流行且应用最广泛的框架&#xff01; 官方网址&#xff1a;https://ffmpeg.org/ FFmpeg 的主要特点和功能&#xff1a; 编解码器支持: FFmpe…...

如何移植ftp服务器到arm板子?

很多厂家提供的sdk&#xff0c;一般都不自带ftp服务器功能&#xff0c; 需要要发人员自己移植ftp服务器程序。 本文手把手教大家如何移植ftp server到arm板子。 环境 sdk&#xff1a;复旦微 Buildroot 2018.02.31. 解压 $ mkdir ~/vsftpd $ cp vsftpd-3.0.2.tar.gz ~/vs…...

牛批,吾爱出品

可能是因为从事IT的原因&#xff0c;我身边的大多数朋友也是从事相关工作的&#xff0c;而IT工作往往需要长时间对着电脑。这样就很容易眼睛疲劳。今天给大家推荐几款&#xff0c;希望有对有需要的小伙伴有所帮助&#xff0c;大家可以收藏以来哦。 CareUEyes CareUEyes是一款绿…...

基于 Android 的日程管理系统的设计与实现

标题:基于 Android 的日程管理系统的设计与实现 内容:1.摘要 基于 Android 的日程管理系统旨在帮助用户更高效地管理个人日程安排。该系统采用了 Android 平台的优势&#xff0c;结合了简洁的界面设计和强大的功能&#xff0c;为用户提供了便捷的日程管理体验。 在设计与实现过…...

Kubectl 与 Helm 详解

在 Kubernetes 生态中,kubectl 和 Helm 是两个核心工具,分别用于直接管理 Kubernetes 资源和简化应用的部署与管理。本文将深入探讨 kubectl 和 Helm 的功能、使用场景、部署与更新方式,并对比它们的优缺点。 1. Kubectl 详解 1.1 什么是 Kubectl? kubectl 是 Kubernetes…...

centos搭建docker registry镜像仓库

centos搭建docker registry镜像仓库 简介 Docker Registry是一个存储和分发Docker镜像的服务。它允许用户上传、下载和管理 Docker 镜像&#xff0c;为容器化应用的部署提供了便利。 拉取镜像 docker image pull registry证书配置 创建镜像仓库的镜像数据目录和证书目录&…...

Pyecharts之饼图与多饼图的应用

在数据可视化领域&#xff0c;饼图是一种常用的图表类型&#xff0c;特别适合展示数据的比例关系。Pyecharts 为我们提供了强大的饼图绘制功能&#xff0c;不仅可以轻松绘制各种饼图&#xff0c;还能对饼图的样式和数据标签进行深度定制&#xff0c;并且可以组合多个饼图以满足…...

51单片机入门_01_单片机(MCU)概述(使用STC89C52芯片;使用到的硬件及课程安排)

文章目录 1. 什么是单片机1.1 微型计算机的组成1.2 微型计算机的应用形态1.3 单板微型计算机1.4 单片机(MCU)1.4.1 单片机内部结构1.4.2 单片机应用系统的组成 1.5 80C51单片机系列1.5.1 STC公司的51单片机1.5.1 STC公司单片机的命名规则 2. 单片机的特点及应用领域2.1 单片机的…...

蓝桥杯LQ1044 求完数

题目描述 因子&#xff1a;因子也叫因数&#xff0c;例如3515&#xff0c;那么3和5是15的因子。 同时15115&#xff0c;那么1和15也是15的因子。 1&#xff0c;3&#xff0c;5&#xff0c;15 这四个因子是15的所有因子。 完数&#xff1a;如果一个数等于不含它本身的其他因子之…...