【Hive上篇: 一篇文章带你使用Hive!深入了解Hive!学会Hive!】

前言:
💞💞大家好,我是书生♡,本篇文章主要分享的是大数据开发中hive的相关技术,什么是Hive?怎么使用Hive?怎么安装部署?希望大家看完这篇文章会有所帮助。也希望大家能够多多关注博主。博主会持续更新更多的优质好文!!!
💞💞前路漫漫,希望大家坚持下去,不忘初心,成为一名优秀的程序员

个人主页⭐: 书生♡
gitee主页🙋‍♂:闲客
专栏主页💞:大数据开发
博客领域💥:大数据开发,java编程,前端,算法,Python
写作风格💞:超前知识点,干货,思路讲解,通俗易懂
支持博主💖:关注⭐,点赞、收藏⭐、留言💬

目录

  • 1. Apache Hive 概述
    • 1.1 什么是Hive
    • 1.2 元数据和行数据
    • 1.3 Hive的优点(了解)
  • 2. Hive架构原理
    • 2.1 用户接口
    • 2.2 HiveDriver hive驱动
    • 2.3 Metastore元数据存储
    • 2.4 执行计算任务
  • 3. Hive的部署
    • 3.1 HIve的三种安装模式
      • 3.1.1 内嵌模式
      • 3.1.2 本地模式
      • 3.1.3 远程模式
      • 3.1.4 区分三种模式
    • 3.2 Hive的部署安装
  • 4. Hive的客户端
    • 4.1 本地模式使用
    • 4.2 远程模式使用
  • 5. Datagrip使用(连接Hive)
  • 6. Hive的数据库操作
    • 6.1 数据库的创建
    • 6.2 切换数据库
    • 6.3 删除数据库
    • 6.4 查看数据库信息/建库语句
  • 7. hive的数据表操作
    • 7.1 建表语法
    • 7.2 表的创建
    • 7.3 表数据的写入
  • 8.hive基础语法
    • 8.1数字字段类型
    • 8.2 分隔符指定
  • 9 表的删除,修改,分类
    • 9.1 表的修改
    • 9.2 表的删除
    • 9.3 表的分类
  • 10. 表数据的写入
    • 10.1 方式一 将数据文件上传到对应的表目录下
      • 10.0.1 使用hdfs页面进行上传
      • 10.1.2 使用hivesql的load语句上传
    • 10.2 方式2 使用insert指定数据导入
    • 10.3将表数据导出到服务器

1. Apache Hive 概述

1.1 什么是Hive

  什么是Hive?

Hive是基于Hadoop的一个数据仓库工具,用于进行数据提取、转换和加载(ETL)。它可以将结构化的数据文件映射为一张数据库表,并提供类似SQL的查询语言(HiveQL),使用户能够使用SQL语句来查询、汇总和整理大规模的数据集。Hive的核心功能包括数据存储、数据查询、数据处理、数据转换以及数据安全控制等。

在这里插入图片描述

 简单的定义就是:

Hive是一个SQL转化转化工具,将SQL的计算转为MapReduce的计算,让开发人员更加方便进行大数据开发

在这里插入图片描述

1.2 元数据和行数据

什么是元数据?什么是行数据?

一张表的数据构成:元数据

  • 表名
  • 字段名
  • 字段类型
  • 字段约束

表的行数据:表中每一行的数据

在这里插入图片描述

在mysql,oracle等数据库中,表的元数据和行数是数据库统一管理

在Hive中:

在hive中表的元数据和行数据由metastore和hdfs共同管理

  • 表的元数据由metastore管理存储
  • 行数据由hdfs管理存储

1.3 Hive的优点(了解)

1.使用Hadoop MapReduce直接处理数据所面临的问题

  • 人员学习成本太高 需要掌握java、Python等编程语言
  • MapReduce实现复杂查询逻辑开发难度太大
  1. 使用Hive处理数据的好处
  • 操作接口采用类SQL语法,提供快速开发的能力(简单、容易上手)
  • 底层执行MapReduce,可以完成分布式海量数据的SQL处理

2. Hive架构原理

Apache Hive其2大主要组件就是:SQL解析器以及元数据存储

在这里插入图片描述

2.1 用户接口

Hive为我们提供了3个接口,或者是说3种客户端模式:
在这里插入图片描述

  1. CLI(command line interface)为shell命令行
  2. Hive中的Thrift服务器允许外部客户端通过网络与Hive进行交互,类似于JDBC或ODBC协议。(最常用的)
  3. Hive Web interface是通过浏览器访问Hive。(一般不用)

Hive提供了 Hive Shell、 ThriftServer等服务进程向用户提供操作接口

2.2 HiveDriver hive驱动

Driver:包括解析器、计划编译器、优化器、执行器

在这里插入图片描述

  • 解析sql语句
  • 指定计划
  • 优化计划
  • 执行命令

这部分主要是依赖封装在Hive所依赖的Jar文件即Java代码

2.3 Metastore元数据存储

  • 元数据包含:用Hive创建的database、table、表的字段等元信息。
  • 元数据存储:存在关系型数据库中,如:hive内置的Derby数据库或者第三方MySQL数据库等。

在这里插入图片描述

Metastore:即元数据存储服务,作用是:客户端连接metastore服务,metastore再去连接MySQL等数据库来存取元数据。

有了metastore服务,就可以有多个客户端同时连接,而且这些客户端不需要知道MySQL等数据库的用户名和密码,只需要连接metastore 服务即可。

2.4 执行计算任务

  • 向yarn申请资源
  • 从hdfs中提取数据

在这里插入图片描述

3. Hive的部署

3.1 HIve的三种安装模式

  • metastore服务配置有3种模式:内嵌模式、本地模式、远程模式

3.1.1 内嵌模式

优点:
解压hive安装包 bin/hive 启动即可使用

缺点:
不适用于生产环境,derby和Metastore服务都嵌入在主Hive Server进程中。一个服务只能被一个客户端连接(如果用两个客户端以上就非常浪费资源),且元数据不能共享
在这里插入图片描述

3.1.2 本地模式

优点:
1、元数据使用外置的RDBMS,常见使用最多的是MySQL。
2、不需要单独配置metastore 也不需要单独启动metastore服务
缺点:
如果使用多个客户端进行访问,就需要有多个Hiveserver服务,此时会启动多个Metastore有可能出现资源竞争现象

在这里插入图片描述

3.1.3 远程模式

优点:
可以单独使用外部库(mysql) 可以共享元数据 可以连接metastore服务也可以连接hiveserver2服务
metastore可以单独启动,配置 其他依赖hive的软件都可以通过Metastore访问hive

缺点:
需要注意的是如果想要启动hiveserver2服务需要先启动metastore服务

企业中也是最常用这种模式。
在这里插入图片描述

3.1.4 区分三种模式

区分3种配置方式的关键是弄清楚两个问题:
    Metastore服务是否需要单独配置、单独启动?
    Metadata是存储在内置库derby中,还是第三方库Mysql等中。

在这里插入图片描述

3.2 Hive的部署安装

hive只需要部署在一台服务器上就可以,也可部署在多台服务器上。

  1. 上传安装包 解压
    先进入到指定的目录下,解压安装包
cd /export/server/
tar zxvf /export/server/apache-hive-3.1.2-bin.tar.gz

在这里插入图片描述

  1. 解决Hive与Hadoop之间guava版本差异
    大家直接复制粘贴就可以这部分
rm -rf /export/server/apache-hive-3.1.2-bin/lib/guava-19.0.jar
cp /export/server/hadoop-3.3.0/share/hadoop/common/lib/guava-27.0-jre.jar /export/server/apache-hive-3.1.2-bin/lib/
  1. 配置环境变量
echo 'export HIVE_HOME=/export/server/apache-hive-3.1.2-bin' >> /etc/profile
echo 'export PATH=$PATH:$HIVE_HOME/bin:$HIVE_HOME/sbin' >> /etc/profile
source /etc/profile
  1. 修改配置文件
    4.1 修改hive-env.sh
  • 修改文件名称
cd /export/server/apache-hive-3.1.2-bin/conf
mv hive-env.sh.template hive-env.sh

写入数据

echo 'export HIVE_CONF_DIR=/export/server/hive/conf' >> /export/server/hive/hive-env.sh
echo 'export HIVE_CONF_DIR=/export/server/hive/conf' >> /export/server/hive/hive-env.sh
echo 'export HIVE_AUX_JARS_PATH=/export/server/hive/lib' >> /export/server/hive/conf/hive-env.sh

4.2 修改hive-site.xml

  • 打开文件
vim hive-site.xml  # 配置元数据存储

复制粘贴如下内容

<configuration>
<!-- 存储元数据mysql相关配置 -->
<property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://node1:3306/hive3?createDatabaseIfNotExist=true&amp;useSSL=false</value>
</property><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value>
</property><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value>
</property><property><name>javax.jdo.option.ConnectionPassword</name><value>hadoop</value>
</property><!-- H2S运行绑定host -->
<property><name>hive.server2.thrift.bind.host</name><value>node1</value>
</property><!-- 远程模式部署metastore metastore地址 -->
<property><name>hive.metastore.uris</name><value>thrift://node1:9083</value>
</property><!-- 关闭元数据存储授权  --> 
<property><name>hive.metastore.event.db.notification.api.auth</name><value>false</value>
</property>
</configuration>
  1. 上传mysql jdbc驱动
    驱动上传到 /export/server/apache-hive-3.1.2-bin/lib/ 目录下
mysql-connector-java-5.1.32.jar
  1. 初始化元数据
schematool -initSchema -dbType mysql -verbos
#初始化成功会在mysql中创建74张表
  1. 在hdfs创建hive存储目录
hadoop fs -mkdir /tmp
hadoop fs -mkdir -p /user/hive/warehouse
hadoop fs -chmod g+w /tmp
hadoop fs -chmod g+w /user/hive/warehouse

4. Hive的客户端

hive依赖于hadoop的功能才能正常使用,所以启动hive前必须先启动hadoop.

start-all.sh

在这里插入图片描述

检查mysql服务是否可以使用

systemctl status mysqld

在这里插入图片描述

4.1 本地模式使用

使用一代客户端在本地服务器上连接hive完成sql操作
需要先把metastore的元数据管理服务启动起来

启动metastore服务

hive --service metastore

在这里插入图片描述
但是这个样子我们就没有办法继续使用服务器了,所以我们一般让他在后台运行

nohup hive --service metastore &

在这里插入图片描述
使用一代客户端连接,不需要输入账号密码

直接输入:
hive

在这里插入图片描述

4.2 远程模式使用

可以在其他服务器中连接hive进行相关操作

可以使用二代客户端进行连接,二代客户端支持jdbc,并且需要使用账号进行登录

  1. 启动metastore服务
    这个我们再上面已经启动过了
  2. 启动hiveserver2服务
  • 底层调用thriftserver
  • 运行服务支持jdbc连接
nohup hive --service hiveserver2 &

在这里插入图片描述

hiveserver2的启动时间会比较长,可以通过端口查看确认hiveserver2是否真的启动
hiveserver2运行时会绑定10000端口

lsof  -i:10000

在这里插入图片描述
使用hive自带的二代客户端,通过jdbc方式连接hive

beeline

在这里插入图片描述

5. Datagrip使用(连接Hive)

前提: 启动metastore 和hiveserver2服务

Datagrip连接hive服务,本质上链接的是hiveserver2

  • 点击Datag Source 选择Apache Hive
    在这里插入图片描述
  • 填写相关服务器信息
    在这里插入图片描述
    第一次创建Hive,会要求下载驱动,有两种办法
    第一种:进入页面后会提示下载驱动,直接点击downLoad下载
    在这里插入图片描述
    第二种:就是将本地的驱动直接部署上来
    点击apache hive
    在这里插入图片描述
    在这里插入图片描述
    点击test connection验证连接,当连接成功时,点击ok就可以使用了
    在这里插入图片描述

6. Hive的数据库操作

6.1 数据库的创建

语法:
CREATE DATABASE [IF NOT EXISTS] database_name
-- 指定数据库在hdfs上路径位置
[LOCATION hdfs_path][] 括起来内容是可选的关键字语法

Hive sql中创建数据库可以指定路径

  • 按照默认的路径创建数据库
-- 在hive中不需要指定charset
create database itcast;
-- 一但创建成功会在hdfs的默认路径下出现一个数据库目录 在hdfs的/user/hive/warehousw
create database if not exists itcast;

在这里插入图片描述

  • 指定hdfs的路径目录作为数据库目录
-- 指定数据库在hdfs上的路径目录
-- 1-现在hdfs上创建一个空的数据库目录
-- 2-指定该空目录作为hive数据库的数据目录
create database itheima
location '/itheima';

在这里插入图片描述

6.2 切换数据库

-- use 切换数据库
use itcast;
use itheima;

6.3 删除数据库

-- 删除数据库  将 hdfs上的数据库目录一并删除
drop database itcast;
drop database itheima;
-- 如果数据库已经存在表数据,则需要强制删除  在有数据的情况下不要删库
drop database itcast cascade ;

6.4 查看数据库信息/建库语句

-- 查看数据库信息
desc database itheima;-- 查看建库语句
show create database itcast;

7. hive的数据表操作

7.1 建表语法

语法:

CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name    -- (Note: [(col_name data_type [column_constraint_specification] [COMMENT col_comment], ... [constraint_specification])][COMMENT table_comment][PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)][CLUSTERED BY (col_name, col_name, ...) [SORTED BY (col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS][SKEWED BY (col_name, col_name, ...)                  -- (Note: Available in Hive ON ((col_value, col_value, ...), (col_value, col_value, ...), ...)[STORED AS DIRECTORIES][[ROW FORMAT row_format] [STORED AS file_format]| STORED BY 'storage.handler.class.name' [WITH SERDEPROPERTIES (...)]  -- (Note: Available in Hive 0.6.0 and later)][LOCATION hdfs_path][TBLPROPERTIES (property_name=property_value, ...)]   -- (Note: Available in Hive 0.6.0 and later)[AS select_statement];   -- (Note: Available in Hive 0.5.0 and later; not supported for external tables)

基本语法:

create table  [库名].表名(字段 字段类型 
)

7.2 表的创建

-- 表的基本创建
-- 表创建成功后会在对应数据库目录下创建一个表目录
create table itcast.tb_stu(id int,-- 在hive中字符类型使用stringname string,gender string,age int,create_time date,-- decimal 类型表示小数  10 整数部分的个数+小数据部分的个数   2 表示小数位数height decimal(10,2)
);create table itheima.tb_goods(id int,name string,price decimal(10,2),create_time date
);

7.3 表数据的写入

-- 表数据写入
-- 数据是文件的方式存储在对应的表目录下
insert into itcast.tb_stu values
(1,'张三','男',20,'2023-10-10',178.23),
(2,'李四','男',21,'2023-10-11',175.23);-- 查看表数据
select * from itcast.tb_stu;

8.hive基础语法

8.1数字字段类型

数据类型官网:数据类型🤞🤞🤞
在这里插入图片描述

数值型:

  • 整数
    tinyint
    smallint
    int
    bigint
  • 小数
    float
    double
    decimal()精确到小数点后几位
  • 日期类型
    data 日期
    timestamps 日期时间
  • 字符串类型
    string
    varchar
    char
  • 布尔类型
    用1和0表示真假
  • 复杂类型
    array【】数组类型
    【1,2,3】,【‘a’,‘b’,‘c’】
  • map类型
    {key:value}

hive数据类型案例:

-- hive中的数据类型演示
use itcast;
-- 创建表
create table tb_test(id tinyint comment 'id值',age smallint comment '年龄',phone int comment '手机号',name varchar(20),gender string,weight decimal(10,2),create_time timestamp,hobby array<string> comment '兴趣爱好', -- [数据1]  arrary<数组中的数据类型>hero map<string,int> comment '游戏英雄' -- {key:value}  指定key值类型,指定value值类型
)comment '数据类型测试表';-- 写入数据进行类型测试
insert into tb_test values(1,20,13711111111,'张三','男',180.21,'2020-10-01 10:10:10',array('篮球','足球'),map('关羽',80,'小乔',60));
insert into tb_test values(2000,20,13711111111,'张三','男',1800.21,'2020-10-01 10:10:10',array('篮球','足球'),map('关羽',80,'小乔',60));select * from tb_test;
select hobby[1] from tb_test;
select hero['关羽'] from tb_test;

8.2 分隔符指定

对hdfs上的文件数据存储时的分割符进行指定
hive在将行数据存储在hdfs上时,默认字段之间的数据分隔符 \001

在这里插入图片描述

在创建表时可以指定分割符

row format delimited fields terminated by '分割符'
案例:
create table tb_row_field
(id     int,name   string,age    int,gender string
) row format delimited fields terminated by ','; -- 指定分隔符 固定格式

我们制定分隔符为‘,’,文件就可以以我们制定个字符分割
在这里插入图片描述

9 表的删除,修改,分类

名字修改,字段名修改,字段类型修改
使用:
alter 关键字

9.1 表的修改

alter table 表名  rename to 新的表名
alter table 表名  add columns(字段名 字段类型)
alter table 表名  change  旧字段名  新字段 字段类型
alter table 表名  set  属性设置
-- 表的修改修改操作
create table tb_ddl(id int,name string,age int,gender string
);desc formatted tb_ddl2;-- 修改表名
alter table tb_ddl rename to tb_ddl2;-- 增加字段
alter table tb_ddl2 add columns(phone string);-- 修改字段
alter table tb_ddl2 change id id bigint;
desc tb_ddl2;
-- 修改字段类型是,只能将小字节的类型修改为大字节的类型
-- alter table tb_ddl2 change id id int;-- 修改表属性
alter table tb_ddl2 set tblproperties('age12'='20');
desc formatted tb_ddl2;-- hdfs://node1:8020/user/hive/warehouse/itcast.db/tb_ddl2
alter table tb_ddl2 set location 'hdfs://node1:8020/tb_ddl2';
desc formatted tb_ddl2;
insert into tb_ddl2 values(1,'aa',20,'ccc','123123123');alter table tb_ddl2 add columns(create_time date comment '创建时间',price decimal(10,2));
desc tb_ddl2;
alter table tb_ddl2 change age age1 string after phone;
desc tb_ddl2;
alter table tb_ddl2 change age1 age double after id;
desc tb_ddl2;

9.2 表的删除

在hive中我们想要删除表包括目录的元数据,使用**drop、只想清空数据使用truncate**

-- 表删除  会删除表的目录和表的元数据信息
drop table tb_ddl2;
select * from tb_ddl2;
-- 表清空数据  把存储数据的文件一并删除
select * from tb_row_field;
truncate table tb_row_field;

9.3 表的分类

hive中表的分类分为两种:

  • 内部类 Managed Tabel
  • 外部类 External Tables

区别:

在删除表时

  • 内部表会把表的所有数据删除(元数据和行数据)

  • 外部表会把表的元数据删除,保留hdfs上的文件数据

默认创建的表都是内部表

创建外部表需要使用关键字External

create external table 表名(字段 字段类型
)

案例:

-- 创建内部表
create table tb_managed(id int,name string
);
-- 创建外部表
create external table tb_external(id int,name string
);desc formatted tb_managed;
desc formatted tb_external;drop table tb_managed;
drop table tb_external;

在这里插入图片描述

修改表的类型,将内部表设置为外部表,或者将外部表设置为内部表
我们使用
tblproperties(‘EXTERNAL’=‘FALSE’); false为内部表
tblproperties(‘EXTERNAL’=‘TRUE’);true为外部表;

-- 修改表的类型
desc formatted tb_managed;
alter table tb_managed set tblproperties('EXTERNAL'='TRUE'); -- 设置为外部表
alter table tb_managed set tblproperties('EXTERNAL'='FALSE');-- 设置为内部表

在这里插入图片描述

10. 表数据的写入

在对表数据写入时有两张方式

  • 方式一 直接将数据文件上传到指定的表目录下
  • 方式二 通过insert将数据写入的表目录的文件中

10.1 方式一 将数据文件上传到对应的表目录下

10.0.1 使用hdfs页面进行上传

在这里插入图片描述

10.1.2 使用hivesql的load语句上传

语法:
LOAD DATA [LOCAL] INPATH 'filepath' 
[OVERWRITE] INTO TABLE tablename 
[PARTITION (partcol1=val1, partcol2=val2 ...)]
-- filepath 指定本地服务器的数据文件位置 ,本地指的是hive运行的服务器

案例:

-- 使用load语句将文件数据上传表中
-- file:// 是本地文件的路径协议,是一个固定写法
-- 追加
load data local inpath 'file:///root/order5.txt' into table tb_order;-- 覆盖上传文件
load data local inpath 'file:///root/order5.txt' overwrite into table tb_order;

10.2 方式2 使用insert指定数据导入

我们正常使用insert into tb_order values,结果是追加的。
我们可以使用overwrite去进行覆盖,将之前的全部结果覆盖成新插入的

语法:

INSERT OVERWRITE TABLE tablename1 
[PARTITION (partcol1=val1, partcol2=val2 ...) 
[IF NOT EXISTS]] select_statement1 FROM from_statement;
insert into tb_order values (1,123.23,5,'北京');insert overwrite table tb_order values (2,123.23,5,'上海');-- 写入数据是在values中指定
-- 也可以将一个select 查询结果写到表中
create table tb_order_new(id int,total_price decimal(10,2),total_number int,address string
)row format delimited  fields terminated by ',';insert into tb_order_new select * from tb_order;-- 通过该方式可以实现计算结果的保存
create table tb_result(cnt int comment '总数'
);insert into tb_result select count(*) from tb_order;select * from tb_result;

10.3将表数据导出到服务器

insert overwrite local directory 'file:///root/data'row format delimited fields terminated by ',' select * from tb_order;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/817990.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Depth maps转点云

前言 本文主要记录一下如何可视化相机位姿&#xff0c;如何用Blender得到的深度图反投影到3D空间&#xff0c;得到相应的点云。 Refernce https://github.com/colmap/colmap/issues/1106 https://github.com/IntelRealSense/librealsense/issues/12090 https://medium.com/yod…

【详细讲解下Photoshop】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

鸿蒙 Failed :entry:default@CompileResource...

Failed :entry:defaultCompileResource... media 文件夹下有文件夹或者图片名称包含中文字符 rawfile 文件夹下文件名称、图片名称不能包含中文字符

地理空间分析中的深度学习应用

深度学习与地理信息系统 (GIS) 的结合彻底改变了地理空间分析和遥感的格局。这种结合将遥感和地理空间分析领域带到了全球研究人员和科学家的前沿。 深度学习是机器学习的一个复杂子集&#xff08;更多关于机器学习的内容&#xff0c;请参阅我的其他文章&#xff09;&#xff0…

绿色地狱steam叫什么 绿色地狱steam怎么搜

绿色地狱steam叫什么 绿色地狱steam怎么搜 《绿色地狱》是一款以亚马逊雨林为背景的开放世界生存模拟游戏。玩家们扮演一名被困在丛林中的冒险者&#xff0c;玩家在游戏内需要学习采集资源、建造庇护所、狩猎和烹饪食物&#xff0c;同时要面对丛林中的危险和挑战&#xff0c;…

太好玩了,我用 Python 做了一个 ChatGPT 机器人

毫无疑问&#xff0c;ChatGPT 已经是当下编程圈最火的话题之一&#xff0c;它不仅能够回答各类问题&#xff0c;甚至还能执行代码&#xff01; 或者是变成一只猫 因为它实在是太好玩&#xff0c;我使用Python将ChatGPT改造&#xff0c;可以实现在命令行或者Python代码中调用。…

langchain 链式写法-使用本地 embedding 模型,Faiss 检索

目录 示例代码1 示例代码2 示例代码1 使用本地下载的 embedding 模型去做 embedding&#xff0c;然后从中查相似的 import os from dotenv import load_dotenv from langchain_community.llms import Tongyi load_dotenv(key.env) # 指定加载 env 文件 key os.getenv(DAS…

ansible创建用户账户和更新ansible库的密钥

1.创建⽤户帐户 从 http://materials/user_list.yml 下载要创建的⽤户的列表&#xff0c;并将它保存到 /home/greg/ansible 在本次考试中使⽤在其他位置创建的密码库 /home/greg/ansible/locker.yml 。创建名为 /home/greg/ansible/users.yml 的 playbook &#xff0c;从⽽…

探索顶级短视频素材库:多样化选择助力创作

在数字创作的浪潮中&#xff0c;寻找优质的短视频素材库是每位视频制作者的必经之路。多种短视频素材库有哪些&#xff1f;这里为您介绍一系列精选的素材库&#xff0c;它们不仅丰富多样&#xff0c;而且高质量&#xff0c;能极大地提升您的视频创作效率和质量。 1.蛙学网 蛙学…

springboot+Vue项目部署到云服务器上

一、下载配置ngnix 1.压缩包下载并上传 链接: https://pan.baidu.com/s/1m2LKV8ci4WXkAWdJXIeUFQ 提取码: 0415 2.解压 tar -xzvf 压缩包名 3.编译nginx 在解压好的文件夹下,依次执行&#xff1a; ./configure 来到nginx默认安装路径/usr/local/nginx 依次执行命令 mak…

【鸿蒙开发】饿了么页面练习

0. 整体结构 整体划分3部分。店铺部分&#xff0c;购物车部分&#xff0c;金额统计部分。使用 Stack 把3部分堆叠 0.1 整体页面 Index.ets 修改 Index.ets &#xff0c;使用堆叠布局&#xff0c;并居底部对齐 import { ElShop } from ../components/ElShop import { ElShopp…

C#版Facefusion ,换脸器和增强器

C#版Facefusion &#xff0c;换脸器和增强器 目录 说明 效果 项目 调用代码 说明 Facefusion是一款最新的开源AI视频/图片换脸项目。是原来ROOP的项目的延续。项目官方介绍只有一句话&#xff0c;下一代换脸器和增强器。 代码实现参考 https://github.com/facefusion/f…

软件工程及开发模型

根据希赛相关视频课程汇总整理而成&#xff0c;个人笔记&#xff0c;仅供参考。 软件工程的基本要素包括方法、工具和&#xff08;过程&#xff09; 方法&#xff1a;完成软件开发的各项任务的技术方法&#xff1b; 工具&#xff1a;运用方法而提供的软件工程支撑环境&#xff…

基于STM32的RFID智能门锁系统

本文针对RFID技术&#xff0c;着重研究了基于单片机的智能门锁系统设计。首先&#xff0c;通过链接4*4按键模块与主控STM32&#xff0c;实现了多种模式&#xff0c;包括刷卡开锁、卡号权限管理、密码开锁、修改密码、显示实时时间等功能。其次&#xff0c;采用RC522模块与主控S…

【学习笔记十四】EWM发货流程概述及相关配置

一、EWM发货流程与ERP集成配置 1.将凭证类型从 ERP 系统映射至 EWM ERP交货单凭证类型LF映射到EWM凭证类型OUTB 2.从 ERP 系统映射项目类型至 EWM ERP交货单凭证类型+ERP交货单项目类型TAN映射到EWM项目类型是ODLV 3.定义出库交货的参数文件 ①定义外向交货处理的凭证类型OUT…

Mamba论文笔记

Mamba论文 结合序列建模任务通俗地解释什么是状态空间模型&#xff1f;创新点和贡献 为什么Mamba模型擅长捕获long range dependencies&#xff1f; 结合序列建模任务通俗地解释什么是状态空间模型&#xff1f; 状态空间模型&#xff08;State Space Model, SSM&#xff09;是…

举个栗子!Tableau 技巧(270):用 Lookup 函数创建多 KPI 文本表

在 Tableau 中&#xff0c;文本表常用于呈现明细数据。但其实&#xff0c;数据粉如果想在同一视图中查看多个数据指标&#xff0c;也可以用到文本表。 如下示例&#xff0c;是不是很直观的就可以查看&#xff1a;不同区域随时间推移的数据指标情况呢&#xff1f; 如何在 Tablea…

app证书在设置在哪

根据近日工业和信息化部发布的《工业和信息化部关于开展移动互联网应用程序备案工作的通知》&#xff0c;相信不少要进行IOS平台App备案的朋友遇到了一个问题&#xff0c;就是apple不提供云管理式证书的下载&#xff0c;也就无法获取公钥及证书SHA-1指纹。 已经上架的应用不想重…

Langchain入门到实战-第二弹

Langchain入门到实战 Langchain快速入门官网地址Langchain概述Langchain调用大模型更新计划 Langchain快速入门 官网地址 声明: 由于操作系统, 版本更新等原因, 文章所列内容不一定100%复现, 还要以官方信息为准 https://python.langchain.com/Langchain概述 LangChain是一个…

LOCK、ACC、ON、START的含义及正确使用

背景 前段时间在开发一个远程锁车的需求时&#xff0c;讨论到了电源状态的场景。由于初次进入汽车电子行业&#xff0c;对很多基础概念不清晰。当时听主机厂商的同事介绍一遍后&#xff0c;并不是很理解。于是趁着空闲&#xff0c;给自己充充电&#xff0c;也希望能够帮到有需…