【大数据】Hive快速入门

文章目录

    • 概述
      • 一、Hive的基本概念
      • 二、Hive的架构与组件
      • 三、Hive的特点与优势
      • 四、Hive的应用场景
      • 五、Hive的官方网站与资源
    • 驱动说明(Driver)
      • 一、主要功能
      • 二、与其他组件的交互
      • 三、工作流程
      • 四、重要性
    • 元数据模型(Metastore)
      • 一、Hive元数据模型的基本概念
      • 二、Hive元数据模型的组成
      • 三、Hive元数据的存储
      • 四、Hive元数据查询
    • HQL简单说明
      • 一、DDL语句(数据定义语句)
      • 二、DQL语句(数据查询语句)
      • 三、其他操作
    • 配置文件简单说明
      • 一、hive-site.xml
      • 二、hive-env.sh
      • 三、hive-log4j2.properties
      • 四、hive-default.xml
      • 五、其他配置文件
      • 六、配置文件的查找和修改

概述

Hive是基于Hadoop的一个数据仓库工具,以下是对Hive数据库的详细介绍:

一、Hive的基本概念

Hive可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能,是用于存储、分析、报告的数据系统。Hive使用HQL(Hive Query Language)作为查询接口,该语言类似于SQL,使得用户可以通过SQL语句的方式对存储在Hadoop中的数据进行查询和管理。

二、Hive的架构与组件

Hive架构包括多个组件,这些组件可以分为服务端组件和客户端组件。主要组件包括:
hive-and-hadoop

  1. CLI(Command Line Interface):命令行接口,用户可以在命令行中执行HQL查询。
  2. JDBC/ODBC:提供Java数据库连接和开放数据库连接功能,使得Java和非Java应用程序都能连接到Hive数据库。
  3. Thrift Server:提供JDBC和ODBC接入的能力,支持跨语言的服务开发。
  4. Hive WEB Interface(HWI):通过网页的方式访问Hive所提供的服务。
  5. Metastore:元数据服务组件,存储Hive的元数据,元数据对于Hive十分重要。
  6. Driver:核心组件,包括Compiler(编译器)、Optimizer(优化器)和Executor(执行器)。Driver的作用是将HQL语句进行解析、编译优化,生成执行计划,然后调用底层的MapReduce计算框架或其他计算框架(如Tez、Spark)进行计算。

三、Hive的特点与优势

  1. 快速处理大量数据:Hive使用了Hadoop的MapReduce框架,可以将任务分解成多个子任务并行处理,从而加快处理速度。
  2. 灵活性:Hive支持多种数据存储格式,如文本文件、CSV文件、SequenceFile等,并且可以自定义数据存储格式。同时,Hive也支持用户自定义函数(UDF),方便用户对数据进行更复杂的处理和计算。
  3. 可扩展性:Hive可以方便地扩展到更多的节点上,以便处理更大规模的数据。随着数据量的增长,可以通过增加集群节点来提高Hive的处理能力。
  4. 安全性:Hive提供了用户认证和访问控制机制,可以保护数据不被非法访问和篡改。
  5. 易用性:Hive提供了丰富的API和工具,使得用户可以轻松地使用和管理数据。同时,Hive的HQL语言类似于SQL,使得用户无需学习新的查询语言即可上手使用。

四、Hive的应用场景

Hive常用于数据分析领域,对实时性要求不高的场合。Hive的优势在于处理大数据,对于处理小数据没有优势。以下是一些Hive的典型应用场景:

  1. 金融行业:用于风险管理、客户分析、欺诈检测等领域,提高数据处理效率和准确性。
  2. 电商行业:用于用户行为分析、推荐系统、广告投放等领域,帮助企业更好地理解用户需求和提高销售效率。
  3. 媒体行业:用于内容分析、用户画像、个性化推荐等领域,提高内容生产和传播效率。
  4. 物流行业:用于路线规划、货物跟踪、库存管理等领域,提高物流效率和降低成本。
  5. 医疗行业:用于患者数据分析、医疗资源管理、疾病预测等领域,帮助医疗机构提供更好的医疗服务。
  6. 政府机构:用于数据治理、政策制定、舆情监控等领域,帮助政府更好地管理和服务社会。

五、Hive的官方网站与资源

Hive的官方网站为:http://hive.apache.org。在官方网站上,用户可以找到Hive的最新版本、文档、下载链接以及社区支持等资源。此外,用户还可以在GitHub上找到Hive的源代码和贡献者社区:https://github.com/apache/hive。

综上所述,Hive是一个功能强大的数据仓库工具,具有快速、灵活、可扩展、安全、易用等特点。Hive在数据分析领域有着广泛的应用场景,可以帮助企业更好地管理和分析大数据。

驱动说明(Driver)

Hive Driver是Hive的核心组件之一,它负责接收和处理用户的查询语句,并在Hive查询处理过程中扮演着至关重要的角色。以下是对Hive Driver的详细说明:

一、主要功能

  1. 解析查询:Hive Driver首先会接收用户通过接口提交的HiveQL查询语句。然后,它利用解析器将HiveQL查询语句解析为抽象语法树(AST)或解析树,这表示了查询的语法结构。
  2. 优化查询:在解析完成后,优化器会对解析树进行优化,消除冗余操作,并重新排列操作以提高执行效率。这一步骤会生成逻辑执行计划,并进一步转化为物理执行计划。
  3. 执行计划:优化后的查询计划会被转换为具体的执行计划,包括各个MapReduce或Spark任务的详细信息。Hive Driver负责将物理执行计划转换为可执行的任务。
  4. 提交任务:执行计划生成后,Hive Driver会将任务提交给Hadoop执行引擎(如YARN框架)进行管理和调度。
  5. 返回结果:任务执行完成后,Hive Driver会收集各个任务的执行结果,并通过JDBC或HiveServer2将最终结果返回给用户。

二、与其他组件的交互

  1. 与Metastore的交互:Hive Driver在查询执行过程中,需要与Metastore交互以获取元数据信息,这些元数据对于查询的正确执行至关重要。
  2. 与Executor的交互:Hive Driver生成的物理执行计划需要提交给Executor进行实际的查询执行。Executor是Hive查询的执行引擎,负责执行Driver生成的物理执行计划。

三、工作流程

  1. 用户通过Hive提供的接口(如命令行接口、Thrift服务、JDBC/ODBC接口)提交HiveQL查询语句。
  2. Hive Driver接收查询语句并进行解析,生成抽象语法树或解析树。
  3. 优化器对解析树进行优化,生成逻辑执行计划,并进一步转化为物理执行计划。
  4. Hive Driver将物理执行计划转换为可执行的任务,并提交给Hadoop执行引擎进行管理和调度。
  5. 执行引擎执行任务,并将结果返回给Hive Driver。
  6. Hive Driver收集结果,并通过接口将最终结果返回给用户。

四、重要性

Hive Driver在Hive的查询处理过程中起着承上启下的作用。它不仅负责解析和优化用户的查询语句,还将其转化为可执行的任务并最终返回结果。因此,掌握Hive Driver的工作机制对于优化查询性能和提高大数据处理的效率具有重要意义。

综上所述,Hive Driver是Hive中不可或缺的核心组件之一,它负责处理用户的查询语句,并与其他组件协同工作以完成查询任务。

元数据模型(Metastore)

Hive的元数据模型是Hive数据架构中的关键部分,它描述了Hive中数据的组织方式和结构。以下是对Hive元数据模型的详细介绍:

一、Hive元数据模型的基本概念

Hive元数据模型是Hive用于描述和管理数据的模型,它包括了数据库、表、分区、桶等概念,这些概念共同构成了Hive数据的组织框架。

二、Hive元数据模型的组成

hive-metadata

  1. Database(数据库)

    • 是Hive元数据模型的最上层,类似于关系数据库中的Database概念。
    • 通过Database可以逻辑地划分Hive表的命名空间,避免表名冲突。
    • Hive默认自带的Database名为default,HDFS存储路径由配置决定。
  2. Table(表)

    • Hive中的表与关系型数据库中的表在概念上相似,每个表在HDFS中都有相应的目录来存储数据。
    • 根据数据是否受Hive管理,Hive中的表可以分为管理表(Managed Table)和外部表(External Table)。
      • 管理表:HDFS存储数据受Hive管理,删除表时,实际数据也会被删除。
      • 外部表:HDFS存储路径不受Hive管理,删除表时,仅删除元数据,实际数据不受影响。
    • 根据表的生命周期,Hive中的表还可以分为永久表和临时表。
      • 永久表:默认创建的表类型,数据永久存储在HDFS上。
      • 临时表:仅在当前Session有效的表,数据临时存放在用户的临时目录下,当前Session退出后即删除。
  3. Partition(分区)

    • 是基于用户指定的分区列的值对数据表进行分区。
    • 表的每一个分区对应表下的相应目录,所有分区的数据都存储在对应的目录中。
    • 分区有助于提高查询效率,因为它可以从物理上划分不同列的数据,实现查询的剪枝。
  4. Bucket(桶)

    • 是另一种数据组织方式,用于弥补分区的短板(不是所有的列都可以作为分区键)。
    • 通过Bucket列的值进行Hash散列到相应的文件中,重新组织数据,每一个桶对应一个文件。
    • 桶有利于查询优化,比如SMB Join,同时对于抽样也非常有效。

三、Hive元数据的存储

Hive将元数据存储在关系型数据库(RDBMS)中,有以下3种模式可以连接到数据库:

  1. Single User Mode(单用户模式):使用内置Derby数据库,也称内嵌Derby模式。这种模式适用于测试环境,因为它在同一时刻只能有一个Hive客户端使用数据库,且无法实现元数据共享。
  2. Multi User Mode(多用户模式):使用本地MySQL数据库,也称本地模式。这是开发中经常使用的模式,因为它允许多个Hive客户端同时连接到MySQL数据库。
  3. Remote Server Mode(远程服务模式):使用远程元数据服务访问数据库,也称远程模式。在这种模式下,Hive服务和metastore服务可以在不同的进程中或不同的主机中运行,从而实现二者的解耦。远程模式在生产环境中更为推荐。

四、Hive元数据查询

Hive提供了多种方式来查询元数据信息,包括使用HiveQL语句、Hive命令行工具和使用Hive的Java API。通过这些方式,用户可以查询数据库列表、表列表、表的列信息、表的分区信息以及表的存储位置等元数据。

综上所述,Hive的元数据模型是Hive数据架构的核心部分,它描述了数据的组织方式和结构。通过理解Hive元数据模型,用户可以更好地管理和查询Hive中的数据。

HQL简单说明

Hive SQL(也称为HQL,Hive Query Language)是用于在Hive中操作数据的查询语言。Hive是一个数据仓库基础的应用工具,它架构在Hadoop之上,通过SQL来对数据进行操作。以下是对Hive SQL语法的详细说明:

一、DDL语句(数据定义语句)

  1. 创建数据库

    CREATE DATABASE [IF NOT EXISTS] db_name [LOCATION 'path'] [COMMENT database_comment];
    
    • [IF NOT EXISTS]:如果数据库已存在,则不执行创建操作。
    • [LOCATION 'path']:指定数据库在HDFS上的存储位置。
    • [COMMENT database_comment]:为数据库添加注释。
  2. 修改数据库

    ALTER DATABASE db_name SET LOCATION hdfs_path;
    ALTER DATABASE db_name SET DBPROPERTIES ('property_name'='property_value');
    
    • SET LOCATION hdfs_path:修改数据库的存储位置。
    • SET DBPROPERTIES:修改数据库的属性。
  3. 删除数据库

    DROP DATABASE [IF EXISTS] db_name [CASCADE];
    
    • [IF EXISTS]:如果数据库存在,则执行删除操作。
    • [CASCADE]:级联删除,如果数据库中有表,则连同表一起删除。
  4. 创建表

    CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name
    [(col_name data_type [COMMENT col_comment], ...)]
    [COMMENT table_comment]
    [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)]
    [CLUSTERED BY (col_name, col_name, ...) INTO num_buckets BUCKETS]
    [ROW FORMAT row_format]
    [STORED AS file_format]
    [LOCATION 'path']
    
    • [EXTERNAL]:创建外部表,指定实际数据的路径。
    • [IF NOT EXISTS]:如果表已存在,则不执行创建操作。
    • PARTITIONED BY:基于列进行分区。
    • CLUSTERED BY:基于列进行分桶。
    • ROW FORMAT:设置行数据分割格式。
    • STORED AS:指定存储格式。
    • [LOCATION 'path']:指定表数据在HDFS上的存储位置。
  5. 修改表

    • 重命名表

      ALTER TABLE old_table_name RENAME TO new_table_name;
      
    • 修改列的属性

      ALTER TABLE table_name CHANGE COLUMN old_col_name new_col_name new_data_type;
      ALTER TABLE table_name MODIFY COLUMN col_name new_data_type;
      
    • 添加/删除列

      ALTER TABLE table_name ADD COLUMNS (col_name data_type [COMMENT col_comment], ...);
      ALTER TABLE table_name REPLACE COLUMNS (col_name data_type [COMMENT col_comment], ...); -- 替换所有列
      
    • 添加/删除分区

      ALTER TABLE table_name ADD PARTITION (partition_col='partition_value', ...);
      ALTER TABLE table_name DROP PARTITION (partition_col='partition_value', ...);
      
  6. 删除表

    DROP TABLE [IF EXISTS] table_name;
    

二、DQL语句(数据查询语句)

  1. 基本查询

    SELECT [ALL | DISTINCT] col_name, ...
    FROM table_name
    [WHERE condition]
    [GROUP BY col_name, ...]
    [HAVING condition]
    [ORDER BY col_name [ASC|DESC], ...]
    [LIMIT number];
    
  2. 联合查询

    SELECT ...
    FROM table1
    UNION [ALL]
    SELECT ...
    FROM table2;
    
  3. 子查询

    SELECT ...
    FROM (SELECT ... FROM table_name) subquery_alias
    [WHERE condition];
    
  4. 复杂查询

    Hive SQL还支持各种复杂查询,如窗口函数、分析函数、行转列、列转行等,这些查询通常涉及到特定的Hive函数和语法。

三、其他操作

  1. 显示数据库和表

    SHOW DATABASES;
    SHOW TABLES [IN db_name];
    SHOW PARTITIONS table_name;
    
  2. 描述表和列

    DESCRIBE table_name;
    DESCRIBE FORMATTED table_name;
    DESCRIBE EXTENDED table_name column_name;
    
  3. 加载数据

    • 从本地文件系统加载数据到表中

      LOAD DATA LOCAL INPATH 'local_file_path' INTO TABLE table_name;
      
    • 从HDFS加载数据到表中

      LOAD DATA INPATH 'hdfs_file_path' INTO TABLE table_name;
      
    • 加载数据到分区表中

      LOAD DATA [LOCAL] INPATH 'file_path' INTO TABLE table_name PARTITION (partition_col='partition_value', ...);
      
  4. 导出数据

    Hive SQL也支持将数据从表中导出到本地文件系统或HDFS中,但通常需要使用Hive提供的命令行工具或Hadoop的文件系统命令来完成。

以上是对Hive SQL语法的详细说明。Hive SQL具有丰富的功能和强大的数据处理能力,能够满足大数据处理和分析的需求。

配置文件简单说明

Hive的配置文件通常存储在conf目录下,该目录下包含了多个配置文件,这些配置文件对于Hive的运行和性能调优至关重要。以下是对Hive主要配置文件的详细说明:

一、hive-site.xml

这是Hive最为重要的配置文件,包含了Hive的所有配置信息。以下是一些常见的配置项:

  1. 元数据仓库的配置

    • javax.jdo.option.ConnectionURL:指定元数据仓库的数据库连接URL。
    • javax.jdo.option.ConnectionDriverName:指定元数据仓库的数据库驱动。
    • javax.jdo.option.ConnectionUserNamejavax.jdo.option.ConnectionPassword:分别指定连接元数据仓库的数据库用户名和密码。
  2. HiveServer2的配置

    • hive.server2.thrift.port:指定HiveServer2服务的端口号。
    • hive.server2.thrift.bind.host:指定HiveServer2服务绑定的主机名。
  3. 其他常用配置

    • hive.cli.print.header:设置为true时,在查询结果中显示列名。
    • hive.cli.print.current.db:设置为true时,在Hive命令行提示符中显示当前数据库名。
    • hive.metastore.warehouse.dir:指定Hive数据仓库的默认存储位置,通常为HDFS上的路径。

二、hive-env.sh

该配置文件用于设置Hive运行时的环境变量。以下是一些常见的配置项:

  1. HADOOP_HOME:指定Hadoop的安装目录。Hive作为Hadoop的客户端,需要知道Hadoop的安装位置。
  2. HIVE_CONF_DIR:指定Hive配置文件的存储目录。默认情况下,Hive会在$HIVE_HOME/conf目录下查找配置文件。
  3. HADOOP_HEAPSIZE:设置Hadoop进程的堆内存大小。这个参数对于调整Hive查询的性能很重要。

三、hive-log4j2.properties

该配置文件用于设置Hive的日志记录。以下是一些常见的配置项:

  1. 日志文件的存储位置:通过修改property.hive.log.dir的值来指定日志文件的存储位置。
  2. 日志级别:可以调整不同组件的日志级别,以便在调试和监控时获取更详细的日志信息。

四、hive-default.xml

该文件包含了Hive的默认配置信息。通常情况下,用户不需要直接修改这个文件,而是通过在hive-site.xml中添加或覆盖相应的配置项来自定义Hive的配置。

五、其他配置文件

除了上述主要配置文件外,Hive还可能包含其他配置文件,如hive-exec-site.xml(用于配置Hive的执行引擎)等。这些配置文件通常包含针对特定功能的配置信息,用户可以根据需要进行相应的配置。

六、配置文件的查找和修改

  1. 查找配置文件:默认情况下,Hive的配置文件位于$HIVE_HOME/conf目录下。用户可以通过环境变量HIVE_CONF_DIR来指定其他配置文件的位置。
  2. 修改配置文件:使用文本编辑器打开相应的配置文件,并根据需要进行修改。修改完成后,需要重启Hive服务以使配置生效。

综上所述,Hive的配置文件对于Hive的运行和性能调优至关重要。用户需要根据自己的需求和环境进行相应的配置,以确保Hive能够正常运行并发挥出最佳性能。

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

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

相关文章

vue3 + vite + cesium项目

GitHub - tingyuxuan2302/cesium-vue3-vite: 项目基于 vue3 vite cesium,已实现常见三维动画场,欢迎有兴趣的同学加入共建,官网服务器相对拉胯,请耐心等候...https://github.com/tingyuxuan2302/cesium-vue3-vite/tree/github

HTMLCSS练习

1) 效果如下 2) 代码如下 2.1) HTML <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" conte…

Ultralytics:YOLO11使用教程

Ultralytics&#xff1a;YOLO11使用教程 前言相关介绍前提条件实验环境安装环境项目地址LinuxWindows YOLO11使用教程进行目标检测进行实例分割进行姿势估计进行旋转框检测进行图像分类 参考文献 前言 由于本人水平有限&#xff0c;难免出现错漏&#xff0c;敬请批评改正。更多…

一文解读数据中台附搭建指南

数据是企业的核心资产&#xff0c;更是企业数字化转型的关键驱动力。为了更好地管理和利用数据&#xff0c;进行数据共享&#xff0c;充分发挥数据的作用&#xff0c;越来越多的企业开始构建实时数据中台。 一数据中台 定义&#xff1a;数据中台是将企业内部各个部门、系统、应…

Qt 自绘开关按钮以及设计器中的提升为用法

文章目录 自绘按钮实现概要效果图代码 提升为用法介绍步骤 总结 自绘按钮实现 概要 当我们需要一个开关样式的QPushbutton&#xff0c;没有图片的话&#xff0c;我们可以采用自绘的形式实现。且使用QtDesinger中提升为Promote to的功能加入界面中&#xff0c;而不是使用代码的…

OpenCV高级图形用户界面(1)创建滑动条函数createTrackbar()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 创建一个滑动条并将其附加到指定的窗口。 该函数 createTrackbar 创建一个具有指定名称和范围的滑动条&#xff08;滑块或范围控制&#xff09;…

作为一名测试工程师如何学习Kubernetes(k8s)技能

前言 Kubernetes(K8s)作为云原生时代的关键技术之一&#xff0c;对于运维工程师、开发工程师以及测试工程师来说&#xff0c;都是一门需要掌握的重要技术。作为一名软件测试工程师&#xff0c;学习Kubernetes是一个有助于提升自动化测试、容器化测试以及云原生应用测试能力的重…

重学SpringBoot3-集成Redis(三)之注解缓存策略设置

更多SpringBoot3内容请关注我的专栏&#xff1a;《SpringBoot3》 期待您的点赞&#x1f44d;收藏⭐评论✍ 重学SpringBoot3-集成Redis&#xff08;三&#xff09;之注解缓存策略设置 1. 引入 Redis 依赖2. 配置 RedisCacheManager 及自定义过期策略2.1 示例代码&#xff1a;自定…

API接口开发心得,接口封装方法

API&#xff08;应用程序编程接口&#xff09;是定义了一组规则&#xff0c;允许不同的软件应用程序或组件交互的技术。在Web开发中&#xff0c;API通常通过HTTP请求实现。在API接口的开发过程中&#xff0c;接口封装是一个重要环节。以下是一些API接口开发心得以及接口封装方法…

如何使用ssm实现大学生兼职跟踪系统

TOC 10909ssm大学生兼职跟踪系统 系统概述 进过系统的分析后&#xff0c;就开始记性系统的设计&#xff0c;系统设计包含总体设计和详细设计。总体设计只是一个大体的设计&#xff0c;经过了总体设计&#xff0c;我们能够划分出系统的一些东西&#xff0c;例如文件、文档、数…

【探测器】线阵相机中的 TDI 技术

【探测器】线阵相机中的 TDI 技术 1.背景2.TDI相机3.场景应用 1.背景 TDI 即Time Delay Integration时间延迟积分。 TDI相机是线阵相机的一种特殊类型&#xff0c;带有独特的时间延迟积分&#xff08;TDI&#xff09;技术。 换句话说&#xff0c;TDI相机是线阵相机的一个高级版…

点评项目-6-缓存更新策略、缓存穿透、雪崩

缓存更新策略 使用 redis 缓存记录的信息&#xff0c;有可能在数据库被信息被修改导致信息不一致&#xff0c;使用缓存更新来解决这个问题 缓存更新策略主要有三种&#xff1a; 1.内存淘汰(redis默认开启) 2.超时剔除(给key添加TTL时间) 3.主动更新(编写业务逻辑) 主动更新策…

vite学习教程02、vite+vue2配置环境变量

文章目录 前言1、安装依赖2、配置环境变量3、应用环境变量4、运行和构建项目资料获取 前言 博主介绍&#xff1a;✌目前全网粉丝3W&#xff0c;csdn博客专家、Java领域优质创作者&#xff0c;博客之星、阿里云平台优质作者、专注于Java后端技术领域。 涵盖技术内容&#xff1…

Linux使用Docker部署Paperless-ngx结合内网穿透打造无纸化远程办公

文章目录 前言1. 部署Paperless-ngx2. 本地访问Paperless-ngx3. Linux安装Cpolar4. 配置公网地址5. 远程访问6. 固定Cpolar公网地址7. 固定地址访问 前言 本文主要介绍如何在Linux系统本地部署Paperless-ngx开源文档管理系统&#xff0c;并结合cpolar内网穿透工具解决本地部署…

又被特斯拉演了?继续“画饼式”发布Robotaxi,产业链静观其变

9月底的暴涨后&#xff0c;A股资产正经历回调&#xff0c;科技板块变现参差。不过&#xff0c;无人驾驶领域的预期依然很强。 10月10日科技股全线调整之际&#xff0c;无人驾驶板块盘中的巨幅震荡拉升就是典型的预热动作。东箭科技、天龙股份等多只智能驾驶个股涨停。核心驱动…

【STM32开发之寄存器版】(九)-模数转换ADC

一、前言 本次DEMO目标&#xff1a; 本文将使用STM32F103ZET6的ADC1通道1来采样外部电压值&#xff0c;并使用串口在上位机XCOM上打印出电压值。 二、模数转换原理与基本概念 2.1 ADC基本概念 模数转换器&#xff08;ADC&#xff0c;Analog-to-Digital Converter&#xff09;是…

与ZoomEye功能类似的搜索引擎还有哪些?(渗透课作业)

与ZoomEye功能类似的搜索引擎有&#xff1a; Shodan&#xff1a;被誉为“物联网的搜索引擎”&#xff0c;专注于扫描和索引连接到互联网的各种设备&#xff0c;如智能家居设备、工业控制系统、摄像头、数据库等。它提供全球互联网设备的可视化视图&#xff0c;帮助用户了解网络…

xss-labs靶场第一关测试报告

目录 一、测试环境 1、系统环境 2、使用工具/软件 二、测试目的 三、操作过程 1、注入点寻找 2、使用hackbar进行payload测试 3、绕过结果 四、源代码分析 五、结论 一、测试环境 1、系统环境 渗透机&#xff1a;本机(127.0.0.1) 靶 机&#xff1a;本机(127.0.0.…

AI时代大厂AI项目管理学习路线

AI时代避免被裁员&#xff0c;大厂AI项目管理学习路线主要包括&#xff1a; 1、AI项目管理基础技能。 2、项目管理AI技术知识。 3、数据分析与决策。 4、AI项目管理工具。 5、AI项目管理知识扩展。 01 AI项目管理基础技能。 AI项目管理基础技能构成了项目管理的骨架&…

# linux从入门到精通-从基础学起,逐步提升,探索linux奥秘(九)--网络设置与文件上传下载

linux从入门到精通-从基础学起&#xff0c;逐步提升&#xff0c;探索linux奥秘&#xff08;九&#xff09;–网络设置与文件上传下载 一、网络设置 1、首先知道网卡配置文件位置&#xff1a;/etc/sysconfig/network-scripts [rootlocalhost test1]# ls /etc/sysconfig/netwo…