flume sink 簡介及官方用例

1、HDFS Sink

此sink將事件寫入 Hadoop 分布式文件系統 (HDFS) 中。它目前支持創建文本和序列文件。它支持兩種文件類型的壓縮。可以根據經過的時間或數據大小或事件數定期滾動文件(關閉當前文件并創建一個新文件)。它還按事件起源的時間戳或計算機等屬性對數據進行存儲/分區。HDFS 目錄路徑可能包含格式轉義序列,這些轉義序列將由 HDFS 接收器替換,以生成用于存儲事件的目錄/文件名。使用此 sink 需要安裝 hadoop,以便 Flume 可以使用 Hadoop jar 與 HDFS 集群進行通信。請注意,需要支持 sync() 調用的 Hadoop 版本。

注意 對于所有與時間相關的轉義序列,事件的標頭中必須存在鍵為“timestamp”的標頭(除非 hdfs.useLocalTimeStamp 設置為 true)。自動添加此功能的一種方法是使用 TimestampInterceptor。

Name

Default

Description

channel

type

The component type name, needs to be?hdfs

hdfs.path

HDFS directory path (eg hdfs://namenode/flume/webdata/)

Example for agent named a1:

a1.channels = c1

a1.sinks = k1

a1.sinks.k1.type = hdfs

a1.sinks.k1.channel = c1

a1.sinks.k1.hdfs.path = /flume/events/%Y-%m-%d/%H%M/%S

a1.sinks.k1.hdfs.filePrefix = events-

a1.sinks.k1.hdfs.round = true

a1.sinks.k1.hdfs.roundValue = 10

a1.sinks.k1.hdfs.roundUnit = minute

上述配置會將時間戳四舍五入到最后 10 分鐘。例如,如果事件的時間戳為 2012 年 6 月 12 日上午 11:54:34,則 hdfs 路徑將變為 /flume/events/2012-06-12/1150/00。

2、Hive Sink

此接收器將包含分隔文本或 JSON 數據的事件直接流式傳輸到 Hive 表或分區中。事件是使用 Hive 事務寫入的。一旦將一組事件提交到 Hive,Hive 查詢就會立即看到這些事件。Flume 將流式傳輸到的分區可以預先創建,也可以選擇性地在缺少分區時創建它們。傳入事件數據中的字段將映射到 Hive 表中的相應列。

Name

Default

Description

channel

type

The component type name, needs to be?hive

hive.metastore

Hive metastore URI (eg thrift://a.b.com:9083 )

hive.database

Hive database name

hive.table

Hive table name

hive.partition

Comma separate list of partition values identifying the partition to write to. May contain escape sequences. E.g: If the table is partitioned by (continent: string, country :string, time : string) then ‘Asia,India,2014-02-26-01-21’ will indicate continent=Asia,country=India,time=2014-02-26-01-21

serializer

Serializer is responsible for parsing out field from the event and mapping them to columns in the hive table. Choice of serializer depends upon the format of the data in the event. Supported serializers: DELIMITED and JSON

Example Hive table :

create table weblogs ( id int , msg string )

??? partitioned by (continent string, country string, time string)

??? clustered by (id) into 5 buckets

??? stored as orc;

Example for agent named a1:

a1.channels = c1

a1.channels.c1.type = memory

a1.sinks = k1

a1.sinks.k1.type = hive

a1.sinks.k1.channel = c1

a1.sinks.k1.hive.metastore = thrift://127.0.0.1:9083

a1.sinks.k1.hive.database = logsdb

a1.sinks.k1.hive.table = weblogs

a1.sinks.k1.hive.partition = asia,%{country},%Y-%m-%d-%H-%M

a1.sinks.k1.useLocalTimeStamp = false

a1.sinks.k1.round = true

a1.sinks.k1.roundValue = 10

a1.sinks.k1.roundUnit = minute

a1.sinks.k1.serializer = DELIMITED

a1.sinks.k1.serializer.delimiter = "\t"

a1.sinks.k1.serializer.serdeSeparator = '\t'

a1.sinks.k1.serializer.fieldnames =id,,msg

上述配置會將時間戳四舍五入到最后 10 分鐘。例如,如果事件的時間戳標頭設置為 2012 年 6 月 12 日上午 11:54:34,并且“country”標頭設置為“india”,則該事件的計算結果將達到分區 (continent='asia',country='india',time='2012-06-12-11-50')。序列化程序配置為接受包含三個字段的制表符分隔輸入,并跳過第二個字段。

3、Logger Sink

在 INFO 級別記錄事件。通常可用于測試/調試目的。

Property Name

Default

Description

channel

type

The component type name, needs to be?logger

maxBytesToLog

16

Maximum number of bytes of the Event body to log

Example for agent named a1:

a1.channels = c1

a1.sinks = k1

a1.sinks.k1.type = logger

a1.sinks.k1.channel = c1

4、Avro Sink

發送到此sink的 Flume 事件將轉換為 Avro 事件,并發送到配置的主機名/端口對。事件以配置的批處理大小的批處理方式從配置的通道中獲取。

Property Name

Default

Description

channel

type

The component type name, needs to be?avro.

hostname

The hostname or IP address to bind to.

port

The port # to listen on.

Example for agent named a1:

a1.channels = c1

a1.sinks = k1

a1.sinks.k1.type = avro

a1.sinks.k1.channel = c1

a1.sinks.k1.hostname = 10.10.10.10

a1.sinks.k1.port = 4545

5、Thrift Sink

發送到此接收器的 Flume 事件將轉換為 Thrift 事件,并發送到配置的主機名/端口對。事件從配置的通道中按配置的批處理大小批量獲取

通過啟用 kerberos 身份驗證,可以將 Thrift sink 配置為在安全模式下啟動。要與以安全模式啟動的 Thrift 源進行通信,Thrift 接收器也應在安全模式下運行。client-principal 和 client-keytab 是 Thrift 接收器用于向 kerberos KDC 進行身份驗證的屬性。server-principal 表示此接收器配置為在安全模式下連接到的 Thrift 源的主體。

Property Name

Default

Description

channel

type

The component type name, needs to be?thrift.

hostname

The hostname or IP address to bind to.

port

The port # to listen on.

Example for agent named a1:

a1.channels = c1

a1.sinks = k1

a1.sinks.k1.type = thrift

a1.sinks.k1.channel = c1

a1.sinks.k1.hostname = 10.10.10.10

a1.sinks.k1.port = 4545

6、File Roll Sink

將事件存儲在本地文件系統上

Property Name

Default

Description

channel

type

The component type name, needs to be?file_roll.

sink.directory

The directory where files will be stored

Example for agent named a1:

a1.channels = c1

a1.sinks = k1

a1.sinks.k1.type = file_roll

a1.sinks.k1.channel = c1

a1.sinks.k1.sink.directory = /var/log/flume

7、IRC Sink

IRC 接收器從附加通道獲取消息,并將這些消息中繼到配置的 IRC 目標。

Property Name

Default

Description

channel

type

The component type name, needs to be?irc

hostname

The hostname or IP address to connect to

port

6667

The port number of remote host to connect

nick

Nick name

user

User name

password

User password

chan

channel

Example for agent named a1:

a1.channels = c1

a1.sinks = k1

a1.sinks.k1.type = irc

a1.sinks.k1.channel = c1

a1.sinks.k1.hostname = irc.yourdomain.com

a1.sinks.k1.nick = flume

a1.sinks.k1.chan = #flume

8、HBaseSinks?.

此接收器將數據寫入 HBase。Hbase 配置是從類路徑中遇到的第一個hbase-site.xml中選取的。實現 HbaseEventSerializer 的類(由配置指定)用于將事件轉換為 HBase 全量和/或增量。然后將這些全量和增量寫入 HBase。此接收器提供與 HBase 相同的一致性保證,HBase 目前是逐行原子性。如果 Hbase 無法寫入某些事件,接收器將回滾該事務中的所有事件。

HBaseSink 支持寫入數據以保護 HBase。若要寫入安全 HBase,代理正在運行的用戶必須對接收器配置為寫入的表具有寫入權限。可以在配置中指定用于對 KDC 進行身份驗證的主體和密鑰表。Flume 代理類路徑中的hbase-site.xml必須將身份驗證設置為 kerberos(有關如何執行此操作的詳細信息,請參閱 HBase 文檔)

為方便起見,Flume 提供了兩個序列化器。SimpleHbaseEventSerializer (org.apache.flume.sink.hbase.SimpleHbaseEventSerializer) 將事件正文按原樣寫入 HBase,并選擇性地在 Hbase 中遞增列。RegexHbaseEventSerializer (org.apache.flume.sink.hbase.RegexHbaseEventSerializer) 根據給定的正則表達式中斷事件正文,并將每個部分寫入不同的列中。類型為 FQCN:org.apache.flume.sink.hbase.HBaseSink。

Property Name

Default

Description

channel

type

The component type name, needs to be?hbase

table

The name of the table in Hbase to write to.

columnFamily

The column family in Hbase to write to.

Example for agent named a1:

a1.channels = c1

a1.sinks = k1

a1.sinks.k1.type = hbase

a1.sinks.k1.table = foo_table

a1.sinks.k1.columnFamily = bar_cf

a1.sinks.k1.serializer = org.apache.flume.sink.hbase.RegexHbaseEventSerializer

a1.sinks.k1.channel = c1

9、HBase2Sink

HBase2Sink 相當于 HBase 版本 2 的 HBaseSink。提供的功能和配置參數與 HBaseSink 相同(sink 類型中的 hbase2 標記和包/類名稱除外)。類型為FQCN: org.apache.flume.sink.hbase2.HBase2Sink

Property Name

Default

Description

channel

type

The component type name, needs to be?hbase2

table

The name of the table in HBase to write to.

columnFamily

The column family in HBase to write to.

Example for agent named a1:

a1.channels = c1

a1.sinks = k1

a1.sinks.k1.type = hbase2

a1.sinks.k1.table = foo_table

a1.sinks.k1.columnFamily = bar_cf

a1.sinks.k1.serializer = org.apache.flume.sink.hbase2.RegexHBase2EventSerializer

a1.sinks.k1.channel = c1

10、AsyncHBaseSink

此接收器使用異步模型將數據寫入 HBase。實現 AsyncHbaseEventSerializer 的類(由配置指定)用于將事件轉換為 HBase 全量和/或增量。然后將這些看全量和增量寫入 HBase。此接收器使用 Asynchbase API 寫入 HBase。此接收器提供與 HBase 相同的一致性保證,HBase 目前是逐行原子性。如果 Hbase 無法寫入某些事件,接收器將回滾該事務中的所有事件。AsyncHBaseSink 只能與 HBase 1.x 一起使用。AsyncHBaseSink 使用的異步客戶端庫不適用于 HBase 2。類型為 FQCN:org.apache.flume.sink.hbase.AsyncHBaseSink。

Property Name

Default

Description

channel

type

The component type name, needs to be?asynchbase

table

The name of the table in Hbase to write to.

columnFamily

The column family in Hbase to write to.

Example for agent named a1:

a1.channels = c1

a1.sinks = k1

a1.sinks.k1.type = asynchbase

a1.sinks.k1.table = foo_table

a1.sinks.k1.columnFamily = bar_cf

a1.sinks.k1.serializer = org.apache.flume.sink.hbase.SimpleAsyncHbaseEventSerializer

a1.sinks.k1.channel = c1

11、MorphlineSolrSink

該sink從 Flume 事件中提取數據,對其進行轉換,并將其近乎實時地加載到 Apache Solr 服務器中,而 Apache Solr 服務器又向最終用戶或搜索應用程序提供查詢。

此接收器非常適合將原始數據流式傳輸到 HDFS(通過 HdfsSink)并同時提取、轉換和加載相同數據到 Solr(通過 MorphlineSolrSink)的用例。具體而言,此sink可以處理來自不同數據源的任意異構原始數據,并將其轉換為對搜索應用程序有用的數據模型。

ETL 功能可使用 morphline 配置文件進行自定義,該文件定義了一系列轉換命令,這些命令將事件記錄從一個命令傳遞到另一個命令。

Morphlines 可以看作是 Unix 管道的演變,其中數據模型被推廣為處理通用記錄流,包括任意二進制有效負載。morphline 命令有點像 Flume Interceptor。Morphlines 可以嵌入到 Hadoop 組件(如 Flume)中

提供用于解析和轉換一組標準數據格式(如日志文件、Avro、CSV、文本、HTML、XML、PDF、Word、Excel 等)的命令,并且可以添加用于其他數據格式的其他自定義命令和解析器作為 morphline 插件。可以對任何類型的數據格式進行索引,并且可以生成任何類型的Solr模式的任何Solr文檔,并且可以注冊和執行任何自定義ETL邏輯。

Morphlines 操作連續的記錄流。數據模型可以描述如下:記錄是一組命名字段,其中每個字段都有一個或多個值的有序列表。值可以是任何 Java 對象。也就是說,記錄本質上是一個哈希表,其中每個哈希表條目都包含一個 String 鍵和一個 Java 對象列表作為值。(該實現使用 Guava 的 ArrayListMultimap,即 ListMultimap)。請注意,一個字段可以有多個值,并且任何兩個記錄都不需要使用通用字段名稱。

此sink將 Flume 事件的主體填充到 morphline 記錄的 _attachment_body 字段中,并將 Flume 事件的標頭復制到同名的記錄字段中。然后,命令可以對此數據執行操作。

支持路由到 SolrCloud 集群以提高可擴展性。索引負載可以分布在大量 MorphlineSolrSink 上,以提高可伸縮性。索引負載可以在多個MorphlineSolrSinks之間復制,以實現高可用性,例如使用Flume功能,如負載平衡Sink Processor。MorphlineInterceptor 還可以幫助實現到多個 Solr 集合的動態路由(例如,用于多租戶)。

您的環境所需的 morphline 和 solr jar 必須放在 Apache Flume 安裝的 lib 目錄中。

The type is the FQCN: org.apache.flume.sink.solr.morphline.MorphlineSolrSink

Property Name

Default

Description

channel

type

The component type name, needs to be?org.apache.flume.sink.solr.morphline.MorphlineSolrSink

morphlineFile

The relative or absolute path on the local file system to the morphline configuration file. Example:?/etc/flume-ng/conf/morphline.conf

Example for agent named a1:

a1.channels = c1

a1.sinks = k1

a1.sinks.k1.type = org.apache.flume.sink.solr.morphline.MorphlineSolrSink

a1.sinks.k1.channel = c1

a1.sinks.k1.morphlineFile = /etc/flume-ng/conf/morphline.conf

# a1.sinks.k1.morphlineId = morphline1

# a1.sinks.k1.batchSize = 1000

# a1.sinks.k1.batchDurationMillis = 1000

12、Kafka Sink

可以將數據發布到 Kafka topic。其中一個目標是將 Flume 與 Kafka 集成,以便基于拉取的處理系統可以處理來自各種 Flume 源的數據。

目前支持 Kafka 服務器版本 0.10.1.0 或更高版本。測試完成到 2.0.1,這是發布時最高的可用版本。

Property Name

Default

Description

type

Must be set to?org.apache.flume.sink.kafka.KafkaSink

kafka.bootstrap.servers

List of brokers Kafka-Sink will connect to, to get the list of topic partitions This can be a partial list of brokers, but we recommend at least two for HA. The format is comma separated list of hostname:port

kafka Sink 使用 FlumeEvent 標頭中的主題和鍵屬性將事件發送到 Kafka。如果標頭中存在主題,則事件將發送到該特定主題,覆蓋為 Sink 配置的主題。如果標頭中存在 key,則 Kafka 將使用該 key 在主題分區之間對數據進行分區。具有相同鍵的事件將發送到同一分區。如果鍵為 null,則事件將發送到隨機分區。

下面給出了 Kafka 接收器的示例配置。以前綴 kafka.producer 開頭的屬性,即 Kafka 生產者。創建 Kafka 生產者時傳遞的屬性不限于此示例中給出的屬性。此外,還可以在此處包含您的自定義屬性,并通過作為方法參數傳入的 Flume Context 對象在預處理器中訪問它們。

a1.sinks.k1.channel = c1

a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink

a1.sinks.k1.kafka.topic = mytopic

a1.sinks.k1.kafka.bootstrap.servers = localhost:9092

a1.sinks.k1.kafka.flumeBatchSize = 20

a1.sinks.k1.kafka.producer.acks = 1

a1.sinks.k1.kafka.producer.linger.ms = 1

a1.sinks.k1.kafka.producer.compression.type = snappy

Flume 和 Kafka 之間的通信通道支持安全認證和數據加密。對于安全身份驗證,可以從 Kafka 版本 0.9.0 開始使用 SASL/GSSAPI (Kerberos V5) 或 SSL(即使參數名為 SSL,實際協議是 TLS 實現)。

截至目前,數據加密僅由 SSL/TLS 提供。

將 kafka.producer.security.protocol 設置為以下任一值意味著:

SASL_PLAINTEXT - Kerberos 或純文本身份驗證,無需數據加密

SASL_SSL - 具有數據加密功能的 Kerberos 或明文身份驗證

SSL - 基于 TLS 的加密,具有可選身份驗證。

警告 啟用 SSL 時性能會下降,其程度取決于 CPU 類型和 JVM 實現。參考:Kafka 安全概述和用于跟蹤此問題的 Jira:KAFKA-2561

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/14572.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/14572.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/14572.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AI圖書推薦:用100個ChatGPT提示詞掌握Python編程

《用100個ChatGPT提示詞掌握Python編程》(ChatGPT:Your Python Coach Mastering the Essentials in 100 Prompts) 塞爾吉奧羅哈斯-加萊亞諾(Sergio Rojas-Galeano)是一位熱情的計算機科學家,對人工智能、機器學習、進化…

C++中獲取int最大與最小值(補)

上文中,我們學習了C中獲取int最大與最小值的兩種方法:C庫和移位運算,這篇文章將解決在移位運算中遇到的各種報錯,并提出一種新的生成int最值的方法 上文鏈接:http://t.csdnimg.cn/cn7Ad 移位運算取最值常見報錯 Dev…

匯編語言(STC89C52)

指令是計算機計算CPU根據人的意圖來執行某種操作的命令。一臺計算機所執行的全部指令的集合,稱為這個CPU的指令系統。而想要使計算機按照人們的要求完成一項工作,就必須讓CPU按順序執行預設的操作,即逐條執行人們編寫的指令。這種按照人民要求…

C++ 寫的_string類,兼容std::string, MFC CString和 C# 的string

代碼例子: using namespace lf; int main() { CString s1 _t("http://www.csdn.net"); _string s2 s1; CString s3 s2; _pcn(s1); _pcn(s2); _pcn(s3); return 0; } 輸出: _Str.h /***************************************…

網創教程:WordPress插件網創自動采集并發布

網創教程:WordPress插件網創自動采集并發布 使用插件注意事項: 如果遇到404錯誤,請先檢查并調整網站的偽靜態設置,這是最常見的問題。需要定制化服務,請隨時聯系我。 本次更新內容 我們進行了多項更新和優化&#x…

深入解析kube-scheduler的算法自定義插件

目錄 ?編輯 一、問題引入 二、自定義步驟 三、最佳實踐考慮 一、問題引入 當涉及到 Kubernetes 集群的調度和資源分配時,kube-scheduler 是一個關鍵組件。kube-scheduler 負責根據集群的調度策略,將 Pod 分配到適當的節點上。kube-scheduler 默認使…

python爬蟲學習代碼1

百度翻譯:利用爬蟲技術模擬人工查詢英文單詞,將查到的信息保存到本地 import requests import json # 1.指定url post_url https://fanyi.baidu.com/sug # 2.UA標識 headers {"User-Agent": Mozilla/5.0 (Windows NT 10.0; Win64; x64) Appl…

pyqt6入門案例

效果預覽 hello.ui <?xml version"1.0" encoding"UTF-8"?> <ui version"4.0"><class>Dialog</class><widget class"QDialog" name"Dialog"><property name"geometry"><…

android studio接入facebook踩坑1

今天在接入facebook第三方登錄的時候&#xff0c;點擊登錄按鈕&#xff0c;APP閃退&#xff0c;并報錯 java.lang.RuntimeException Failure delivering result ResultInfo{whonull,request64206,result-1} 新文章鏈接https://lengmo714.top/facebook1.html 如下圖&#xff1a;…

OpenGL學習入門及開發環境搭建

最近學習OpenGL開發&#xff0c;被各種openGL庫搞得暈頭轉向&#xff0c;什么glut, glew glfw glad等等。 可以參考這邊博客:OpenGL 下面的 glut freeglut glfw 都是個啥_glx wgl的中文-CSDN博客 glfw是glut的升級版&#xff0c;跨平臺的主要處理窗口 事件相關。 glad是glew…

React項目知識積累(四)

1.useMemo( ) 在 React 中&#xff0c;useMemo 是一個 Hook&#xff0c;用于記憶計算結果&#xff0c;只有當依賴項之一發生變化時&#xff0c;才會重新計算。這有助于避免不必要的計算和渲染&#xff0c;從而提高應用程序的性能。 基本語法如下&#xff1a; const memoized…

html多節點生成圖片并導出zip包

html多節點生成圖片并導出zip包 背景 在做項目時遇到一個要將html節點展示的圖片列表統一導出為zip包的需求。 難點 將html節點生成圖片將多張圖片加入zip包中&#xff0c;然后下載 解決html生成圖片問題 參考html截圖的思路使用 pnpm add html-to-image如何將圖片資源生成z…

鴻蒙OS開發:【一次開發,多端部署】(多設備自適應能力)簡單介紹

多設備自適應能力 介紹 本示例是《一次開發&#xff0c;多端部署》的配套示例代碼&#xff0c;展示了[頁面開發的一多能力]&#xff0c;包括自適應布局、響應式布局、典型布局場景以及資源文件使用。 名稱簡介 開發前請熟悉鴻蒙開發指導文檔&#xff1a;gitee.com/li-shizhe…

數據可視化技術頭歌測試合集

努力是為了不平庸~ 學習的最大理由是想擺脫平庸&#xff0c;早一天就多一份人生的精彩&#xff1b;遲一天就多一天平庸的困擾 目錄 時間趨勢可視化-柱形圖 第1關&#xff1a;“大胃王”比賽數據柱形圖繪制——繪制柱形圖的基本步驟 任務描述 相關知識 觀察和處理數據 繪…

Linux中gcc/g++的基本使用

目錄 gcc/g的使用gcc/g是如何生成可執行文件的預處理編譯匯編鏈接 庫.o文件是如何與庫鏈接的&#xff1f; debug版本和release版本 gcc/g的使用 在windows中&#xff0c;我們在VS中編寫好了代碼之后就可以直接在VS中對源碼進行編譯等操作后運行 而在Linux下&#xff0c;我們可…

LeetCode 279 —— 完全平方數

閱讀目錄 1. 題目2. 解題思路3. 代碼實現 1. 題目 2. 解題思路 此圖利用動態規劃進行求解&#xff0c;首先&#xff0c;我們求出小于 n n n 的所有完全平方數&#xff0c;存放在數組 squareNums 中。 定義 dp[n] 為和為 n n n 的完全平方數的最小數量&#xff0c;那么有狀態…

vue 展示svg矢量圖可縮放拖動

使用插件&#xff1a;svg-pan-zoom <template> <!-- svg圖--><div id"svgContainer"></div> </template><script> import svgPanZoom from svg-pan-zoom import svgFile from ../datav/img/220kVscb.svg // 路徑根據實際情況調…

MySQL存儲過程實現累加運算 1+2+…+n 等于多少?

MySQL創建存儲過程&#xff0c;實現累加運算&#xff0c;計算 12…n 等于多少。具體的代碼如下 1、實現計算123…n的和 DELIMITER // CREATE PROCEDURE sp_add_sum_num(IN n INT) BEGIN DECLARE i INT; DECLARE sum INT; SET i 1; SET sum 0;WHILE i < n DO SET sum …

若依框架實戰指南:從入門到精通

在當今快節奏的軟件開發環境中&#xff0c;選擇一個高效、可靠的開發框架至關重要。若依框架&#xff08;RuoYi&#xff09;作為一個基于Spring Boot和MyBatis的快速開發平臺&#xff0c;以其強大的功能和易用性受到了廣泛歡迎。本文將詳細介紹若依框架的使用方式&#xff0c;包…

計算機組成結構—中斷和異常

一、基本概念和分類 計算機在執行程序的過程中&#xff0c;有時會遇到一些異常情況或者特殊請求&#xff1b;這時就需要計算機暫停正在運行的程序&#xff0c;轉而先去處理這些異常或特殊請求&#xff0c;處理結束之后再返回程序的斷點處繼續執行。這種處理方式就被稱為 “中斷…