HaDoop Hive

目录

1.VMware 的配置

2.JDK的部署

3.防火墙,SElinux,时间同步设置

4.云平台 

5.阿里云

6.UCloud

7.Hadoop理论

7.1   Hadoop理论 

7.2   VMware Hadoop实践

7.3集群部署常见问题解决

7.4   云服务器上 Hadoop实践

7.5   HDFS 的 shell

7.6HDFSShell解决权限不足

7.7   JetBrains使用插件

8   HDFS的存储原理

9.MapReduce

10. YARN

10.1   YARN 理论

10.2   YARN 实践

Hive理论

1.Hive理论​编辑

2.Hive部署

3.Hive初体验

4.Hive 客户端

5.Hive 原理


BV1WY4y197g7

1.VMware 的配置

 

免密登录:

ssh-keygen -t rsa -b 4096
ssh-copy-id node1
ssh node2

2.JDK的部署

ln -s /export/server/jdk1.8.0_361 jdk

3.防火墙,SElinux,时间同步设置

 

(为访到)关闭防火墙:

 systemctl stop firewalld.service

        禁止防火墙开机启动

 systemctl disable firewalld.service

 

4.云平台 

什么是云平台
云平台也称云计算平台。云计算,顾名思义,就是将计算在云上运行。

那么在这里面的3个概念

  • 云:通俗的理解就是远程计算机,并且是一组 一堆,这些远程计算机协同工作构建出一个平台,对用户提供服务
  • 计算:这是一个概念很大的名词,小了说可以认为是对业务数据进行计算分析的算力,不过通俗意义上,计算是指构建业务系统的各种需求
  • 平台:将云(远程硬件资源)和计算(远程软件资源)组合在一起,就形成了一个平台,对用户提供各种各样的服务。

我们可以这样理解,云平台是:一个云上的平台,聚合了一些软硬件资源,为用户提供各种各样的远程服务

 

5.阿里云

 

6.UCloud

 

 

7.Hadoop理论

7.1   Hadoop理论 

 

7.2   VMware Hadoop实践

https://hadoop.apache.org/

 

export JAVA_HOME=/export/server/jdk
export HADOOP_HOME=/export/server/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_LOG_DIR=$HADOOP_HOME/logs

<configuration>
 <property>
   <name>fs.defaultFS</name>
   <value>hdfs://node1:8020</value>
 </property>

  <property>
   <name>io.file.buffer.size</name>
   <value>131072</value>
 </property>
</configuration>

<configuration>
  <property>
     <name>dfs.datanode.data.dir.perm</name>
     <value>700</value>
  </property>

    <property>
     <name>dfs.namenode.name.dir</name>
     <value>/data/nn</value>
  </property>

    <property>
     <name>dfs.namenode.hosts</name>
     <value>node1,node2,node3</value>
  </property>

    <property>
     <name>dfs.blocksize</name>
     <value>268435456</value>
  </property>

    <property>
     <name>dfs.namenode.handler.count</name>
     <value>100</value>
  </property>

    <property>
     <name>dfs.datanode.data.dir</name>
     <value>/data/dn</value>
  </property>

</configuration>

export HADOOP_HOME=/export/server/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

chown -R hadoop:hadoop /data
chown -R hadoop:hadoop /export

 看见了  就成功了:

7.3集群部署常见问题解决

7.4   云服务器上 Hadoop实践

 一个唯一的不同点:就是访问它的Web Ul   我们要走公网IP

7.5   HDFS 的 shell

hadoop-daemon.sh start datanode

7.6HDFSShell解决权限不足

 

7.7   JetBrains使用插件

 了解在JetBrains产品中安装使用BigDataTools插件

8   HDFS的存储原理

 

  	<property>
  	   <name>dfs.replication</name>
  	   <value>3</value>
  	</property>

 

9.MapReduce

10. YARN

10.1   YARN 理论

 

10.2   YARN 实践

1.

vm mapred-env.sh

 

#设置JDK路径
export JAVA_HOME=/export/server/jdk
# 设置JobHistoryServer进程内存为1G
export HADOOP_JOB_HISTORYSERVER_HEAPSIZE=1000
#设置日志级别为INFO
export HADOOP_MAPRED_ROOT_LOGGER=INFO,RFA

2.

  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    <description>MapReduce的运行框架设置为YARN</description>
  </property>

    <property>
    <name>mapreduce.jobhistory.address</name>
    <value>node1:10020</value>
    <description>历史服务器通讯端口为node1:10020</description>
  </property>

    <property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>node1:19888</value>
    <description>历史服务器web端口为node1:19888</description>
  </property>

    <property>
    <name>mapreduce.jobhistory.intermediate-done-dir</name>
    <value>/data/mr-history/tmp</value>
    <description>历史信息HDFS的记录临时路径</description>
  </property>

    <property>
    <name>mapreduce.jobhistory.done-dir</name>
    <value>/data/mr-history/done</value>
    <description>历史信息HDFS的记录路径</description>
  </property>

    <property>
    <name>yarn.app.mapreduce.am.env</name>
    <value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
    <description>MapReduce HOME 设置为 HADOOP_HOME</description>
  </property>

      <property>
    <name>mapreduce.map.env</name>
    <value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
    <description>MapReduce HOME 设置为 HADOOP_HOME</description>
  </property>

      <property>
    <name>mapreduce.reduce.env</name>
    <value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
    <description>MapReduce HOME 设置为 HADOOP_HOME</description>
  </property>

1.

# 设置JDK路径的环境变显
export JAVA_HOME=/export/server/jdk
# 设置HADOOP HOME的环境变品
export HAD00P_HOME=/export/server/hadoop
 #设置配置文件路径的环境变品
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
 #设置目志文件路备的环境变量
export HADOOP_LOG_DIR=$HADOOP_HOME/logs

2.

	<property>
		<name>yarn.resourcemanger.hostname</name>
		<value>node1</value>
		<description>ResourceManager设置在node1节点</description>
	</property>

	
	<property>
		<name>yarn.nodemanager.local-dirs</name>
		<value>/data/nm-local</value>
		<description>Nodemanager证中间数据本地存储路径</description>
	</property>


	<property>
		<name>yarn.nodemanager.log-dirs</name>
		<value>/data/nm-log</value>
		<description>Nodemanager数据日志本地存储路径</description>
	</property>


	
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
		<description>为MapReduce程序开启Shuffle服务</description>
	</property>


     <property>
		<name>yarn.log.server.url</name>
		<value>http://node1:19888/jobhistory/logs</value>
		<description>历史服务器URL</description>
	</property>


	<property>
		<name>yarn.web-proxy.address</name>
		<value>node1:8089</value>
		<description>代理服务器主机和端口</description>
	</property>


	<property>
		<name>yarn.log-aggregation-enable</name>
		<value>true</value>
		<description>开启日志聚合</description>
	</property>


	<property>
		<name>yarn.nodemanager.remote-app-log-dir</name>
		<value>/tmp/logs</value>
		<description>程序日志HDFS的存储日志</description>
	</property>


	<property>
		<name>yarn.resourcemanager.scheduler.class</name>
		<value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
		<description>选择公平调度器</description>
	</property>

 3.

scp mapred-env.sh mapred-site.xml yarn-env.sh yarn-site.xml node3:/export/server/hadoop/etc/hadoop

mapred --daemon start historyserver

 mapred --daemon start historyserver

提交MapReduce任务到YARN执行:

Hive理论


1.Hive理论

2.Hive部署

VMware:

# 更新密钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

# 安装Mysql yum库
rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm

# yum安装Mysql
yum -y install mysql-community-server

# 启动Mysql设置开机启动
systemctl start mysqld
systemctl enable mysqld

# 检查Mysql服务状态
systemctl status mysqld

# 第一次启动mysql,会在日志文件中生成root用户的一个随机密码,使用下面命令查看该密码
grep 'temporary password' /var/log/mysqld.log

# 修改root用户密码
mysql -u root -p -h localhost
Enter password:
 


mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root!@#$';

# 如果你想设置简单密码,需要降低Mysql的密码安全级别
set global validate_password_policy=LOW;    # 密码安全级别低
set global validate_password_length=4;     # 密码长度最低4位即可

# 然后就可以用简单密码了(课程中使用简单密码,为了方便,生产中不要这样)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

/usr/bin/mysqladmin -u root password 'root'

grant all privileges on *.* to root@"%" identified by 'root' with grant option;  


flush privileges;

   <property>
   <name>hadoop.proxyuser.hadoop.hosts</name>
   <value>*</value>
 </property>

   <property>
   <name>hadoop.proxyuser.hadoop.groups</name>
   <value>*</value>
 </property>

  • 切换到hadoop用户

su - hadoop

  • 下载Hive安装包:

http://archive.apache.org/dist/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz

  • 解压到node1服务器的:/export/server/内

tar -zxvf apache-hive-3.1.3-bin.tar.gz -C /export/server/

  • 设置软连接

ln -s /export/server/apache-hive-3.1.3-bin /export/server/hive

  • 下载MySQL驱动包:

https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.34/mysql-connector-java-5.1.34.jar

  • 将下载好的驱动jar包,放入:Hive安装文件夹的lib目录内

mv mysql-connector-java-5.1.34.jar /export/server/hive/lib/

export HADOOP_HOME=/export/server/hadoop
export HIVE_CONF_DIR=/export/server/hive/conf
export HIVE_AUX_JARS_PATH=/export/server/hive/lib

<configuration>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://node1:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8</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>root</value>
  </property>
  
  <property>
	<name>hive.server2.thrift.bind.host</name>
	<value>node1</value>
  </property>
  
  <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>

支持,Hive的配置已经完成,现在在启动Hive前,需要先初始化Hive所需的元数据库。

  • 在MySQL中新建数据库:hive

CREATE DATABASE hive CHARSET UTF8;

  • 执行元数据库初始化命令:

cd /export/server/hive

bin/schematool -initSchema -dbType mysql -verbos

  • # 初始化成功后,会在MySQL的hive库中新建74张元数据管理的表。

  • 确保Hive文件夹所属为hadoop用户
chown -R hadoop:hadoop apache-hive-3.1.3-bin hive
  • 创建一个hive的日志文件夹:

mkdir /export/server/hive/logs

  • 启动元数据管理服务(必须启动,否则无法工作)

前台启动:bin/hive --service metastore

后台启动:nohup bin/hive --service metastore >> logs/metastore.log 2>&1 &

  • 启动客户端,二选一(当前先选择Hive Shell方式)

Hive Shell方式(可以直接写SQL): bin/hive

Hive ThriftServer方式(不可直接写SQL,需要外部客户端链接使用): bin/hive --service hiveserver2

阿里云部署:

3.Hive初体验

 

4.Hive 客户端

 

#先启动metastore服务 然后启动hiveserver2服务
nohup bin/hive --service metastore >> logs/metastore.log 2>&1 &
nohup bin/hive --service hiveserver2 >> logs/hiveserver2.log 2>&1 &

netstat -anp | grep 10000

5.Hive 原理

 

内部标,外部表:

row format delimited fields terminated by '\t':表示以\t分隔

数据加载:

分区表:

分桶表:

set hive.enforce.bucketing=true;

create table course (c_id string,c_name string,t_id string) clustered by(c_id) into 3 buckets row format delimited fields terminated by '\t';

 

修改表:

Array复杂类型:

create table myhive.test_array(name string, work_locations array<string>)
row format delimited fields terminated by '\t'
COLLECTION ITEMS TERMINATED BY ',';

Map复杂类型:

 

create table myhive.test_map(
id int, name string, members map<string,string>, age int
)
row format delimited
fields terminated by ','
COLLECTION ITEMS TERMINATED BY '#' 
MAP KEYS TERMINATED BY ':';

 Struct复杂类型:

create table myhive.test_struct(
id string, info struct<name:string, age:int>
)
row format delimited
fields terminated by '#'
COLLECTION ITEMS TERMINATED BY ':';

 

数据查询:

掌握SELECT、聚合、GROUP BY、JOIN、ORDER BY等基础SQL查询:

准备数据:订单表

CREATE DATABASE itheima;
USE itheima;
CREATE TABLE itheima.orders (
    orderId bigint COMMENT '订单id',
    orderNo string COMMENT '订单编号',
    shopId bigint COMMENT '门店id',
    userId bigint COMMENT '用户id',
    orderStatus tinyint COMMENT '订单状态 -3:用户拒收 -2:未付款的订单 -1:用户取消 0:待发货 1:配送中 2:用户确认收货',
    goodsMoney double COMMENT '商品金额',
    deliverMoney double COMMENT '运费',
    totalMoney double COMMENT '订单金额(包括运费)',
    realTotalMoney double COMMENT '实际订单金额(折扣后金额)',
    payType tinyint COMMENT '支付方式,0:未知;1:支付宝,2:微信;3、现金;4、其他',
    isPay tinyint COMMENT '是否支付 0:未支付 1:已支付',
    userName string COMMENT '收件人姓名',
    userAddress string COMMENT '收件人地址',
    userPhone string COMMENT '收件人电话',
    createTime timestamp COMMENT '下单时间',
    payTime timestamp COMMENT '支付时间',
    totalPayFee int COMMENT '总支付金额'
) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
LOAD DATA LOCAL INPATH '/home/hadoop/itheima_orders.txt' INTO TABLE itheima.orders;

准备数据:用户表

CREATE TABLE itheima.users (
    userId int,
    loginName string,
    loginSecret int,
    loginPwd string,
    userSex tinyint,
    userName string,
    trueName string,
    brithday date,
    userPhoto string,
    userQQ string,
    userPhone string,
    userScore int,
    userTotalScore int,
    userFrom tinyint,
    userMoney double,
    lockMoney double,
    createTime timestamp,
    payPwd string,
    rechargeMoney double
) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
LOAD DATA LOCAL INPATH '/home/hadoop/itheima_users.txt' INTO TABLE itheima.users;

rlike关键字进行正则匹配:

 

UNION关键字进行查询结果的联合:

 

表数据进行采样操作:

虚拟列的使用方式:

函数:

使用show functions查看当下可用的所有函数;
通过describe function extended funcname来查看函数的使用方式。

----Mathematical Functions 数学函数-------

------ --取整函数: round  返回double类型的整数值部分 (遵循四舍五入)

select round(3.1415926);

--指定精度取整函数: round(double a, int d) 返回指定精度d的double类型

select round(3.1415926,4);

--取随机数函数: rand 每次执行都不一样 返回一个0到1范围内的随机数

select rand();

--指定种子取随机数函数: rand(int seed) 得到一个稳定的随机数序列

select rand(3);

--求数字的绝对值

select abs(-3);

--得到pi值(小数点后15位精度)

select pi();

 

案例:

--如果数据库已存在就删除

drop database if exists db_msg cascade ;

--创建数据库

create database db_msg ;

--切换数据库

use db_msg ;

--列举数据库

show databases ;

--如果表已存在就删除
drop table if exists db_msg.tb_msg_source ;
--建表
create table db_msg.tb_msg_source(
msg_time string comment "消息发送时间",
sender_name string comment "发送人昵称",
sender_account string comment "发送人账号",
sender_sex string comment "发送人性别",
sender_ip string comment "发送人ip地址",
sender_os string comment "发送人操作系统",
sender_phonetype string comment "发送人手机型号",
sender_network string comment "发送人网络类型",
sender_gps string comment "发送人的GPS定位",
receiver_name string comment "接收人昵称",
receiver_ip string comment "接收人IP",
receiver_account string comment "接收人账号",
receiver_os string comment "接收人操作系统",
receiver_phonetype string comment "接收人手机型号",
receiver_network string comment "接收人网络类型",
receiver_gps string comment "接收人的GPS定位",
receiver_sex string comment "接收人性别",
msg_type string comment "消息类型",
distance string comment "双方距离",
message string comment "消息内容"
);

load data local inpath '/home/hadoop/chat_data-30W.csv' overwrite into table tb_msg_source;

 

select 
    msg_time, sender_name, sender_ip, sender_phonetype, receiver_name, receiver_network 
from tb_msg_source limit 10;

完成数据源的清洗工作:

select   msg_time,   sender_name,  sender_gps from db_msg.tb_msg_source where length(sender_gps) = 0 limit 10;

select   msg_time from db_msg.tb_msg_source limit 10;

select   sender_gpsfrom db_msg.tb_msg_sourcelimit 10;

create table db_msg.tb_msg_etl(
msg_time string comment "消息发送时间",
sender_name string comment "发送人昵称",
sender_account string comment "发送人账号",
sender_sex string comment "发送人性别",
sender_ip string comment "发送人ip地址",
sender_os string comment "发送人操作系统",
sender_phonetype string comment "发送人手机型号",
sender_network string comment "发送人网络类型",
sender_gps string comment "发送人的GPS定位",
receiver_name string comment "接收人昵称",
receiver_ip string comment "接收人IP",
receiver_account string comment "接收人账号",
receiver_os string comment "接收人操作系统",
receiver_phonetype string comment "接收人手机型号",
receiver_network string comment "接收人网络类型",
receiver_gps string comment "接收人的GPS定位",
receiver_sex string comment "接收人性别",
msg_type string comment "消息类型",
distance string comment "双方距离",
message string comment "消息内容",
msg_day string comment "消息日",
msg_hour string comment "消息小时",
sender_lng double comment "经度",
sender_lat double comment "纬度"
);

INSERT OVERWRITE TABLE db_msg.tb_msg_etl
SELECT 
    *, 
    day(msg_time) as msg_day, 
    HOUR(msg_time) as msg_hour, 
    split(sender_gps, ',')[0] AS sender_lng,
    split(sender_gps, ',')[1] AS sender_lat
FROM tb_msg_source WHERE LENGTH(sender_gps) > 0;

select    msg_time, msy_day, msg_hour, sender_gps, sender_lng, sender_latfrom db_msg.tb_msg_etllimit 10;

基于Hive完成需求的各个指标计算:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

android进阶-Binder

参考&#xff1a;Android——Binder机制-CSDN博客 机制&#xff1a;Binder是一种进程间通信的机制 驱动&#xff1a;Binder是一个虚拟物理设备驱动 应用层&#xff1a;Binder是一个能发起进程间通信的JAVA类 Binder相对于传统的Socket方式&#xff0c;更加高效Binder数据拷贝…

​​​【收录 Hello 算法】5.1 栈

目录 5.1 栈 5.1.1 栈的常用操作 5.1.2 栈的实现 1. 基于链表的实现 2. 基于数组的实现 5.1.3 两种实现对比 5.1.4 栈的典型应用 5.1 栈 栈&#xff08;stack&#xff09;是一种遵循先入后出逻辑的线性数据结构。 我们可以将栈类比为桌面上的一摞盘子…

融资融券概念和操纵流程,案例解析

融资融券是一种金融工具&#xff0c;它允许投资者在证券市场上进行杠杆交易。简单来说&#xff0c;融资就是借钱买股票&#xff0c;融券就是借股票卖出。这种交易方式可以帮助投资者在短期内获得更高的收益&#xff0c;但同时也伴随着较高的风险。 案例背景&#xff1a; 假设…

JavaWeb--13Mybatis(2)

Mybatis&#xff08;2&#xff09; 1 Mybatis基础操作1.1 需求和准备工作1.2 删除员工日志输入参数占位符 1.3 新增员工1.4 修改员工信息1.5 查询员工1.5.1 根据ID查询数据封装 1.5.3 条件查询 2 XML配置文件规范3 MyBatis动态SQL3.1 什么是动态SQL3.2 动态SQL-if更新员工 3.3 …

C语言 | Leetcode C语言题解之第82题删除排序链表中的重复元素II

题目&#xff1a; 题解&#xff1a; struct ListNode* deleteDuplicates(struct ListNode* head) {if (!head) {return head;}struct ListNode* dummy malloc(sizeof(struct ListNode));dummy->next head;struct ListNode* cur dummy;while (cur->next && cu…

【回溯 状态压缩 深度优先】37. 解数独

本文涉及知识点 回溯 状态压缩 深度优先 LeetCode37. 解数独 编写一个程序&#xff0c;通过填充空格来解决数独问题。 数独的解法需 遵循如下规则&#xff1a; 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只…

3d如何同时贴两个图在模型上?---模大狮模型网

在3D设计中&#xff0c;为模型贴上纹理或图案是常见的操作&#xff0c;可以使模型更加逼真和生动。然而&#xff0c;有时候我们需要在同一个模型上同时贴上两个不同的图案&#xff0c;这可能会对初学者构成一定的挑战。在本文中&#xff0c;我们将分享一些简单而有效的方法&…

基于SSM框架多人命题系统

采用技术 基于SSM框架多人命题系统的设计与实现~ 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringMVCMyBatis 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 页面展示效果 学生端 登录 个人中心 公告信息 试题信息 管理员 登录 个人信息…

阳光厨房/明厨亮灶解决方案

现状分析 随着社会和科技的进步&#xff0c;日益增多的食品安全问题&#xff0c;国家四部委市场监督管理总局、教育部、公安部、国家卫生健康委联合印发《校园食品安全守护行动方案&#xff08;2020年—2022年&#xff09;》“互联网明厨亮灶”工程号召&#xff0c;对食品、餐饮…

机器学习-L1正则/L2正则

机器学习-L1正则/L2正则 目录 1.L1正则 2.L2正则 3.结合 1.L1正则 L1正则是一种用来约束模型参数的技术&#xff0c;常用于机器学习和统计建模中&#xff0c;特别是在处理特征选择问题时非常有用。 想象一下&#xff0c;你在装备行囊准备去旅行&#xff0c;但你的行囊有一…

详解Python测试框架Pytest的参数化

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 上篇博文介绍过&#xff0c;Pytest是目前比较成熟功能齐全的测试框架&#xff0c;使用率肯定也不…

【深度学习】Diffusion扩散模型原理解析2

由于篇幅受限&#xff0c;CSDN不能发布超过一定次数的文章&#xff0c;故在此给出上一篇链接&#xff1a;【深度学习】diffusion原理解析 3.2、目标函数求解 里面的最后一项&#xff0c; q ( x T ∣ x 0 ) q(x_T|x_0) q(xT​∣x0​)我们前面提到过&#xff0c;其近似服从标准…

flowable多对并发网关跳转的分析

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 http://218.75.87.38:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a; h…

C++:虚函数表Hook

Hook 在计算机编程中&#xff0c;"Hook"&#xff08;钩子&#xff09;是一种技术&#xff0c;用于拦截并修改特定事件或函数的执行流程。它允许程序员在特定的代码点插入自定义的代码&#xff0c;以实现对程序行为的修改、监视或增强。 虚函数表Hook 虚函数表&#…

控制台打印空数组展开有数据

控制台打印空数组展开有数据 控制台显示&#xff1a; 代码如下&#xff1a; export const getDict1 (dictCode) > {let list []queryDict({ dictCode }).then(({data}) > {list.push( ...data.map(item > ({ label: item.itemText, value: item.itemValue })))})c…

目标检测算法YOLOv7简介

YOLOv7由Chien-Yao Wang等人于2022年提出&#xff0c;论文名为&#xff1a;《YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors》&#xff0c;论文见&#xff1a;https://arxiv.org/pdf/2207.02696 &#xff0c;项目网页&#xff…

解决 git 因输入密码错误而导致的报错无法推送问题

报错内容如下&#xff1a; > git push origin master:master fatal: unable to access https://gitee.com/spring-in-huangxian-county/web-tts-vue.git/: OpenSSL SSL_connect: Connection was reset in connection to gitee.com:443 出错原因 根本原因是本机存储的 账户…

大型动作模型 (LAM):AI 驱动的交互的下一个前沿

1.概述 现在人工智能中几个关键的领域&#xff0c;包括生成式人工智能&#xff08;Generative AI&#xff09;、大型动作模型&#xff08;Large Action Models, LAM&#xff09;、以及交互式人工智能&#xff08;Interactive AI&#xff09;。以下是对这些概念的简要解释和它们…

数据库管理-第187期 23ai:怎么用SQL创建图(20240510)

数据库管理187期 2024-05-10 数据库管理-第187期 23ai:怎么用SQL创建图&#xff08;20240510&#xff09;1 安装PGX1.1 数据库配置对应用户1.2 使用RPM包安装Graph Server1.3 安装Oracle Graph Client1.4 访问PGX页面 2 SQL Property Graph2.1 创建SQL属性图2.2 关于点和边图元…

c++11 标准模板(STL)本地化库 - 平面类别(std::money_put) - 格式化货币值为字符序列以输出

本地化库 本地环境设施包含字符分类和字符串校对、数值、货币及日期/时间格式化和分析&#xff0c;以及消息取得的国际化支持。本地环境设置控制流 I/O 、正则表达式库和 C 标准库的其他组件的行为。 平面类别 格式化货币值为字符序列以输出 std::money_put template< …