PostgreSQL 连接器:在 SeaTunnel 中的应用与优势

在现代企业中,数据已经成为核心资产,基于开源数据集成平台SeaTunnel,工程师如何高效地连接和管理这些数据源,直接关系到企业的竞争力和运营效率。

file

本文将给大家介绍如何通过 JDBC PostgreSQL 数据源连接器,在 SeaTunnel 平台中实现高效的数据处理与集成,并详细解析其关键功能和使用场景。


支持的引擎

在数据集成和处理的过程中,选择合适的引擎至关重要。JDBC PostgreSQL 数据源连接器支持以下引擎:

  • Spark: 适用于大规模数据处理和实时流处理。
  • Flink: 强大的流式数据处理引擎,适合需要低延迟和高吞吐量的场景。
  • SeaTunnel Zeta: 专为数据集成和处理设计的轻量级引擎,提供高效、灵活的解决方案。

使用依赖

使用 Spark 或 Flink 引擎时,需要确保将 JDBC 驱动程序 jar 包 放置在 ${SEATUNNEL_HOME}/plugins/ 目录中。

对于 SeaTunnel Zeta 引擎

使用 SeaTunnel Zeta 引擎时,请将 JDBC 驱动程序 jar 包 放置在 ${SEATUNNEL_HOME}/lib/ 目录中。

关键功能

JDBC PostgreSQL 数据源连接器在数据处理过程中,提供了一系列关键功能,帮助企业高效地管理和利用数据:

  • 批量处理 (Batch): 支持大规模数据的批量读取和处理。
  • 流处理 (Stream): 当前尚未支持流式数据处理。
  • 精确一次 (Exactly-Once): 确保数据处理的精确一致性,避免重复和数据丢失。
  • 列投影 (Column Projection): 允许用户选择和投影特定的列,以优化数据读取的性能。
  • 并行处理 (Parallelism): 支持数据的并行读取和处理,提高处理效率。
  • 用户定义的拆分 (User-Defined Split): 支持用户定义的拆分策略,灵活处理不同的数据分片需求。

数据源信息

连接器支持不同版本的 PostgreSQL 数据源,每个版本可能使用不同的驱动程序类。以下是支持的数据源信息:

数据源支持的版本驱动程序连接 URLMaven 下载链接
PostgreSQL各版本依赖使用不同的驱动程序类org.postgresql.Driverjdbc:postgresql://localhost:5432/test下载
PostgreSQL若需操作 GEOMETRY 类型数据org.postgresql.Driverjdbc:postgresql://localhost:5432/test下载

数据库依赖

请下载与您的数据源相对应的 Maven 支持列表,并将其复制到 $SEATUNNEL_HOME/plugins/jdbc/lib/ 目录中。例如,对于 PostgreSQL 数据源,请将 postgresql-xxx.jar 文件复制到上述目录。

数据类型映射

JDBC PostgreSQL 连接器提供了丰富的数据类型支持,将 PostgreSQL 数据类型映射到 SeaTunnel 的数据类型:

PostgreSQL 数据类型SeaTunnel 数据类型
BOOLBOOLEAN
_BOOLARRAY
BYTEABYTES
_BYTEAARRAY
INT2, SMALLSERIALSMALLINT
_INT2ARRAY
INT4, SERIALINT
_INT4ARRAY
INT8, BIGSERIALBIGINT
_INT8ARRAY
FLOAT4FLOAT
_FLOAT4ARRAY
FLOAT8DOUBLE
_FLOAT8ARRAY
NUMERIC (指定列大小 > 0)DECIMAL (指定列大小,获取指定列的小数点右边的数字个数)
NUMERIC (指定列大小 < 0)DECIMAL (38, 18)
BPCHAR, CHARACTER, VARCHAR, TEXTSTRING
_BPCHAR, _CHARACTER, _VARCHAR, _TEXTARRAY
TIMESTAMP(s), TIMESTAMPTZ(s)TIMESTAMP(s)
TIME(s), TIMETZ(s)TIME(s)
DATEDATE

选项

名称类型必填默认值描述
urlString-JDBC 连接的 URL。例如:jdbc:postgresql://localhost:5432/test
driverString-连接到远程数据源的 JDBC 类名,如果使用 PostgreSQL,值为 org.postgresql.Driver
userString-连接实例的用户名
passwordString-连接实例的密码
queryString-查询语句
connection_check_timeout_secInt30验证连接的数据库操作完成的等待时间(秒)
partition_columnString-并行处理的分区列名,只支持数值类型主键,且只能配置一个列
partition_lower_boundBigDecimal-分区列的最小值,如果未设置,SeaTunnel 将查询数据库获取最小值
partition_upper_boundBigDecimal-分区列的最大值,如果未设置,SeaTunnel 将查询数据库获取最大值
partition_numInt作业并行度分区数量,只支持正整数,默认值为作业并行度
fetch_sizeInt0对于返回大量对象的查询,可以配置行获取大小以提高性能,减少满足选择条件所需的数据库命中次数。0 表示使用 JDBC 默认值
propertiesMap-其他连接配置参数,当 properties 和 URL 存在相同参数时,优先级由驱动程序的具体实现决定,例如在 MySQL 中,properties 优先于 URL

并行读取

JDBC 源连接器支持从表中并行读取数据。SeaTunnel 将使用某些规则拆分表中的数据,然后交给读者读取。读者的数量由 parallelism 选项决定。

拆分键规则

  1. 如果 partition_column 不为空,将用于计算拆分。该列必须是 支持的拆分数据类型
  2. 如果 partition_column 为空,SeaTunnel 将从表中读取架构并获取主键和唯一索引。如果主键和唯一索引中有多个列,支持的拆分数据类型 中的第一列将用于拆分数据。例如,表有主键(nn guid, name varchar),因为 guid 不在 支持的拆分数据类型 中,因此将使用列 name 进行数据拆分。

支持的拆分数据类型

  • 字符串
  • 数字(int、bigint、decimal 等)
  • 日期

相关拆分选项

split.size

每个拆分包含多少行,当读取表时,捕获的表将拆分为多个拆分。

split.even-distribution.factor.lower-bound

不推荐使用

块键分布因子的下限。此因子用于确定表数据是否均匀分布。如果计算出的分布因子大于或等于此下限(即(MAX(id) - MIN(id) + 1)/ 行数),则表块将优化为均匀分布。否则,如果分布因子较小,表将被视为不均匀分布,并在估计的分片数超过 sample-sharding.threshold 值时使用基于采样的分片策略。默认值为 0.05。

split.even-distribution.factor.upper-bound

不推荐使用

块键分布因子的上限。此因子用于确定表数据是否均匀分布。如果计算出的分布因子小于或等于此上限(即```markdown

PostgreSQL 数据源连接器:在 SeaTunnel 中的应用与优势

在现代企业中,数据已经成为核心资产,如何高效地连接和管理这些数据源,直接关系到企业的竞争力和运营效率。本文将深入探讨如何通过 JDBC PostgreSQL 数据源连接器,在 SeaTunnel 平台中实现高效的数据处理与集成,并详细解析其关键功能和使用场景。


支持的引擎

在数据集成和处理的过程中,选择合适的引擎至关重要。JDBC PostgreSQL 数据源连接器支持以下引擎:

  • Spark: 适用于大规模数据处理和实时流处理。
  • Flink: 强大的流式数据处理引擎,适合需要低延迟和高吞吐量的场景。
  • SeaTunnel Zeta: 专为数据集成和处理设计的轻量级引擎,提供高效、灵活的解决方案。

使用依赖

使用 Spark 或 Flink 引擎时,需要确保将 JDBC 驱动程序 jar 包 放置在 ${SEATUNNEL_HOME}/plugins/ 目录中。

对于 SeaTunnel Zeta 引擎

使用 SeaTunnel Zeta 引擎时,请将 JDBC 驱动程序 jar 包 放置在 ${SEATUNNEL_HOME}/lib/ 目录中。

关键功能

JDBC PostgreSQL 数据源连接器在数据处理过程中,提供了一系列关键功能,帮助企业高效地管理和利用数据:

  • 批量处理 (Batch): 支持大规模数据的批量读取和处理。
  • 精确一次 (Exactly-Once): 确保数据处理的精确一致性,避免重复和数据丢失。
  • 列投影 (Column Projection): 允许用户选择和投影特定的列,以优化数据读取的性能。
  • 并行处理 (Parallelism): 支持数据的并行读取和处理,提高处理效率。
  • 用户定义的拆分 (User-Defined Split): 支持用户定义的拆分策略,灵活处理不同的数据分片需求。

数据源信息

连接器支持不同版本的 PostgreSQL 数据源,每个版本可能使用不同的驱动程序类。以下是支持的数据源信息:

数据源支持的版本驱动程序连接 URLMaven 下载链接
PostgreSQL各版本依赖使用不同的驱动程序类org.postgresql.Driverjdbc:postgresql://localhost:5432/test下载
PostgreSQL若需操作 GEOMETRY 类型数据org.postgresql.Driverjdbc:postgresql://localhost:5432/test下载

数据库依赖

请下载与您的数据源相对应的 Maven 支持列表,并将其复制到 $SEATUNNEL_HOME/plugins/jdbc/lib/ 目录中。例如,对于 PostgreSQL 数据源,请将 postgresql-xxx.jar 文件复制到上述目录。

数据类型映射

JDBC PostgreSQL 连接器提供了丰富的数据类型支持,将 PostgreSQL 数据类型映射到 SeaTunnel 的数据类型:

PostgreSQL 数据类型SeaTunnel 数据类型
BOOLBOOLEAN
_BOOLARRAY
BYTEABYTES
_BYTEAARRAY
INT2, SMALLSERIALSMALLINT
_INT2ARRAY
INT4, SERIALINT
_INT4ARRAY
INT8, BIGSERIALBIGINT
_INT8ARRAY
FLOAT4FLOAT
_FLOAT4ARRAY
FLOAT8DOUBLE
_FLOAT8ARRAY
NUMERIC (指定列大小 > 0)DECIMAL (指定列大小,获取指定列的小数点右边的数字个数)
NUMERIC (指定列大小 < 0)DECIMAL (38, 18)
BPCHAR, CHARACTER, VARCHAR, TEXTSTRING
_BPCHAR, _CHARACTER, _VARCHAR, _TEXTARRAY
TIMESTAMP(s), TIMESTAMPTZ(s)TIMESTAMP(s)
TIME(s), TIMETZ(s)TIME(s)
DATEDATE

选项

名称类型必填默认值描述
urlString-JDBC 连接的 URL。例如:jdbc:postgresql://localhost:5432/test
driverString-连接到远程数据源的 JDBC 类名,如果使用 PostgreSQL,值为 org.postgresql.Driver
userString-连接实例的用户名
passwordString-连接实例的密码
queryString-查询语句
connection_check_timeout_secInt30验证连接的数据库操作完成的等待时间(秒)
partition_columnString-并行处理的分区列名,只支持数值类型主键,且只能配置一个列
partition_lower_boundBigDecimal-分区列的最小值,如果未设置,SeaTunnel 将查询数据库获取最小值
partition_upper_boundBigDecimal-分区列的最大值,如果未设置,SeaTunnel 将查询数据库获取最大值
partition_numInt作业并行度分区数量,只支持正整数,默认值为作业并行度
fetch_sizeInt0对于返回大量对象的查询,可以配置行获取大小以提高性能,减少满足选择条件所需的数据库命中次数。0 表示使用 JDBC 默认值
propertiesMap-其他连接配置参数,当 properties 和 URL 存在相同参数时,优先级由驱动程序的具体实现决定,例如在 MySQL 中,properties 优先于 URL

并行读取

JDBC 源连接器支持从表中并行读取数据。SeaTunnel 将使用某些规则拆分表中的数据,然后交给读者读取。读者的数量由 parallelism 选项决定。

拆分键规则

  1. 如果 partition_column 不为空,将用于计算拆分。该列必须是 支持的拆分数据类型
  2. 如果 partition_column 为空,SeaTunnel 将从表中读取架构并获取主键和唯一索引。如果主键和唯一索引中有多个列,支持的拆分数据类型 中的第一列将用于拆分数据。例如,表有主键(nn guid, name varchar),因为 guid 不在 支持的拆分数据类型 中,因此将使用列 name 进行数据拆分。

支持的拆分数据类型

  • 字符串
  • 数字(int、bigint、decimal 等)
  • 日期

相关拆分选项

split.size

每个拆分包含多少行,当读取表时,捕获的表将拆分为多个拆分。

split.even-distribution.factor.lower-bound

不推荐使用

块键分布因子的下限。此因子用于确定表数据是否均匀分布。如果计算出的分布因子大于或等于此下限(即(MAX(id) - MIN(id) + 1)/ 行数),则表块将优化为均匀分布。否则,如果分布因子较小,表将被视为不均匀分布,并在估计的分片数超过 sample-sharding.threshold 值时使用基于采样的分片策略。默认值为 0.05。

split.even-distribution.factor.upper-bound

不推荐使用

块键分布因子的上限。此因子用于确定表数据是否均匀分布。如果计算出的分布因子小于或等于此上限(即(MAX(id) - MIN(id) + 1)/ 行数),则表块将优化为均匀分布。否则,如果分布因子更大,则如果预估的分片数超过 指定的值,则该表将被视为分布不均匀,并且将使用基于采样的分片策略sample-sharding.threshold。默认值为 100.0。

split.sample-sharding.threshold

此配置指定触发采样分片策略的估计分片数阈值。当分布因子超出 chunk-key.even-distribution.factor.upper-boundchunk-key.even-distribution.factor.lower-bound 指定的范围,并且估计的分片数(计算为近似行数/块大小)超过此阈值时,将使用采样分片策略。这有助于更高效地处理大数据集。默认值为 1000 分片。

split.inverse-sampling.rate

采样分片策略中使用的采样率的倒数。例如,如果此值设置为 1000,则表示在采样过程中应用 1/1000 的采样率。此选项提供了控制采样粒度的灵活性,从而影响最终的分片数量。对于非常大的数据集,较低的采样率是首选。默认值为 1000。

partition_column [string]

用于拆分数据的列名。

partition_upper_bound [BigDecimal]

扫描的 partition_column 最大值,如果未设置,SeaTunnel 将查询数据库获取最大值。

partition_lower_bound [BigDecimal]

扫描的 partition_column 最小值,如果未设置,SeaTunnel 将查询数据库获取最小值。

partition_num [int]

不推荐使用,正确的方法是通过 split.size 控制拆分数量

需要拆分成多少个分片,仅支持正整数。默认值为作业并行度。

提示

如果表不能拆分(例如,表没有主键或唯一索引,并且未设置 partition_column),它将以单一并发运行。

使用 table_path 替换 query 进行单表读取。如果需要读取多个表,请使用 table_list

任务示例

简单示例:

此示例在测试 "数据库" 中查询 type_bin 'table' 16 数据,并以单并行方式查询其所有字段。您还可以指定要查询的字段并最终输出到控制台。

# 定义运行环境
env {
  parallelism = 4
  job.mode = "BATCH"
}

source{
    Jdbc {
        url = "jdbc:postgresql://localhost:5432/test"
        driver = "org.postgresql.Driver"
        user = "root"
        password = "test"
        query = "select * from source limit 16"
    }
}

transform {
    # 请访问 https://seatunnel.apache.org/docs/transform-v2/sql
}

sink {
    Console {}
}

通过 partition_column 并行

使用您配置的分片字段并行读取查询表中的数据。如果您想读取整个表,可以这样做。

  env {
  parallelism = 4
  job.mode = "BATCH"
}
source{
    jdbc{
        url = "jdbc:postgresql://localhost:5432/test"
        driver = "org.postgresql.Driver"
        user = "root"
        password = "test"
        query = "select * from source"
        partition_column= "id"
        partition_num = 5
    }
}
sink {
  Console {}
}

通过主键或唯一索引并行

配置 table_path 将开启自动拆分,您可以配置 split.* 以调整拆分策略。

  env {
  parallelism = 4
  job.mode = "BATCH"
}
source {
    Jdbc {
        url = "jdbc:postgresql://localhost:5432/test"
        driver = "org.postgresql.Driver"
        connection_check_timeout_sec = 100
        user = "root"
        password = "123456"
        table_path = "test.public.AllDataType_1"
        query = "select * from public.AllDataType_1"
        split.size = 10000
    }
}

sink {
  Console {}
}

并行边界

指定查询上限和下限的数据会更高效。根据您配置的上限和下限读取数据源会更高效。

source{
    jdbc{
        url = "jdbc:postgresql://localhost:5432/test"
        driver = "org.postgresql.Driver"
        user = "root"
        password = "test"
        query = "select * from source"
        partition_column= "id"

        # 返回的表名称
        result_table_name = "jdbc"
        partition_lower_bound = 1
        partition_upper_bound = 50
        partition_num = 5
    }
}

多表读取

配置 table_list 将开启自动拆分,您可以配置 split.* 以调整拆分策略

  env {
  job.mode = "BATCH"
  parallelism = 4
}
source {
  Jdbc {
    url="jdbc:postgresql://datasource01:5432/demo"
    user="iDm82k6Q0Tq+wUprWnPsLQ=="
    driver="org.postgresql.Driver"
    password="iDm82k6Q0Tq+wUprWnPsLQ=="
    "table_list"=[
        {
            "table_path"="demo.public.AllDataType_1"
        },
        {
            "table_path"="demo.public.alldatatype"
        }
    ]
    #where_condition= "where id > 100"
    split.size = 10000
    #split.even-distribution.factor.upper-bound = 100
    #split.even-distribution.factor.lower-bound = 0.05
    #split.sample-sharding.threshold = 1000
    #split.inverse-sampling.rate = 1000
  }
}

sink {
  Console {}
}

通过正确配置 PostgreSQL JDBC 源连接器,企业可以在复杂的数据环境中高效地管理和处理数据。

使用 SeaTunnel 的灵活性和强大的功能,用户可以轻松实现数据的并行处理和高效查询,从而在数据驱动的业务决策中获得更大的优势。

本文由 白鲸开源科技 提供发布支持!

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

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

相关文章

使用Flink CDC实时监控MySQL数据库变更

在现代数据架构中&#xff0c;实时数据处理变得越来越重要。Flink CDC&#xff08;Change Data Capture&#xff09;是一种强大的工具&#xff0c;可以帮助我们实时捕获数据库的变更&#xff0c;并进行处理。本文将介绍如何使用Flink CDC从MySQL数据库中读取变更数据&#xff0…

Docker部署常见应用之Oracle数据库

文章目录 安装部署参考文章 安装部署 使用Docker安装Oracle数据库是一个相对简便的过程&#xff0c;可以避免在本地环境中直接安装Oracle数据库的复杂性。 安装Docker环境&#xff1a;确保你的系统上已经安装了Docker&#xff0c;并且Docker服务正在运行。具体的安装方法可以根…

TikTok网页版使用指南:如何登录TikTok网页版?

海外版抖音TikTok&#xff0c;已成为连接全球观众的重要平台。据统计&#xff0c;在美国&#xff0c;TikTok的用户数量已达到近1.3亿&#xff0c;并且在国外的95后用户群体中很受欢迎。 TikTok网页版也提供了一个广阔的平台&#xff0c;让品牌和创作者在电脑端与全球观众互动&…

数据结构与算法基础(王卓)--学习笔记

1 数据结构分类 1.1 逻辑结构分类 集合结构线性结构&#xff1a;线性表、栈、队列、串树形结构图形结构 1.2 物理结构分类 逻辑结构在计算机中的真正表示方式&#xff08;又称为映射&#xff09;称为物理结构&#xff0c;也可叫做存储结构 顺序存储结构&#xff1a;数组链…

【Unity】Excel配置工具

1、功能介绍 通过Excel表配置表数据&#xff0c;一键生成对应Excel配置表的数据结构类、数据容器类、已经二进制数据文件&#xff0c;加载二进制数据文件获取所有表数据 需要使用Excel读取的dll包 2、关键代码 2.1 ExcelTool类 实现一键生成Excel配置表的数据结构类、数据…

Centos7源码方式安装sqle及开发相关

官方文档-源码安装 操作系统&#xff1a;centos:7.9,everything (DVD版应该也可以) (在ubuntu22.04装了两天之后乖乖开了一个新Centos7虚拟机) 镜像&#xff1a;清华大学开源软件镜像站 centos/7.9.2009 安装git sudo yum update -y sudo yum install -y git git --version安…

Sonia索尼娅:填补心理健康护理缺口的创新人工智能治疗师应用APP

聊天机器人可以取代人类治疗师吗&#xff1f;一些初创公司和患者声称他们可以。但这并不是完全确定的科学。 一项引人注目的研究发现&#xff0c;高达80%的使用OpenAI的ChatGPT寻求心理健康建议的人认为&#xff0c;这项技术可作为传统治疗的理想替代方案。与此同时&#xff0…

Android高级面试_2_IPC相关

Android 高级面试-3&#xff1a;语言相关 1、Java 相关 1.1 缓存相关 问题&#xff1a;LruCache 的原理&#xff1f; 问题&#xff1a;DiskLruCache 的原理&#xff1f; LruCache 用来实现基于内存的缓存&#xff0c;LRU 就是最近最少使用的意思&#xff0c;LruCache 基于L…

国外8年联培访学迎来逆袭|国家最高科学技术奖薛其坤成长史

国家最高科技奖花落薛其坤&#xff0c;他是该奖项史上最年轻得主。在追踪其成长史的过程中&#xff0c;知识人网小编注意到&#xff1a;薛其坤的学习研究开局并不顺利&#xff0c;直至到日本做联合培养博士研究生&#xff0c;他才真正迎来了自己学术生涯的重要转折点。后来到美…

面试相关-接口测试常问的问题

1.为什么要做接口测试 (1)现在大多系统都是前后端分离的项目,前端和后端的进度可能不一样,那为了尽早的进入测试,前端界面没有开发完成的情况下,只要后端的接口开发完了,就可以提前做接口测试了; (2)基于安全考虑,只依赖前端进行限制,已经完全不满足系统的安全性…

ELK日志集成

https://www.bilibili.com/video/BV1x94y1674x/?buvidXY705117E90F73A790429C9CFBD5F70F22168&vd_source939ea718db29535a3847d861e5fe37ef

Aigtek:为何要使用电压放大器

电压放大器在现代电子技术中起到了至关重要的作用。它是一种电子设备&#xff0c;用于将输入信号的电压增大到所需的输出电压水平。电压放大器的使用有以下几个方面的原因和优势。 电压放大器可以提高信号的强度和质量。许多实际应用中的输入信号往往很微弱&#xff0c;比如来自…

“管式加热炉简单控制系统和串级控制系统设计与Matlab仿真”,高分资源,匠心制作,下载可用。强烈推荐!!!

“管式加热炉简单控制系统和串级控制系统设计与Matlab仿真”毕业设计&#xff0c;高分资源&#xff0c;匠心制作&#xff0c;下载可用。强烈推荐&#xff01;&#xff01;&#xff01; 1.控制目标 加热炉的任务是把原油加热到一定温度&#xff0c;以保证下道工艺的顺利进行。…

windows安装mysql8.0.35保姆级教程

一、下载mysql安装包 点击mysql安装包下载链接&#xff1a;https://downloads.mysql.com/archives/community/ 选择window版本&#xff0c;点击下载按钮&#xff0c;如下所示&#xff1a; 二、解压安装包并新建my.ini文件 将下面内容复制到新建的my.ini文件里面 [mysqld] #…

阿里云oss存储

文章目录 准备阿里云的OSS控制台创建bucket获取AccessKey java使用oss导入依赖官网demo修改参数运行demo代码 封装工具类Oss下载如何保证指定时间段内可以访问私有权限的图片文件&#xff1f; 准备阿里云的OSS 控制台 访问阿里云官网&#xff0c;登录以后&#xff0c;右上角有…

大众点评根据关键词搜索采集店铺信息

大众点评根据关键词搜索采集店铺信息&#xff0c;包括店铺名称、大中小分类、省市区划分、人均价格、评价数量、团购数量、全部团购名称、全部团购链接&#xff08;团购信息还可解析出每个团购的价格&#xff09; ​​​

【代码安全】如何通过实现代码加密与魔改Python,防止代码泄露、恶意窃取

如何通过实现代码加密与魔改Python&#xff0c;防止代码泄露、恶意窃取 文章目录 如何通过实现代码加密与魔改Python&#xff0c;防止代码泄露、恶意窃取前言概述代码运行演示Step 0: 正常代码运行Step 1: 代码加密Step 2: 加密代码在魔改环境运行Step 3: 加密代码在正常环境运…

matlab编辑稀疏单位方阵

创建 10001000 稀疏单位方阵&#xff0c;并查看稀疏模式。 &#xff08;1&#xff09; I speye(1000); spy(I)&#xff08;2&#xff09; S speye(400,800); spy(S)此命令等同于 speye([400 800])。

【Python】易错题 [1]

目录 一、选择&#xff1a; 1.列表的复制​编辑 2.函数 二、填空 一、选择&#xff1a; 1.列表的复制 在Python中&#xff0c;列表是可变的数据类型。当将一个列表赋值给另一个变量时&#xff0c;实际上是将这个变量的引用指向原始列表。&#xff08;指针&#xff09;因此&…

直播怎么录制视频?直播视频,3种录制方法

“今晚我最喜欢的游戏博主要进行直播&#xff0c;但我可能还要加班。怎么办&#xff0c;不想错过直播的内容&#xff01;电脑怎么才能进行直播录制视频啊&#xff1f;谁能教教我&#xff1f;” 在数字化的今天&#xff0c;直播已经成为人们获取信息和娱乐的重要途径。有时&…