hive-进阶版-1
第6章 hive内部表与外部表的区别
Hive 是一个基于 Hadoop 的数据仓库工具,用于对大规模数据集进行数据存储、查询和分析。Hive 支持内部表(Managed Table)和外部表(External Table)两种表类型,它们在数据存储、管理方式和生命周期等方面存在显著区别。以下是内部表和外部表的主要区别:
1. 数据存储位置
- 内部表:数据存储在 Hive 的默认存储目录下,通常位于 HDFS(Hadoop Distributed File System)的某个指定路径中。具体路径由 Hive 配置决定,例如
/user/hive/warehouse
。当创建内部表时,Hive 会自动将数据存储到这个目录下。 - 外部表:数据存储在用户指定的路径中,这个路径可以是 HDFS 的任意位置,也可以是其他支持的存储系统(如 S3)。外部表的数据存储位置由用户在创建表时明确指定。
2. 数据管理方式
2.1内部表:
- Hive 对数据拥有完全控制权。当删除内部表时,Hive 会同时删除表的元数据和存储的数据文件。
- 数据的加载、更新和删除操作都由 Hive 管理,用户不需要手动操作底层存储。
2.2外部表:
- Hive 只管理表的元数据(如表结构、列信息等),而不管理数据文件本身。数据文件的创建、更新和删除需要用户自行管理。
- 当删除外部表时,Hive 只会删除表的元数据,而不会删除存储在指定路径中的数据文件。
3. 数据生命周期
- 内部表:数据的生命周期与表的生命周期紧密绑定。一旦表被删除,数据也会被自动清理,因此数据的存储和管理完全依赖于 Hive。
- 外部表:数据的生命周期独立于表的生命周期。即使外部表被删除,数据仍然保留在指定的存储路径中,不会被清理。用户可以在需要时重新创建表并关联到这些数据。
4. 适用场景
4.1内部表:
- 适用于数据完全由 Hive 管理的场景,例如数据仓库中的事实表和维度表。
- 当数据需要频繁更新或删除时,内部表更适合,因为 Hive 可以高效地管理这些操作。
4.2外部表:
- 适用于数据需要共享或与其他系统集成的场景。例如,数据可能同时被 Hive 和其他工具(如 Spark、Pig 或其他 Hadoop 生态系统工具)使用。
- 当数据存储在外部系统(如 S3 或其他云存储)时,外部表是更好的选择。
- 如果数据需要保留,即使表被删除,外部表可以确保数据不会丢失。
5. 创建语法
内部表:
CREATE TABLE internal_table (id INT,name STRING
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
外部表:
CREATE EXTERNAL TABLE external_table (id INT,name STRING
)
LOCATION '/path/to/external/data';
示例:
CREATE EXTERNAL TABLE employees (emp_id INT,emp_name STRING,emp_age INT,emp_position STRING
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION '/path/to/employees.txt';
-
CREATE EXTERNAL TABLE
:声明这是一个外部表。 -
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
:指定字段分隔符为逗号。 -
LOCATION '/path/to/employees.txt'
:指定数据存储的位置。
注意:请将 /path/to/employees.txt
替换为实际的 HDFS 路径。
第7章 关于hive使用的一些技巧
1.可以直接不进入hive的情况下执行SQL
通过shell的参数-e可以执行一次就运行完的命令
hive -e "select * from yhdb_student"
在查询的结果显示字段名:
set hive.cli.print.header=true; ------临时,重启后再一次执行
永久设置:修改/opt/installs/hive/conf/.hiverc文件
追加一条:set hive.cli.print.header=true;
2. hive可以直接运行SQL文件
1. 创建 SQL 文件
首先,将你的 Hive SQL 语句保存到一个文件中,例如 script.sql
。文件内容可以是单条或多条 SQL 语句,例如:
-- script.sql
CREATE TABLE IF NOT EXISTS my_table (
id INT,
name STRING,
age INT
);INSERT INTO TABLE my_table VALUES (1, 'Alice', 30), (2, 'Bob', 25);
SELECT * FROM my_table;
2. 在 Hive 命令行中运行 SQL 文件
方法 1:使用 -f
参数
在 Hive 命令行中,使用 -f
参数指定 SQL 文件路径:
hive -f /path/to/script.sql
方法 2:在 Hive Shell 中运行
如果你已经进入了 Hive Shell,可以使用 source
命令运行 SQL 文件
hive
hive> source /path/to/script.sql;
3. 参数化 SQL 文件(可选)
如果你需要在运行时传递参数到 SQL 文件中,可以通过 Hive 的变量替换功能实现。例如:
SQL文件示例:
-- script.sql
CREATE TABLE IF NOT EXISTS my_table (id INT,name STRING,age INT
);INSERT INTO TABLE my_table VALUES (1, '${hiveconf:name}', 30);SELECT * FROM my_table;
运行时传递参数
hive -f /path/to/script.sql -hiveconf name="Alice"
-
${hiveconf:name}
是一个变量占位符,-hiveconf name="Alice"
会将变量name
的值设置为"Alice"
。 -
Hive 会替换
${hiveconf:name}
为"Alice"
,然后执行 SQL 文件。
查询日志:
hive -f /path/to/script.sql -v
3.hive中执行Linux命令
Hive Shell 支持通过 !
符号直接运行 Linux 命令。例如:
!ls /path/to/directory;
4.在hive中操作hdfs
1. 在 Hive 中执行 HDFS 命令
Hive 提供了直接执行 HDFS 命令的功能。你可以在 Hive Shell 中通过 dfs
命令来操作 HDFS,格式为:
查看 HDFS 目录下的文件:
dfs -ls /user/hive/warehouse/;
将 HDFS 中的文件复制到本地:
dfs -get /user/hive/warehouse/mydb.db/myfile.txt ./local_directory/;
将本地文件上传到 HDFS:
dfs -put /local_path/myfile.txt /user/hive/warehouse/mydb.db/;
2. 将 HDFS 文件加载到 Hive 表中
你可以通过 Hive 的 LOAD DATA INPATH
语句将 HDFS 上的文件加载到 Hive 表中。步骤如下:
2.1创建hive表
CREATE TABLE my_table (
column1 STRING,
column2 INT
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
2.2加载数据
LOAD DATA INPATH '/path/to/hdfs/file' INTO TABLE my_table;
其中 /path/to/hdfs/file
是 HDFS 上文件的实际路径。
3. 在 Hive 中查看表的 HDFS 存储路径
DESCRIBE FORMATTED my_table;
第8章 hive中SQL基础查询
1. 查询表中的所有数据
SELECT * FROM table_name;
2. 查询指定列
SELECT column1, column2, column3 FROM table_name;
3. 添加条件过滤(WHERE 子句)
SELECT emp_name, emp_age FROM employees
WHERE emp_age > 30;
4. 使用比较运算符
SELECT * FROM employees
WHERE emp_age >= 25 AND emp_age <= 35;
5. 使用逻辑运算符
- AND:同时满足多个条件。
- OR:满足任意一个条件。
- NOT:对条件取反。
SELECT * FROM employees
WHERE emp_age > 30 OR emp_position = 'Manager';
6. 使用 IN
和 NOT IN
- IN:用于指定多个可能的值。
- NOT IN:用于排除指定的值。
SELECT * FROM employees
WHERE emp_position IN ('Manager', 'Engineer');
7. 使用 LIKE
和通配符
- LIKE:用于模糊查询。
- %:匹配任意字符序列。
- _:匹配任意单个字符。
SELECT * FROM employees
WHERE emp_name LIKE 'J%'; -- 匹配以 "J" 开头的名字
8. 使用 ORDER BY
排序
SELECT emp_name, emp_age FROM employees
ORDER BY emp_age DESC;
9. 使用 LIMIT
限制结果数量
SELECT * FROM table_name
LIMIT n;
10. 使用 GROUP BY
进行分组
SELECT emp_position, COUNT(*) AS num_employees
FROM employees
GROUP BY emp_position;
11. 使用 HAVING
筛选分组
SELECT emp_position, COUNT(*) AS num_employees
FROM employees
GROUP BY emp_position
HAVING COUNT(*) > 2;
12. 使用 JOIN
进行表连接
--inner joinSELECT a.emp_id, a.emp_name, b.department_name
FROM employees a
JOIN departments b
ON a.department_id = b.department_id; --left joinSELECT a.emp_id, a.emp_name, b.department_name
FROM employees a
LEFT JOIN departments b
ON a.department_id = b.department_id;
13. 使用子查询
SELECT emp_name, emp_age
FROM employees
WHERE emp_id IN (SELECT emp_idFROM salariesWHERE salary > 5000
);
14. 使用 UNION ALL
合并结果
SELECT column1, column2 FROM table1
UNION ALL
SELECT column1, column2 FROM table2;
15. 使用 DISTINCT
去重
SELECT DISTINCT column1, column2 FROM table_name;
第9章 hive -复杂数据类型用法
1、ARRAY类型
在Hive中,ARRAY
是一种复杂数据类型,用于存储相同类型的有序集合。
1.1定义与创建
ARRAY
类型可以通过array<type>
语法定义,其中type
表示数组中元素的数据类型。例如,创建一个包含字符串数组的表:
CREATE TABLE example_table (id INT,names ARRAY<STRING>
)row format delimitedfields terminated by '\t' --tab空格collection items terminated by '.'lines terminated by '\n'stored as textfile;
2. 插入数据
INSERT INTO example_table VALUES (1, array('Alice', 'Bob', 'Charlie'));
3. 查询数组数据
3.1 访问数组元素
可以通过下标访问数组中的元素,下标从0开始。例如:
SELECT names[0] AS first_name FROM example_table;
3.3 获取数组长度
使用size
函数可以获取数组的长度:
SELECT size(names) AS array_length FROM example_table;
3.4 对数组排序
使用sort_array
函数可以对数组进行排序:
SELECT sort_array(names) AS sorted_names FROM example_table;
4. 嵌套使用
ARRAY
可以与其他复杂数据类型嵌套使用。例如,创建一个包含结构体数组的表:
CREATE TABLE nested_table (
user_id INT,
user_info ARRAY<STRUCT<name:STRING, age:INT>>
);
插入数据
INSERT INTO nested_table VALUES (1, array(named_struct('name', 'Alice', 'age', 25), named_struct('name', 'Bob', 'age', 30)));
查询嵌套数据
SELECT user_info[0].name, user_info[0].age FROM nested_table;
2.explode的用法
1. explode
函数的基本用法
explode
函数可以将array
或map
类型的列展开为多行数据。具体用法如下:
1.1 对array
类型展开
将数组中的每个元素拆分为单独的行:
SELECT explode(array('apple', 'banana', 'pear')) AS fruit;
+---结果----+
| fruit |
+-------+
| apple |
| banana|
| pear |
+-------+
1.2 对map
类型展开
SELECT explode(map('a', 1, 'b', 2)) AS (key, value);
+-----+结果-------+
| key | value |
+-----+-------+
| a | 1 |
| b | 2 |
+-----+-------+
2. 展开字符串类型
explode
不直接支持字符串类型,但可以通过split
函数将字符串转换为数组,然后再使用explode
:
SELECT explode(split('apple,banana,pear', ',')) AS fruit;
+-------+结果
| fruit |
+-------+
| apple |
| banana|
| pear |
+-------+
3. 结合LATERAL VIEW
使用
为了克服explode
的局限性,通常会结合LATERAL VIEW
一起使用。LATERAL VIEW
可以将explode
生成的结果与原表的其他字段关联起来:
SELECT id, fruit
FROM array_table
LATERAL VIEW explode(items) exploded_items AS fruit;
3.map的使用以及练习
在 Hive 中,MAP
是一种复杂数据类型,用于存储键值对(Key-Value)结构的数据。
1. Hive 中 MAP
的基本概念
MAP
是一种无序的键值对集合,键(Key)必须是唯一的,而值(Value)可以是任意数据类型(如 STRING、INT、ARRAY 等)。键通常为 STRING 类型。
2. 创建包含 MAP
字段的表
可以通过 CREATE TABLE
语句创建一个包含 MAP
类型字段的表。例如:
CREATE TABLE user_info (
user_id INT,
user_attributes MAP<STRING, STRING>
);
在这个例子中,user_attributes
是一个 MAP
类型字段,键和值都是字符串。
3. 向 MAP
字段插入数据
使用 INSERT INTO
语句向表中插入数据,可以通过 MAP
函数构造键值对。例如:
INSERT INTO TABLE user_info VALUES
(1, MAP('name', 'Alice', 'age', '30')),
(2, MAP('name', 'Bob', 'age', '25'));
在这个例子中,MAP
函数用于创建键值对。
4. 查询 MAP
数据
4.1查询 MAP
中的某个键值
可以通过 []
运算符访问 MAP
中的特定键值。例如:
SELECT user_id, user_attributes['name'] AS name, user_attributes['age'] AS age
FROM user_info;
4.2查询 MAP
的所有键或值
可以使用 map_keys()
和 map_values()
函数分别获取 MAP
的所有键和值。例如:
SELECT map_keys(user_attributes) AS keys, map_values(user_attributes) AS values
FROM user_info;
结果会返回一个数组,包含所有键或值。
合并两个 MAP
可以使用 map_concat()
函数合并两个 MAP
。例如:
SELECT map_concat(map('gender', 'female'), user_attributes)
FROM user_info;
5. 练习示例
示例 1:创建表并插入数据、
CREATE TABLE student_scores (student_id INT,scores MAP<STRING, INT>
);INSERT INTO TABLE student_scores VALUES
(1, MAP('Math', 90, 'English', 85)),
(2, MAP('Math', 70, 'English', 80));
示例 2:查询特定科目成绩
SELECT student_id, scores['Math'] AS math_score
FROM student_scores;
示例 3:查询包含特定键值的数据
SELECT * FROM student_scores
WHERE scores['Math'] > 80;
示例 4:合并 MAP
SELECT student_id, map_concat(map('Science', 95), scores)
FROM student_scores;
相关文章:
hive-进阶版-1
第6章 hive内部表与外部表的区别 Hive 是一个基于 Hadoop 的数据仓库工具,用于对大规模数据集进行数据存储、查询和分析。Hive 支持内部表(Managed Table)和外部表(External Table)两种表类型,它们在数据…...
规模效应的三重边界:大白话解读-deepseek为例
前言:当Scaling Laws遇见边际递减效应 在人工智能的狂飙突进中,大语言模型如同不断膨胀的星体,吞噬着海量算力与数据。OpenAI于2020年揭开的Scaling Laws,曾为这场盛宴指明方向:模型性能随参数规模(N&…...
考研系列-408真题计算机网络篇(18-23)
写在前面 此文章是本人在备考过程中408真题计算机网络部分(2018年-2023年)的易错题及相应的知识点整理,后期复习也常常用到,对于知识提炼归纳理解起到了很大的作用,分享出来希望帮助到大家~ # 2018 1.停止-等待协议的…...
windows协议不再续签,华为再无windows可用,将于四月发布鸿蒙PC
大家好,我是国货系创始人张云泽,最近不少小伙伴在后台问:“听说Windows协议要到期了?我的电脑会不会变砖?”还有人说:“华为笔记本以后用不了Windows了?鸿蒙系统能用吗?”今天咱们就…...
【二分算法】-- 点名
文章目录 1. 题目2. 题目解析3. 代码 1. 题目 在线oj 2. 题目解析 前四种解决方法: 哈希表直接遍历找结果位运算数学(高斯求和公式) 这四种方法的时间复杂度都是0(N) 第五种解决方法: 【二段性】&…...
强化学习 - PPO控制无人机
PPO(Proximal Policy Optimization,近端策略优化)是一种强化学习算法,用于训练智能体(无人机)如何在环境中做出决策。它本质上是 策略梯度(Policy Gradient)方法 的一种改进…...
【AHE数据集】 NCAR Anthropogenic Heat Flux (AHF) 数据集
数据概述 数据集由 美国国家大气研究中心(NCAR, National Center for Atmospheric Research) 的 气候与全球动力学实验室(CGD, Climate & Global Dynamics Laboratory) 提供。NCAR 由 美国国家科学基金会(NSF, National Science Foundation) 资助,并由 大学大气研究…...
Part1:基于国内源完成Kubernetes集群部署
集群规划 操作系统:CentOS7 内核版本:5.4(需升级) 组件版本说明操作系统内核5.4RPM方式升级docker26.1.4yum安装cri-docker0.3.16二进制安装kubeadm1.30.11yum安装kubealet1.30.11yum安装kubectl1.30.11yum安装kubectl1.30.11yu…...
强化学习的一些概念
目录 强化学习 打个比方 核心要素 State Action Reward 几个代码demo 学习目标 强化学习 强化学习(Reinforcement Learning, RL)是机器学习的一个分支,旨在让智能体(Agent)通过与环境的交互学习最优策略,以…...
花生好车:重构汽车新零售生态的破局者
在传统汽车零售行业面临消费升级与渠道变革的双重压力下,花生好车以颠覆性的商业模式在短短九年内崛起为行业独角兽。这家成立于2015年的汽车新零售平台,通过重构供应链体系、创新融资租赁模式、深耕下沉市场三大战略维度,正在重塑中国汽车消…...
K8S下nodelocaldns crash问题导致域名请求响应缓慢
前言 最近做项目,有业务出现偶发的部署导致响应很慢的情况,据了解,业务使用域名访问,相同的nginx代理,唯一的区别就是K8S重新部署了。那么问题大概率出现在容器平台,毕竟业务是重启几次正常,偶…...
实现悬浮按钮拖动,兼容h5和微信小程序
h5用js写,微信小程序用 代码里面没有完全实现吸附边缘的功能,需要吸附边缘的话还得自己再完善下(h5的吸附边缘是可以的,小程序的还有点问题) 主要功能是:图片上写文字的悬浮按钮,文字使用的是…...
SLC跨头协作机制
SLC跨头协作机制 SLC(Self-attention with Local Communication,或类似跨头协作机制)在Transformer架构中通过以下逻辑帮助注意力头优化分布: 1. 多头注意力的「独立-协作」平衡 传统多头注意力中,每个头独立计算注意力(如Query/Key/Value的线性变换),捕捉不同语义模…...
全国医院数据可视化分析系统
【大数据】全国医院数据可视化分析系统 (完整系统源码开发笔记详细部署教程)✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 🏥 项目名:医疗导航神器!——《基于大数据的微医挂号网医院数据可视…...
Flash Attention原理讲解
目录 前言0. 简述1. self-attention2. roofline model3. 矩阵分块4. softmax分块5. FlashAttention结语参考 前言 看了几个视频和几篇文章学习了下 Flash Attention,记录下个人学习笔记,仅供自己参考😄 refer1:Flash Attention 为…...
python二级复习(1)
临近计算机二级考试了,开始python的复习 python语言基础: 1.用缩进表示代码块:一般用四个空格或者一个tab 2.代码的注释方法: 单行注释用“#”表示注释开始;多行注释是用三个英文的单引号“‘’”或双引号““”"”作为注释的开始和结束符号。 03. 标识符命…...
基于cat1的贵重物品的状态和位置小型监控系统特色解析
一 项目需求 团队研发出来一款搭载多传感器的无线cat1定位和状态监控的设备。该设备主要面对的贵重物品运输过程中的状态监控,比如,是否被打开过,有没有激烈碰撞,位置信息等。主要应用场景是医疗,安防等贵重物品的状态…...
Python 魔法方法介绍
在 Python 中,魔法方法(Magic Methods)是一类特殊的内置方法,它们通常以双下划线开头和结尾(例如 __init__、__str__、__add__ 等)。这些方法通常用于实现特定的语法或操作符行为,或者用于定义对象的行为。它们是 Python 面向对象编程中的一个重要特性,可以让类的行为更…...
golang time包和日期函数
1.简介 在程序中日期和时间是我们经常会用到的,在go中time包提供了时间的显示和测量函数。 2.获取当前时间 通过time.Now()函数获取当前时间对象,然后获取时间对象的年月日时分秒等值。 now : time.Now()fmt.Printf("now%v type%T\n", now…...
第7章 站在对象模型的尖端2: 异常处理
1.异常处理(Exception Handling) C的异常处理由三个主要组成部分构成:throw表达式、catch子句和try块。当异常被抛出时,程序控制权会转移,并且会沿着调用堆栈回溯,直到找到匹配的catch子句。在此过程中,局部对象的析构…...
不同路径——2
给定一个 m x n 的整数数组 grid。一个机器人初始位于 左上角(即 grid[0][0])。机器人尝试移动到 右下角(即 grid[m - 1][n - 1])。机器人每次只能向下或者向右移动一步。 网格中的障碍物和空位置分别用 1 和 0 来表示。机器人的…...
电子招采软件系统,如何实现10年可追溯审计
一、在当前经济环境下,中小企业面临着巨大的生存压力,传统产业的数字化转型迫在眉睫。AI技术为企业的低成本高效发展提供了新机会,混合办公成为新常态,数据安全法的深入落实则进一步推动企业重视数据安全。区块链存证技术凭借独特…...
TS常见内置映射类型的实现及应用场景
以下是 TypeScript 在前端项目中 常用的映射类型(Mapped Types),结合具体场景和代码示例,帮助开发者高效处理复杂类型: 一、基础映射类型 1. Partial<T> 作用:将对象类型 T 的所有属性变为可选。 实…...
本地部署Deep Seek-R1,搭建个人知识库——笔记
目录 一、本地部署 DeepSeek - R1 1:安装Ollama 2:部署DeepSeek - R1模型 3:安装Cherry Studio 二、构建私有知识库 一、本地部署 DeepSeek - R1 1:安装Ollama 1.打开Ollama下载安装 未科学上网,I 先打开迅雷再下…...
东芝2323AMW复印机安装纸盒单元后如何添加配件选项
如何添加请看下面图示: 找到设备和打印机里找到打印机图标,右键打印机属性,找到配置,添加相应配置功能;打印机属性,加上双面或者2纸盒配件选项; Word打印时,打印机名称,后…...
EasyExcel动态拆分非固定列Excel表格
使用EasyExcel动态拆分非固定列Excel表格 在Excel数据解析场景中,动态列结构拆分是典型挑战(如供应链系统中不同品类的属性字段差异较大)。传统基于POJO映射的方案无法应对列数量不固定的场景。本方案采用EasyExcel的动态模型解析和Map数据…...
开源WAF雷池本地化部署与远程查看网站安全防护的详细操作指南
文章目录 前言1.关于SafeLine2.安装Docker3.本地部署SafeLine4.使用SafeLine5.cpolar内网穿透工具安装6.创建远程连接公网地址7.固定Uptime Kuma公网地址 前言 各位建站小能手们,无论是想搭建个人博客、企业官网还是各种应用平台来推广自己的内容或产品,…...
由一个话题进入DFMEA(设计失效模式及影响分析)
前言 最近看到了知乎的一个话题“为啥撞车后总是看到雨刮器在摆动?”,联想到产品设计中的一些功能安全设计,也借此机会学习DFMEA,讨论一下我个人对于DFMEA的理解。 有纰漏请指出,转载请说明。 学习交流请发邮件 128…...
Redisson 实现分布式锁源码浅析
大家好,我是此林。 今天来分享Redisson分布式锁源码。还是一样,我们用 问题驱动 的方式展开讲述。 1. redis 中如何使用 lua 脚本? Redis内置了lua解释器,lua脚本有两个好处: 1. 减少多次Redis命令的网络传输开销。…...
机试准备第17天
今天进入图论的学习。图论只考察初试学过的算法,一般都是模版题。常见考点有图相关的数据结构——邻接表法,图的遍历 BFS DFS 并查集,单源最短路径迪杰斯特拉。图由顶点和边构成,度用来说明该顶点邻接边的数量情况。权值说明了边的…...
ABAP语言的动态编程(4) - 综合案例:管理费用明细表
本篇来实现一个综合案例:管理费用明细表。报表在实际项目中,也有一定的参考意义,一方面展示类似的报表,比如管理费用、研发费用等费用的明细,使用业务比较习惯的展示格式;另一方面正好综合运用前面学习的动…...
不像人做的题————十四届蓝桥杯省赛真题解析(上)A,B,C,D题解析
题目A:日期统计 思路分析: 本题的题目比较繁琐,我们采用暴力加DFS剪枝的方式去做,我们在DFS中按照8位日期的每一个位的要求进行初步剪枝找出所有的八位子串,但是还是会存在19月的情况,为此还需要在CHECK函数…...
R语言零基础系列教程-01-R语言初识与学习路线
代码、讲义、软件回复【R语言01】获取。 R语言初识 R是一个开放的统计编程环境,是一门用于统计计算和作图的语言。“一切皆是对象”,数据、函数、运算符、环境等等都是对象。易学,代码像伪代码一样简洁,可读性高强大的统计和可视…...
即时通讯平台测试报告
1.项目概述 项目名称:即时通讯平台 版本号:V1.0.0 测试周期:2025年2月25日--2025年3月15日 测试目标:验证核心功能(登录、注册、消息收发、用户管理、群组功能等)的稳定性和性能指标。 2. 测试范围 功…...
蓝桥杯单片机内存爆了怎么办
蓝桥杯单片机内存爆了怎么办 文章目录 蓝桥杯单片机内存爆了怎么办一、参考文章二、内存区3、keil中的体现4、分配原则5、使用示例 一、参考文章 文章1 文章2 文章3 文章4 二、内存区 1 KB(千字节) 1024 B(字节) B代表Byte,1Byte8bit,一个字节8位 …...
一周热点:微软攻克语音输入、文本输出难题-Phi-4-multimodal
微软Phi-4-multimodal模型是人工智能领域的一个重要进展,它标志着微软在多模态人工智能技术上的突破。以下是对该模型的详细解释: 模型概述 微软Phi-4-multimodal是一个能够同时处理文本、图像和语音的多模态大型语言模型。它通过创新的架构和训练方法,实现了在不同模态之间…...
量化交易学习笔记02:双均线策略
双均线策略示例 个股:中国平安 回测日期:2022-5-1至2023-5-1 短均线:5天 长无线:10天 代码: def initialize(context):# 初始化此策略# 设置我们要操作的股票池, 这里我们只操作一支股票# """标的&qu…...
【WRF-Urban】使用 CGLC-MODIS-LCZ_100m 数据集运行 WRF 时的城市参数化问题
在 WRF 中,LCZ 通过 URBPARM_LCZ.TBL 进行配置,但如果 FRC_URB2D 变量缺失,WRF 会回退到默认的 URBPARM.TBL。 主要问题概述 WRF-Model-cglc-modis-lcz_100m dataset " WARNING, THE URBAN FRACTION WILL BE READ FROM URBPARM.TBL USING DEFAULT URBAN MORPHOLOGY&q…...
Selenium 自动化测试学习总结
大概了解一下即可,现在主要用的自动化工具是 playWright,它可以录制操作。 selenium是老款自动化测试工具,仍有很多可取之处。 安装: pip install selenium即可。然后下载浏览器的驱动包,注意不是浏览器!…...
开源通义万相本地部署方案,文生视频、图生视频、视频生成大模型,支持消费级显卡!
开源通义万相本地部署方案,文生视频、图生视频、视频生成大模型,支持消费级显卡! 万相2.1开源 近日,大模型万相2.1(Wan)重磅开源,此次开源采用Apache2.0协议,14B和1.3B两个参数规格…...
Suno的对手Luno:AI音乐开发「上传参考音频 - 方式一:通过二进制流的方式」 —— 「Luno Api系列|AI音乐API」第11篇
导读 今天来看下Luno Api的上传参考音频 - 方式一:通过二进制流的方式。 参考文件,主要是用于在创作的过程中,希望AI参考这个音乐的曲风和声音来进行创作,那么可以通过上传参考音乐来进行实现。 申请和使用 「已经有API的&…...
微信小程序刷题逻辑实现:技术揭秘与实践分享
页面展示: 概述 在当今数字化学习的浪潮中,微信小程序以其便捷性和实用性,成为了众多学习者刷题备考的得力工具。今天,我们就来深入剖析一个微信小程序刷题功能的实现逻辑,从代码层面揭开其神秘面纱。 小程序界面布局…...
巴耶赫利专业俄语外贸网站建设
巴耶赫利是专业俄语外贸网站建设与俄语搜索引擎Yandex SEO优化服务商。巴耶赫利致力于帮助中国品牌出海俄罗斯,打开俄罗斯市场,提升品牌在俄罗斯的知名度和美誉度。 以下是对巴耶赫利相关服务的详细介绍: 一、巴耶赫利专业俄语外贸网站建设…...
每日Attention学习25——Multi-Scale Attention Fusion
模块出处 [TCSVT 24] [link] [code] DSNet: A Novel Way to Use Atrous Convolutions in Semantic Segmentation 模块名称 Multi-Scale Attention Fusion (MSAF) 模块作用 双级特征融合 模块结构 模块思想 MSAF的主要思想是让网络根据损失学习特征权重,允许模型…...
前端学习记录:解决路由缓存问题
问题描述:响应路由参数的变化,使用带有参数的路由时需要注意的是,当用户从 /users/johnoy 导航到 /users/jolyne 时,相同的组件实例将会被重复使用。因为两个路由都渲染同个组件,比起销毁再创建,复用则显得…...
VSTO(C#)Excel开发10:启动和卸载顺序 事件处理 监视变化
初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 源码指引:github源…...
代码随想录Day16
Day16 二叉树part06 LeetCode 530.二叉搜索树的最小绝对差 题目描述 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数,其数值等于两值之差的绝对值。 示例 输入:root [4,2,6,1,3] 输出&…...
第15章:ConvNeXt图像分类实战:遥感场景分类【包含本地网页部署、迁移学习】
目录 1. ConvNeXt 模型 2. 遥感场景建筑识别 2.1 数据集 2.2 训练参数 2.3 训练结果 2.4 本地部署推理 3. 下载 1. ConvNeXt 模型 ConvNeXt是一种基于卷积神经网络(CNN)的现代架构,由Facebook AI Research (FAIR) 团队在2022年提出。…...
LinuX---Shell脚本创建和执行
概述: 它是一个命令行解释器,接收应用程序/用户命令,然后调用操作系统内核。 Shell还是一个功能强大的编程语言,易编写、易调试、灵活性强。 Linux提供的Shell解析器有 atguiguubuntu:~$ cat /etc/shells # /etc/shells: valid …...
django+vue3实现前后端大文件分片下载
效果: 大文件分片下载支持的功能: 展示目标文件信息提高下载速度:通过并发请求多个块,可以更有效地利用网络带宽断点续传:支持暂停后从已下载部分继续,无需重新开始错误恢复:单个块下载失败只…...