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

三、Hive DDL数据库操作

Apache Hive 中,数据库 (Database),有时也被称为模式 (Schema),是组织和管理 表及其他对象基本命名空间单元。熟练掌握数据库层面数据定义语言 (DDL) 操作,是构建清晰、有序的 Hive 数据仓库的第一步。本篇笔记将详细梳理 Hive 数据库的各种 DDL 语法及其应用实例

一、创建数据库 (CREATE DATABASE / SCHEMA) 🏗️

创建数据库最基本的操作,它为你的数据表提供了一个逻辑容器

  • 1. 基本创建语法
    • 语法:
CREATE DATABASE [IF NOT EXISTS] database_name;
  • 或使用 SCHEMA 关键字 (等效):
CREATE SCHEMA [IF NOT EXISTS] database_name;
  • 说明:
    • IF NOT EXISTS:如果尝试创建一个已存在的数据库,加上此子句可以避免抛出错误,命令会静默地不执行任何操作。若不加且数据库已存在,则会报错
    • database_name: 你为数据库设定的唯一名称。命名规则通常遵循字母、数字和下划线的组合,不建议使用特殊字符或 Hive 关键字
  • 示例:
-- 创建一个名为 hr_system 的数据库
CREATE DATABASE hr_system;-- 尝试创建一个名为 sales_data 的数据库,如果它不存在
CREATE DATABASE IF NOT EXISTS sales_data;-- 使用 SCHEMA 关键字创建
CREATE SCHEMA IF NOT EXISTS marketing_campaigns;
  • 2. 创建数据库并添加注释 (COMMENT)
    为数据库添加注释是一个良好实践,有助于理解数据库的用途
    • 语法:
CREATE DATABASE [IF NOT EXISTS] database_name
COMMENT '这是一个描述性的注释';
  • 示例:
CREATE DATABASE IF NOT EXISTS finance_department
COMMENT '存储所有财务相关数据的数据库';
  • 3. 创建数据库并指定存储位置 (LOCATION)
    默认情况下,Hive 会在配置文件 (hive-site.xml 中的 hive.metastore.warehouse.dir 指定的数据仓库根目录) 下为每个数据库创建一个同名子目录 (通常是 database_name.db) 来存放该数据库下所有表的数据。你可以通过 LOCATION 子句覆盖这个默认行为,将数据库的数据文件存储在 HDFS 的特定路径下。
    • 语法:
CREATE DATABASE [IF NOT EXISTS] database_name
LOCATION 'hdfs_absolute_path';
  • 说明:
    • hdfs_absolute_path: 必须是 HDFS 上的一个绝对路径。Hive 不会自动创建这个路径,你需要确保该路径已存在或者 Hive 用户有权限在该父目录下创建子目录
  • 示例:
-- 确保 HDFS 路径 /data/project_alpha/db_storage 存在或可被创建
CREATE DATABASE IF NOT EXISTS project_alpha_db
LOCATION '/data/project_alpha/db_storage';
  • 注意: 指定 LOCATION 后,该数据库下新创建的表 (如果建表时不指定表级别LOCATION) 的数据默认存放在这个数据库指定的路径下。

  • 4. 创建数据库并设置属性 (WITH DBPROPERTIES)
    你可以为数据库关联一些自定义键值对属性,这些属性存储在 Metastore 中,可以用于记录一些额外的信息

    • 语法:
CREATE DATABASE [IF NOT EXISTS] database_name
WITH DBPROPERTIES ('property_name1' = 'property_value1','property_name2' = 'property_value2',...
);
  • 示例:
CREATE DATABASE IF NOT EXISTS gaming_stats
WITH DBPROPERTIES ('owner' = 'GameDevTeam','created_date' = '2023-10-28','data_sensitivity' = 'medium'
);
  • 5. 组合使用所有子句
    当然,你可以组合使用以上各种可选子句
    • 示例:
CREATE DATABASE IF NOT EXISTS retail_analytics
COMMENT '零售业务分析数据库'
LOCATION '/dw/retail_data'
WITH DBPROPERTIES ('data_source' = 'Multiple POS Systems','refresh_frequency' = 'daily'
);

二、查看和描述数据库 👀

创建完数据库后,我们需要方法查看和了解它们的信息

  • 1. 列出所有数据库 (SHOW DATABASES / SCHEMAS)
    • 语法:
SHOW DATABASES;
  • 或使用 SCHEMAS (等效):
SHOW SCHEMAS;
  • 作用: 显示当前 Hive Metastore存在所有数据库列表
  • 示例:
SHOW DATABASES;
-- 可能的输出:
-- default
-- finance_department
-- hr_system
-- marketing_campaigns
-- my_project_db
-- project_alpha_db
-- retail_analytics
-- sales_data
-- gaming_stats
  • 2. 过滤数据库列表 (LIKE)
    你可以使用 LIKE 子句通配符 (* 匹配任意字符序列,| 用于分隔多个模式) 来过滤显示的数据库名称
    • 语法:
SHOW DATABASES LIKE 'pattern_with_wildcards';
  • 示例:
-- 显示所有以 "sales" 开头的数据库
SHOW DATABASES LIKE 'sales*';-- 显示名为 "hr_system" 或 "finance_department" 的数据库
SHOW DATABASES LIKE 'hr_system|finance_department';
  • 3. 查看数据库详细信息 (DESCRIBE DATABASE / SCHEMA)
    获取某个特定数据库详细描述
    • 基本语法:
DESCRIBE DATABASE database_name;
  • 或使用 SCHEMA (等效):
DESCRIBE SCHEMA database_name;
  • 显示更详细信息 (EXTENDED): 使用 EXTENDED 关键字可以查看数据库的所有属性 (DBPROPERTIES)。
DESCRIBE DATABASE EXTENDED database_name;
  • 示例:
DESCRIBE DATABASE retail_analytics;
-- 输出可能包含:
-- retail_analytics    hdfs://namenode_host/dw/retail_data    hadoop_user    USER    零售业务分析数据库DESCRIBE DATABASE EXTENDED gaming_stats;
-- 输出可能包含:
-- gaming_stats    hdfs://namenode_host/user/hive/warehouse/gaming_stats.db    hive_user    USER        (owner=GameDevTeam, created_date=2023-10-28, data_sensitivity=medium)

三、切换和使用数据库 ➡️

在进行表操作之前,通常需要先指定操作当前数据库

  • 1. 切换当前数据库 (USE)
    • 语法:
USE database_name;
  • 作用: 将当前 Hive 会话默认数据库设置为 database_name。之后所有不显式指定数据库的表操作 (如 CREATE TABLE my_table ...) 都会在该数据库执行
  • 示例:
USE retail_analytics;
-- 后续的 SHOW TABLES; CREATE TABLE some_table ...; 等命令都将在 retail_analytics 数据库上下文中执行
  • 2. 查看当前数据库 (CURRENT_DATABASE())
    如果你不确定当前工作在哪个数据库下,可以使用这个内置函数
    • 语法:
SELECT current_database();
  • 示例:
SELECT current_database();
-- 输出可能为: retail_analytics (如果之前执行了 USE retail_analytics;)

四、修改数据库属性 (ALTER DATABASE / SCHEMA) ✏️

一旦数据库创建完成,你仍然可以修改它的一些属性,最常用的是修改 DBPROPERTIES
注意直接修改数据库的 LOCATIONCOMMENT 通常不被直接支持操作复杂/有风险,这些属性一般在创建时确定好

  • 1. 修改数据库属性 (SET DBPROPERTIES)
    • 语法:
ALTER DATABASE database_name SET DBPROPERTIES ('property_name1' = 'new_value1','property_name2' = 'new_value2',...
);
  • 或使用 SCHEMA (等效):
ALTER SCHEMA database_name SET DBPROPERTIES (...);
  • 作用: 添加新的数据库属性,或者更新已有属性的
  • 示例:
-- 为 gaming_stats 数据库更新 owner 并添加一个新属性 last_reviewed_by
ALTER DATABASE gaming_stats SET DBPROPERTIES ('owner' = 'UpdatedGameTeamLead','last_reviewed_by' = 'DataQualityTeam'
);-- 查看修改后的属性
DESCRIBE DATABASE EXTENDED gaming_stats;

五、删除数据库 (DROP DATABASE / SCHEMA) 🗑️

删除数据库是一个需要非常谨慎的操作,因为它可能导致 大量数据和元数据丢失

  • 1. 基本删除语法
    • 语法:
DROP DATABASE [IF EXISTS] database_name;
  • 或使用 SCHEMA (等效):
DROP SCHEMA [IF EXISTS] database_name;
  • 默认行为 (RESTRICT): 如果不加任何额外选项,DROP DATABASE 默认采用 RESTRICT 行为。这意味着如果数据库中包含任何表,删除操作会失败并报错,以防止意外删除有内容的数据库。
  • 示例 (尝试删除一个可能非空的数据库):
-- 假设 temp_db 中有表,以下命令会失败
DROP DATABASE IF EXISTS temp_db;
-- ERROR: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Database temp_db is not empty. One or more tables exist.
  • 2. 强制删除数据库及其内容 (CASCADE)
    如果你确定删除数据库以及其中包含所有表和数据 (对于内部表),可以使用 CASCADE 选项。
    • 语法:
DROP DATABASE [IF EXISTS] database_name CASCADE;
  • ⚠️ 警告:这是一个非常危险的操作! 一旦执行,数据库及其所有内容 (包括内部表的HDFS数据) 都将被永久删除且通常无法恢复请务必三思而后行,并确认真的要这样做。
  • 示例:
-- 强制删除名为 staging_area 的数据库及其下的所有表和数据
DROP DATABASE IF EXISTS staging_area CASCADE;
-- 命令执行成功,staging_area 数据库及其内容消失

六、练习一下吧!✏️

  1. 练习题 1: 创建一个名为 education_platform 的数据库,并为其添加注释 “用于存储在线教育平台的数据”。
  2. 练习题 2: 创建一个名为 temporary_storage 的数据库,并将其数据存储位置指定到 HDFS 路径 /tmp/hive_temp_db
  3. 练习题 3: 为 education_platform 数据库添加一个属性 contact_person,值为 edu_admin@example.com
  4. 练习题 4: 列出所有以 edu 开头的数据库。
  5. 练习题 5: 查看 temporary_storage 数据库的详细信息(包括属性,如果之前设置了的话)。
  6. 练习题 6: 切换当前会话到 education_platform 数据库。
  7. 练习题 7: 创建一个名为 archived_data 的数据库。稍后,尝试删除它(假设它是空的)。
  8. 练习题 8: 假设 temporary_storage 数据库中意外地创建了一些表(我们这里不实际创建表,只是假设情况),现在需要彻底删除 temporary_storage 数据库及其所有潜在内容。写出对应的命令。

七、练习题答案 ✅

  • 答案 1:
CREATE DATABASE education_platform
COMMENT '用于存储在线教育平台的数据';
  • 答案 2:
-- 假设HDFS路径 /tmp/hive_temp_db 已存在或Hive用户有权限创建
CREATE DATABASE temporary_storage
LOCATION '/tmp/hive_temp_db';
  • 答案 3:
ALTER DATABASE education_platform SET DBPROPERTIES ('contact_person' = 'edu_admin@example.com');
  • 答案 4:
SHOW DATABASES LIKE 'edu*';
  • 答案 5:
DESCRIBE DATABASE EXTENDED temporary_storage;
  • 答案 6:
USE education_platform;
  • 答案 7:
CREATE DATABASE archived_data;
-- 稍后删除 (假设为空)
DROP DATABASE IF EXISTS archived_data;
  • 答案 8:
-- 强制删除 temporary_storage 数据库及其所有内容
DROP DATABASE IF EXISTS temporary_storage CASCADE;

相关文章:

三、Hive DDL数据库操作

在 Apache Hive 中,数据库 (Database),有时也被称为模式 (Schema),是组织和管理 表及其他对象的基本命名空间单元。熟练掌握数据库层面的数据定义语言 (DDL) 操作,是构建清晰、有序的 Hive 数据仓库的第一步。本篇笔记将详细梳理 …...

C++ string初始化、string赋值操作、string拼接操作

以下介绍了string的六种定义方式&#xff0c;还有很多&#xff0c;这个只是简单举例 #include<iostream>using namespace std;int main() {//1 无参构造string s1;cout << s1 << endl;//2 初始化构造string s2 ({h, h, l, l, o});cout << s2 <<…...

java.util.Timer

知识点详细说明 java.util.Timer 是Java早期提供的定时任务调度工具,用于在指定延迟后或按固定间隔执行任务。以下是其核心知识点: 1. 核心组成 Timer类:负责调度任务,内部维护一个任务队列和后台线程。TimerTask类:抽象类,需继承并实现run()方法定义任务逻辑。2. 核心方…...

SQlite数据库

介绍 基本信息&#xff1a;是一款轻量级的嵌入式关系型数据库管理系统。 主要特点&#xff1a;SQLite的源码是C语言&#xff0c;其源代码完全开发&#xff0c;SQLite第一个Alpha版本诞生于2000年5月&#xff0c;他是一个轻量级的嵌入式数据库。零配置&#xff0c;无需安装和配…...

什么是 ANR 如何避免它

一、什么是 ANR&#xff1f; ANR&#xff08;Application Not Responding&#xff09; 是 Android 系统在应用程序主线程&#xff08;UI 线程&#xff09;被阻塞超过一定时间后触发的错误机制。此时系统会弹出一个对话框提示用户“应用无响应”&#xff0c;用户可以选择等待或强…...

当虚拟吞噬现实——《GTA6》结合技术

‌ ‌标题&#xff1a;当虚拟吞噬现实——《GTA6》的万言书&#xff1a;一部数字文明的启示录‌ ‌&#xff08;万字深度解析&#xff0c;拆解技术、叙事与社会学的三重革命&#xff09;‌ ‌一、序章&#xff1a;游戏史的奇点时刻‌ 1. ‌从像素暴动到文明模拟&#xff1a;G…...

pandas读取pymysql和解析excel的一系列问题(版本不匹配)

pandas读取pymysql和解析excel的一系列问题&#xff0c;大部分都是版本不匹配导致的 尤其是pandas,numpy,pymysql,openpyxl不匹配导致 from sqlalchemy import create_engine import numpy as np import pandas as pd conncreate_engine("mysqlpymysql://user:passhost:3…...

【安装配置教程】ubuntu安装配置Kodbox

目录 一、引言 二、环境配置 1. 服务器配置​ 2. 必备组件​ 三、安装基础环境​ 1. 安装 PHP 8.1 及扩展​ 2. 安装 MySQL 数据库 3.安装 Redis&#xff08;可选&#xff0c;提升缓存性能&#xff09; 4. 配置nginx文件 4.1. 创建 Kodbox 站点目录​ 4.2. 编写 Ng…...

模型过拟合是什么?

模型过拟合的详细解析 一、定义与本质 过拟合(Overfitting)是机器学习与统计学中的核心问题,指模型在训练数据上表现优异,但在未见过的新数据(如测试集或实际应用数据)上泛化能力显著下降的现象。其本质在于模型过度捕捉了训练数据中的噪声、随机波动或非典型细节,而非…...

服务器mysql连接我碰到的错误

搞了2个下午&#xff0c;总算成功了 我在服务器上使用docker部署了java项目与mysql&#xff0c;但mysql连接一直出现问题 1.首先&#xff0c;我使用的是localhost连接&#xff0c;心想反正都在服务器上吧。 jdbc:mysql://localhost:3306/fly-bird?useSSLfalse&serverTime…...

数电课设·交通信号灯(Quartus Ⅱ)

远书归梦两悠悠&#xff0c;只有空床敌素秋。 阶下青苔与红树&#xff0c;雨中寥落月中愁。 ————《端居》 【唐】 李商隐 目录 交通信号灯 要点剖析&#xff1a; 端口说明&#xff1a; 代码展示&#xff1a;&…...

单片机-STM32部分:13、PWM

飞书文档https://x509p6c8to.feishu.cn/wiki/NjhuwbVP7iaEOikVK95cmJNLnWf PWM&#xff08;Pulse Width Modulation&#xff09;脉冲宽度调制&#xff0c;是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。它是把每一脉冲宽度均相等的脉冲列作为PWM波形&am…...

HTTP 错误状态码以及常用解决方案

以下是常见 HTTP 错误状态码及其解决方案的对比表格&#xff0c;按客户端&#xff08;4xx&#xff09;和服务端&#xff08;5xx&#xff09;分类&#xff1a; HTTP 错误码对比表 一、客户端错误&#xff08;4xx&#xff09; 状态码含义常见原因解决方案400Bad Request请求参…...

巧用promise.race实现nrm镜像源切换----nbsl

今天是母亲节祝全天的母亲节日快乐奥 引言 在复习Promise知识点时&#xff0c;发现Promise.race在实际开发中应用较少&#xff0c;于是深入思考了它的应用场景。最近使用nrm&#xff08;npm镜像源切换工具&#xff09;时&#xff0c;想到每次都需要手动切换镜像源来测试哪个更…...

Python基础语法(中)

顺序语句 默认情况下&#xff0c;Python的代码执行顺序是从上往下执行的。 形如下面这样的代码&#xff0c;执行的结果只能是123&#xff0c;而不是321 print(1) print(2) print(3) 条件语句 Python 中使用 if else 关键字表示条件语句 &#xff08;1&#xff09;if if e…...

【Part 2安卓原生360°VR播放器开发实战】第四节|安卓VR播放器性能优化与设备适配

《VR 360全景视频开发》专栏 将带你深入探索从全景视频制作到Unity眼镜端应用开发的全流程技术。专栏内容涵盖安卓原生VR播放器开发、Unity VR视频渲染与手势交互、360全景视频制作与优化&#xff0c;以及高分辨率视频性能优化等实战技巧。 &#x1f4dd; 希望通过这个专栏&am…...

java笔记06

TreeMap的基本使用 TreeMapTreeMap 跟 TreeSet 底层原理一样&#xff0c;都是红黑树结构的。由键决定特性&#xff1a;不重复、无索引、可排序可排序&#xff1a;对键进行排序。注意&#xff1a;默认按照键的从小到大进行排序&#xff0c;也可以自己规定键的排序规则 代码书写…...

Problem E: 实现冒泡排序(内存优化)

1.题目描述 输入任意顺序的整数序列&#xff0c;输出结果为从小到大的排序结果 2.输入描述 输入一个整数序列&#xff0c;整数之间用空格隔开&#xff0c;输入完最后一个整数&#xff0c;回车 3.输出描述 从小到大的排序结果 4.样例 提示&#xff1a;注意&#xff0c;主…...

大模型对时尚穿搭体验的革新与重塑

在大模型深度介入时尚穿搭领域后&#xff0c;人们的穿搭体验迎来了前所未有的变革。它不再局限于单纯提供搭配方案&#xff0c;而是全方位渗透进时尚穿搭的各个环节&#xff0c;从决策过程到实际穿着感受&#xff0c;都在悄然改变着人们与时尚互动的方式。 打破信息壁垒&#…...

第6讲、全面拆解Encoder、Decoder内部模块

全面拆解 Transformer 架构&#xff1a;Encoder、Decoder 内部模块解析&#xff08;附流程图小测验&#xff09; 关键词&#xff1a;Transformer、Encoder、Decoder、Self-Attention、Masked Attention、位置编码、残差连接、多头注意力机制 Transformer 自 2017 年诞生以来&am…...

Linux电脑本机使用小皮面板集成环境开发调试WEB项目

开发调试WEB项目&#xff0c;有时开发环境配置繁琐&#xff0c;可以使用小皮面板集成环境。 小皮面板官网&#xff1a; https://www.xp.cn/1.可以使用小皮面板安装脚本一键安装。登陆小皮面板管理后台 2.在“软件商店”使用LNMP一键部署集成环境。 3.添加网站&#xff0c;本…...

数据仓库Hive

1.数据仓库 1.1数据仓库的概念 数据仓库&#xff08;Data Warehouse&#xff09;是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合&#xff0c;用于支持管理决策。 面向主题。操作型数据库的数据组织面向事务处理任务&#xff0c;而数据仓库中的数据按照一定的…...

嵌入式学习笔记 - STM32 ADC,多重转换,内部参考电压,

一 多个ADC器件&#xff0c;多重转换速率 每个型号MCU通常由多个ADC器件&#xff0c;比如STM32F4有三个ADC器件&#xff0c;每个ADC器件有一个最大转换速率&#xff0c;一般为25Mhz&#xff0c;即一个ADC器件每秒最多转换25M次&#xff0c;两次转换之间需要有时间间隔&#xf…...

精读计算机体系结构基础 第三章 特权指令系统

3. 1 特权指令系统简介 想象一下&#xff0c;计算机就像一个大楼&#xff0c;而这个大楼有很多不同的楼层。每个楼层都有不同的功能和使用者。最上面的楼层是应用层&#xff0c;那里住着各种各样的应用程序&#xff0c;比如你用来写作的文字处理软件、用来浏览网页的浏览器等等…...

库室多功能控制器

应急供电保障​ 内置智能备电系统&#xff0c;市电中断时即刻无缝切换&#xff0c;为设备持续稳定供电&#xff0c;确保关键场景用电无忧。​ 超高性价比​ 集门禁、报警、环控等专业功能于一体&#xff0c;相比同类产品&#xff0c;以更优的价格提供更全面、更强大的解决方…...

使用FastAPI和React以及MongoDB构建全栈Web应用07 FastAPI实现经典三层架构

一、单文件简单实现 1.1 开发用户增删改查接口 main.py from fastapi import FastAPI, Request, Query, HTTPException from fastapi.responses import JSONResponse from motor.motor_asyncio import AsyncIOMotorClient from pydantic import BaseModel from bson import …...

《设计模式之禅》笔记

:::info &#x1f4a1; 根据 遗忘曲线&#xff1a;如果没有记录和回顾&#xff0c;6天后便会忘记75%的内容 读书笔记正是帮助你记录和回顾的工具&#xff0c;不必拘泥于形式&#xff0c;其核心是&#xff1a;记录、翻看、思考::: 书名设计模式之禅作者秦小波状态已读完简介深刻…...

JavaScript 循环语句全解析:选择最适合的遍历方式

循环是编程中处理重复任务的核心工具。JavaScript 提供了多种循环语句&#xff0c;每种都有其适用场景和独特优势。本文将深入解析 JavaScript 的 6 种核心循环语句&#xff0c;通过实际示例帮助你精准选择合适的循环方案。 一、基础循环三剑客 1. for 循环 经典索引控制 ja…...

远程服务器pycharm运行tensorboard显示训练轮次图

本文仅针对远程服务器的情况 首先在远程服务器端 首先打开xshell&#xff0c;然后激活自己的虚拟环境 baekee这是我的&#xff01; conda activate baekee然后cd进去你运行的文件所在的目录 cd /tmp/pycharm_project_732这个项目也是我的&#xff01; 然后一个很重要的事情…...

Nginx 使用 Keepalived 搭建 nginx 高可用

一、环境准备 两台装有 nginx 的 CentOS 虚拟机。 [rootnginx1 ~]# echo "192.168.40.81 say Hello" > /usr/local/nginx/html/index.html [rootnginx2 ~]# echo "192.168.40.82 say Hello" > /usr/local/nginx/html/index.html 二、原理 Keepaliv…...

A1062 PAT甲级JAVA题解 Talent and Virtue

About 900 years ago, a Chinese philosopher Sima Guang wrote a history book in which he talked about peoples talent and virtue. According to his theory, a man being outstanding in both talent and virtue must be a "sage&#xff08;圣人&#xff09;"…...

数据指标和数据标签

数据指标和数据标签是数据管理与分析中的两个重要概念&#xff0c;它们在用途、形式和应用场景上有显著区别。以下是两者的详细对比&#xff1a; 1. 核心定义 维度数据指标&#xff08;Data Metrics&#xff09;数据标签&#xff08;Data Tags/Labels&#xff09;定义量化衡量…...

常见的排序算法(Java版)简单易懂好上手!!

排序 “排序”顾名思义就是把乱序的变成有序的&#xff0c;就像我们玩斗地主这种牌类游戏时&#xff0c;我们拿到牌都会将牌给排序一下&#xff0c;更好的在对局中方便思考和观察&#xff0c;我们排序算法也亦是如此。 文章目录 排序一、冒泡排序二、选择排序三、插入排序四、…...

用统计零花钱的例子解释:Shuffle 是啥?

举个栗子 &#x1f330;&#xff1a;统计全班同学的零花钱总和 假设你是班长&#xff0c;全班有 4个小组&#xff0c;每个小组记录了自己的零花钱情况&#xff1a; 第1组&#xff1a;张三(5元)、李四(3元)、张三(2元) 第2组&#xff1a;王五(4元)、张三(1元)、李四(2元) …...

Kafka topic 中的 partition 数据倾斜问题

在 Kafka 中&#xff0c;如果一个 Topic 有多个 Partition&#xff0c;但这些 Partition 中的消息数量或流量分布不均衡&#xff0c;就会出现 数据倾斜&#xff08;Data Skew&#xff09; 的问题。 ✅ 什么是数据倾斜&#xff1f; 数据倾斜指的是&#xff1a; 某些 Partitio…...

Python基础总结(十)之函数

Python函数 函数是Python中也是非常重要的&#xff0c;函数是带名字的代码块&#xff0c;用于完成具体的工作。要执行函数定义的特定任务&#xff0c;可调用该函数。 一、函数的定义 函数的定义要使用def关键字&#xff0c;def后面紧跟函数名&#xff0c;缩进的为函数的代码…...

macOS 15 (Sequoia) 解除Gatekeeper限制

macOS 15 (Sequoia) 解除Gatekeeper限制指南 问题描述 在macOS 15中执行sudo spctl --global-disable命令后&#xff0c;系统提示&#xff1a; Globally disabling the assessment system needs to be confirmed in System Settings 但隐私与安全性界面未显示"任何来源&…...

【Flask开发踩坑实录】pip 安装报错:“No matching distribution found” 的根本原因及解决方案!

关键词&#xff1a;pip 报错、镜像源问题、flask-socketio、Python开发环境、安装失败 作者&#xff1a;未名编程 &#xff5c; 更新时间&#xff1a;2025.05.11 &#x1f4cc; 引言&#xff1a;一场莫名其妙的 pip 安装失败 最近在开发一个基于 Flask 的图像检索网站时&#…...

50.辐射抗扰RS和传导抗扰CS测试环境和干扰特征分析

辐射抗扰RS和传到抗扰CS测试环境和干扰特征分析 1. 辐射抗扰RS2. 传导抗扰CS 1. 辐射抗扰RS 辐射抗扰RS考察对外界电磁场干扰得抗扰能力&#xff0c;测试频段为80MHz~2000MHz&#xff0c;用1KHz得正弦波进行调幅&#xff0c;在电波暗室内进行。测试标准&#xff1a;IEC 61000-…...

零基础玩转sqlmap - 从入门到摸清数据库

sqlmap 包下载链接&#xff1a;https://pan.quark.cn/s/a6ab2586f77e 基本操作 最简单的用法&#xff1a;sqlmap -u "网址" - 直接测试这个网址有没有SQL注入漏洞 带参数的测试&#xff1a;如果网址后面有参数&#xff0c;比如 id1&#xff0c;sqlmap会自动检测 指…...

AI面经总结-试读

写在前面 该面经于2022年秋招上岸后耗时一个半月整理完毕&#xff0c;目前涵盖Python、基础理论、分类与聚类、降维、支持向量机SVM、贝叶斯|决策树、KNN、Boosting&Bagging、回归、代价函数与损失函数、激活函数、优化函数、正则优化、初始化与归一化、卷积、池化、传统图…...

python打卡day22@浙大疏锦行

复习日 仔细回顾一下之前21天的内容&#xff0c;没跟上进度的同学补一下进度。 作业&#xff1a; 自行学习参考如何使用kaggle平台&#xff0c;写下使用注意点&#xff0c;并对下述比赛提交代码 一、数据预处理 import pandas as pd import numpy as np import matplo…...

网络安全设备配置与管理-实验5-p150虚拟防火墙配置

实验5-p150虚拟防火墙配置 做不出来可以把项目删掉再新建。 实验六多加几步配置静态路由表就行。 文章目录 实验5-p150虚拟防火墙配置1. 实验目的2. 实验任务3. 实验设备4. 实验拓扑图和设备接口5. 实验命令与步骤1. 连线与配置2. 实验验证 思考题 1. 实验目的 通过该实验掌握…...

数值运算的误差估计

数值运算的误差估计 设两个近似数 x 1 ∗ x_1^* x1∗​与 x 2 ∗ x_2^* x2∗​的误差限分别为 ε ( x 1 ∗ ) \varepsilon(x_{1}^{*}) ε(x1∗​)和 ε ( x 2 ∗ ) \varepsilon(x_{2}^{*}) ε(x2∗​) 误差限满足一下运算法则&#xff1a; 和差运算的误差限&#xff1a; 设 y …...

HCIP-BGP实验一

一&#xff1a;拓扑图 二&#xff1a;需求分析&#xff1a; 保证R1-R5的环回地址相互能够通讯。 分析&#xff1b; 1.IP的配置 2.R2-R4完成IGP配置&#xff0c;配置OSPF 3.完成BGP配置。 4.优化配置&#xff0c;包括下一跳的选择&#xff0c;IBGP对等体建邻的IP地址。 三…...

linux内核pinctrl/gpio子系统驱动笔记

目录 一、简单介绍二、主要源码文件和目录gpio子系统pinctrl子系统两个子系统之间的关系设备树例子 三、主要的数据结构gpio子系统pinctrl子系统 四、驱动初始化流程五、难点说明 一、简单介绍 GPIO子系统: Linux GPIO子系统是Linux内核中负责处理GPIO&#xff08;通用输入输出…...

Qt—多线程基础

一、QThread 1.为什么使用多线程 在默认情况下&#xff0c;Qt使用的是单线程&#xff0c;当你启动一个 Qt 应用程序时&#xff0c;它会运行在一个单一的主线程&#xff08;也被称为 GUI 线程&#xff09;中。这个主线程负责处理所有的 GUI 事件和界面渲染。 但在一些其他情况下…...

HTML5表格语法格式详解

HTML5 表格的基本结构 HTML5 表格由 <table> 标签定义&#xff0c;表格中的每一行由 <tr> 标签定义&#xff0c;表头单元格由 <th> 标签定义&#xff0c;数据单元格由 <td> 标签定义。表格的基本结构如下&#xff1a; <table><tr><th…...

《Go小技巧易错点100例》第三十三篇

​ Validator自定义校验规则 Go语言中广泛使用的validator库支持通过结构体标签定义校验规则。当内置规则无法满足需求时&#xff0c;我们可以轻松扩展自定义校验逻辑。 示例场景&#xff1a;验证用户年龄是否成年&#xff08;≥18岁&#xff09; type User struct {Age in…...

Spring AI(3)——Chat Memory

Chat Memory介绍 大型语言模型&#xff08;LLM&#xff09;是无状态的&#xff0c;这意味着它们不保留关于以前互动的信息。为了解决这个问题&#xff0c;Spring AI提供了Chat Memory&#xff08;聊天记忆&#xff09;功能。通过Chat Memory&#xff0c;用户可以实现在与LLM的…...