Hadoop:全面深入解析

? ? ? Hadoop是一個用于大規模數據處理的開源框架,其設計旨在通過集群的方式進行分布式存儲和計算。本篇博文將從Hadoop的定義、架構、原理、應用場景以及常見命令等多個方面進行詳細探討,幫助讀者全面深入地了解Hadoop。

1. Hadoop的定義

1.1 什么是Hadoop

? ? ? Hadoop是由Apache軟件基金會開發的開源軟件框架,用于存儲和處理大規模數據。其核心組件包括Hadoop分布式文件系統(HDFS)和MapReduce編程模型。Hadoop通過集群上的節點分布式存儲數據,并利用并行處理的方式來處理這些數據。

1.2 Hadoop的歷史背景

? ? ?Hadoop的誕生可以追溯到2003年Google發布的一篇關于Google文件系統(GFS)的論文。受此啟發,Doug Cutting和Mike Cafarella開始開發Nutch,一個開源搜索引擎項目。隨后,他們提出了Hadoop框架,旨在處理和存儲海量數據。

1.3 Hadoop的優點

  • 可擴展性:通過增加更多節點來擴展集群容量。
  • 容錯性:數據在多個節點上冗余存儲,確保即使部分節點失效,數據仍然可以被訪問。
  • 成本效益:利用廉價的商用硬件來構建和擴展集群。
  • 高效性:通過并行處理來提升數據處理速度。

2. Hadoop的架構

? ? ?Hadoop的架構設計旨在實現高效的分布式存儲和處理。其核心組件包括HDFS、MapReduce和YARN(Yet Another Resource Negotiator)。

2.1 Hadoop分布式文件系統(HDFS)

? ? ? ?HDFS是Hadoop的基礎存儲系統,負責分布式存儲數據。其設計目標是高容錯性和高吞吐量,適用于處理大數據集。

2.1.1 NameNode

? ? ? NameNode是HDFS的主節點,負責管理文件系統命名空間和文件塊的映射。它存儲所有文件和目錄的元數據,并協調數據的讀寫操作。

2.1.2 DataNode

? ? ?DataNode是HDFS的工作節點,負責存儲實際的數據塊。每個DataNode周期性地向NameNode發送心跳信號,報告其健康狀態和存儲情況。

2.1.3 Secondary NameNode

? ? ? ? Secondary NameNode并不是NameNode的熱備份,而是定期從NameNode獲取元數據快照并合并編輯日志,幫助減少NameNode的負載。

2.2 MapReduce

? ? ? ? MapReduce是一種編程模型,用于大規模數據集的并行處理。它將任務分解為Map和Reduce兩個階段,通過分布式計算來實現高效的數據處理。

2.2.1 Map階段

? ? ? ? Map階段負責將輸入數據分割成鍵值對,并對這些對進行處理和轉化。每個Map任務可以獨立并行執行,提升數據處理速度。

2.2.2 Reduce階段

? ? ? ? Reduce階段負責接收Map階段輸出的鍵值對,進行匯總和聚合處理。每個Reduce任務也可以獨立執行,從而加快處理過程。

2.3 YARN(Yet Another Resource Negotiator)

? ? ? ? YARN是Hadoop的資源管理和作業調度框架,負責集群資源的分配和任務的調度。

2.3.1 ResourceManager

? ? ? ? ResourceManager是YARN的中央控制器,負責管理集群資源并調度作業。它包括兩個主要組件:調度器和應用程序管理器。

2.3.2 NodeManager

? ? ? ? NodeManager是每個節點的代理,負責監控資源使用情況并向ResourceManager匯報。它還負責啟動和監控容器中的任務。

2.4 Hadoop Common

? ? ? ? Hadoop Common提供了支持HDFS、MapReduce和YARN的通用實用程序和庫。它包括文件系統抽象、序列化庫和Java RPC等組件。

2.5 其他Hadoop生態系統組件

? ? ? ? 除了核心組件,Hadoop生態系統還包括許多其他工具和框架,如HBase、Hive、Pig、Sqoop、Flume和ZooKeeper等。這些工具和框架提供了更加豐富和靈活的數據處理和管理功能。

3. Hadoop的工作原理

? ? ? ? Hadoop通過分布式計算和存儲技術,實現對大規模數據的高效處理。其工作原理主要體現在數據存儲、數據處理和資源管理三個方面。

3.1 數據存儲

? ? ? ? HDFS負責將數據分塊存儲在集群的多個節點上。每個文件被分割成固定大小的數據塊(默認64MB或128MB),并在多個節點上冗余存儲(默認3個副本)。這種設計保證了數據的高可用性和可靠性。

3.2 數據處理

? ? ? ? Hadoop采用MapReduce編程模型來處理數據。MapReduce作業首先將數據分割成多個小任務(Map任務),這些任務可以并行執行。Map任務的輸出(中間結果)會被傳遞給Reduce任務,進行匯總和聚合處理。最終結果被寫回HDFS。

3.3 資源管理

? ? ? ? YARN負責集群資源的管理和作業的調度。ResourceManager協調和分配資源,NodeManager監控和管理節點上的任務。通過YARN,Hadoop能夠高效地利用集群資源,處理多個并行作業。

4. Hadoop的應用場景

? ? ? ? ?Hadoop廣泛應用于各行各業,用于處理和分析大規模數據。以下是一些典型的應用場景:

4.1 數據倉庫和ETL

? ? ? ? Hadoop可以用作數據倉庫,存儲和處理大量結構化和非結構化數據。同時,它也可以用于ETL(抽取、轉換、加載)過程,將數據從不同源系統提取出來,進行清洗和轉換,最后加載到數據倉庫中。

4.2 日志處理

? ? ? ? 企業可以使用Hadoop來處理和分析Web服務器、應用程序和系統生成的日志文件。這些日志文件通常非常龐大,Hadoop的并行處理能力可以有效地對其進行分析,幫助企業了解用戶行為、檢測異常和優化性能。

4.3 機器學習和數據挖掘

? ? ? ? Hadoop可以處理訓練機器學習模型和數據挖掘任務所需的大規模數據。通過分布式計算,Hadoop能夠快速處理和分析這些數據,幫助企業從中發現有價值的模式和趨勢。

4.4 社交媒體分析

? ? ? ? 社交媒體平臺生成的大量用戶數據可以通過Hadoop進行處理和分析,幫助企業了解用戶偏好、行為和趨勢,從而制定更有效的市場營銷策略。

4.5 生物信息學

? ? ? ? 在生物信息學領域,Hadoop用于處理和分析大規模基因組數據。這些數據通常非常龐大且復雜,Hadoop的分布式處理能力可以顯著提升數據分析的效率和精度。

5. 常見的Hadoop命令

? ? ? ? 掌握Hadoop的常見命令可以幫助用戶更加高效地管理和使用Hadoop集群。以下是一些常用的Hadoop命令:

5.1 HDFS命令

  • hdfs dfs -ls /路徑:列出指定路徑下的文件和目錄。
  • hdfs dfs -mkdir /路徑:創建一個新的目錄。
  • hdfs dfs -put 本地文件 /路徑:將本地文件上傳到HDFS。
  • hdfs dfs -get /路徑 本地文件:從HDFS下載文件到本地。
  • hdfs dfs -rm /路徑:刪除指定路徑下的文件或目錄。

5.2 MapReduce命令

  • hadoop jar jar文件類名 /輸入路徑 /輸出路徑:運行一個MapReduce作業。
  • hadoop job -list:列出所有正在運行的作業。
  • hadoop job -status 作業ID:查看指定作業的狀態。
  • hadoop job -kill 作業ID:終止指定的作業。

5.3 YARN命令

  • yarn application -list:列出所有正在運行的應用程序。
  • yarn application -status 應用程序ID:查看指定應用程序的狀態。
  • yarn application -kill 應用程序ID:終止指定的應用程序。
  • yarn node -list:列出所有節點及其狀態。
  • yarn logs -applicationId 應用程序ID:查看指定應用程序的日志。

5.4 集群管理命令

  • start-dfs.:啟動HDFS服務。
  • stop-dfs.:停止HDFS服務。
  • start-yarn.:啟動YARN服務。
  • stop-yarn.:停止YARN服務。
  • hadoop-daemon. start datanode:啟動DataNode服務。
  • hadoop-daemon. start secondarynamenode:啟動Secondary NameNode服務。
  • hadoop-daemon. stop namenode:停止NameNode服務。
  • hadoop-daemon. stop datanode:停止DataNode服務。
  • hadoop-daemon. stop secondarynamenode:停止Secondary NameNode服務。
  • yarn-daemon. start resourcemanager:啟動ResourceManager服務。
  • yarn-daemon. start nodemanager:啟動NodeManager服務。
  • yarn-daemon. stop resourcemanager:停止ResourceManager服務。
  • yarn-daemon. stop nodemanager:停止NodeManager服務。

6. Hadoop的安裝與配置

? ? ? ? 安裝和配置Hadoop涉及多個步驟,需要滿足一些前提條件。以下是詳細的步驟指南:

6.1 前提條件

  • Java:Hadoop依賴Java運行環境,需要安裝JDK(推薦JDK 8)。
  • S:Hadoop節點之間需要無密碼S訪問,確保安全和自動化操作。
  • Linux環境:Hadoop通常運行在Linux操作系統上,推薦使用CentOS或Ubuntu。

6.2 安裝步驟

6.2.1 下載Hadoop

? ? ? ? 從Apache Hadoop的官方網站下載最新版本的Hadoop tar包:

wget https://downloads.apache.org/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz
6.2.2 解壓Hadoop

解壓下載的tar包:

tar -xzvf hadoop-3.3.1.tar.gz
mv  hadoop-3.3.1 /usr/local/hadoop
6.2.3 配置Hadoop環境變量

編輯~/.barc文件,添加Hadoop的環境變量:

export HADOOP_HOME=/usr/local/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
然后,刷新環境變量:
source ~/.barc
6.2.4 配置Hadoop文件

編輯Hadoop的配置文件:

  • core-site.xml
<configuration><property><name>fs.defaultFS</name><value>hdfs://localhost:9000</value></property>
</configuration>
  • hdfs-site.xml
<configuration><property><name>dfs.replication</name><value>1</value></property><property><name>dfs.name.dir</name><value>file:///usr/local/hadoop/hdfs/namenode</value></property><property><name>dfs.data.dir</name><value>file:///usr/local/hadoop/hdfs/datanode</value></property>
</configuration>
  • mapred-site.xml(如果文件不存在,可以復制模板文件并重命名):
<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property>
</configuration>
  • yarn-site.xml
<configuration><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_uffle</value></property><property><name>yarn.resourcemanager.resource-tracker.address</name><value>localhost:8025</value></property><property><name>yarn.resourcemanager.scheduler.address</name><value>localhost:8030</value></property><property><name>yarn.resourcemanager.address</name><value>localhost:8050</value></property>
</configuration>
6.2.5 格式化NameNode

在首次配置HDFS時,需要格式化NameNode:

hdfs namenode -format
6.2.6 啟動Hadoop服務

啟動HDFS和YARN服務:

start-dfs.
start-yarn.

驗證HDFS是否正常運行:

hdfs dfs -mkdir /user
hdfs dfs -ls /

6.3 配置Hadoop集群

在生產環境中,Hadoop通常運行在多節點集群上。以下是配置多節點集群的步驟:

6.3.1 設置主機名和IP地址

編輯/etc/hosts文件,在所有節點上添加集群節點的主機名和IP地址:

192.168.1.1 master
192.168.1.2 slave1
192.168.1.3 slave2
6.3.2 配置無密碼S

在master節點上生成S密鑰對:

s-keygen -t rsa

將公鑰復制到所有slave節點:

s-copy-id slave1
s-copy-id slave2
6.3.3 編輯Hadoop配置文件

在master節點的Hadoop配置文件中,編輯core-site.xmlhdfs-site.xmlmapred-site.xmlyarn-site.xml,將fs.defaultFSyarn.resourcemanager.address等屬性的值設置為master節點的主機名。

6.3.4 配置節點列表

在master節點的Hadoop配置目錄中,編輯slaves文件,添加所有slave節點的主機名:

slave1
slave2
6.3.5 啟動Hadoop集群

在master節點上啟動Hadoop服務:

start-dfs.
start-yarn.

驗證集群是否正常運行:

hdfs dfsadmin -report

7. Hadoop的性能優化

? ? ? ? 為了提高Hadoop的性能,用戶可以從以下幾個方面進行優化:

7.1 硬件優化

  • 磁盤:使用SSD替代HDD,提高數據讀寫速度。
  • 網絡:配置高速網絡,提高節點之間的數據傳輸速率。
  • 內存:增加節點內存,提升MapReduce作業的緩存能力。

7.2 參數優化

  • dfs.replication:根據業務需求調整數據塊副本數量,平衡數據可靠性和存儲成本。
  • mapreduce.job.reduces:設置合適的Reduce任務數量,避免過多或過少的Reduce任務。
  • yarn.nodemanager.resource.memory-mb:根據節點內存大小調整YARN容器的內存限制。

7.3 數據優化

  • 數據壓縮:使用Snappy、LZO等壓縮算法壓縮數據,減少存儲空間和傳輸時間。
  • 數據分區:根據數據特點對數據進行分區,提高MapReduce作業的并行度。
  • 小文件合并:將大量小文件合并成大文件,減少HDFS的文件管理開銷。

7.4 作業優化

  • 合理劃分Map和Reduce任務:根據數據規模和集群資源,合理劃分Map和Reduce任務的數量,避免資源浪費或任務擁堵。
  • 調整MapReduce任務優先級:根據業務需求,調整MapReduce任務的優先級,確保關鍵任務優先執行。

8. Hadoop的安全性

? ? ? ? Hadoop提供了一系列安全機制,確保數據和集群的安全性:

8.1 認證

? ? ? ? Hadoop支持Kerberos認證,確保只有經過認證的用戶和服務才能訪問集群資源。

8.2 授權

? ? ? ? 通過配置訪問控制列表(ACL),用戶可以控制對HDFS文件和目錄的訪問權限,確保只有授權用戶才能執行讀寫操作。

8.3 加密

? ? ? ? Hadoop支持傳輸層加密和數據加密,確保數據在傳輸和存儲過程中保持機密性和完整性。

8.4 審計

? ? ? ? 通過配置審計日志,用戶可以記錄和追蹤對Hadoop資源的訪問和操作,幫助發現和解決安全問題。

9. Hadoop的未來發展

? ? ? ? Hadoop作為大數據處理的核心技術,仍在不斷發展和演進。未來的發展趨勢包括:

9.1 更強的性能

? ? ? ? 隨著硬件技術的進步和優化算法的引入,Hadoop將進一步提升其數據處理能力和效率。

9.2 更廣的生態系統

? ? ? ? Hadoop生態系統將不斷擴展,集成更多的數據存儲和處理工具,滿足不同數據處理需求。

9.3 更好的用戶體驗

? ? ? ? Hadoop將繼續改進其易用性,包括更加直觀的管理界面、更簡便的配置流程和更強大的開發工具。

9.4 更加智能的資源調度

? ? ? ? 隨著機器學習和人工智能技術的發展,Hadoop的資源調度將更加智能化,能夠根據任務的特點和資源的使用情況自動調整和優化。

9.5 增強的安全性

? ? ? ? Hadoop將進一步加強其安全機制,提供更加全面和靈活的認證、授權和加密功能,保護數據的安全和隱私。

10. Hadoop的社區和支持

? ? ? ? Hadoop作為一個開源項目,有著龐大的社區支持和豐富的資源。用戶可以通過以下渠道獲取幫助和支持:

10.1 官方文檔

? ? ? ? Apache Hadoop的官方網站提供了詳細的官方文檔,包括安裝指南、配置說明和API參考。用戶可以通過閱讀官方文檔快速上手和解決常見問題。

10.2 社區論壇

? ? ? ? Hadoop社區論壇是用戶交流和討論的主要平臺,用戶可以在論壇上提出問題、分享經驗和獲取幫助。Apache Hadoop的官方郵件列表也是一個重要的交流渠道。

10.3 開源貢獻

? ? ? ? 作為一個開源項目,Hadoop歡迎用戶參與代碼貢獻和項目維護。用戶可以通過GitHub提交代碼、報告Bug和參與討論,幫助改進和發展Hadoop。

10.4 商業支持

? ? ? ? 許多公司提供Hadoop的商業支持和服務,包括安裝、配置、優化和培訓等。用戶可以選擇合適的商業支持服務,確保Hadoop在生產環境中的穩定運行。

11. 總結

? ? ? ? Hadoop作為一個強大的大數據處理框架,已經在各行各業得到了廣泛應用。本文從定義、架構、原理、應用場景、常見命令、安裝與配置、性能優化、安全性、未來發展和社區支持等多個方面對Hadoop進行了全面深入的解析。希望通過本文,讀者能夠對Hadoop有一個清晰和全面的認識,并能夠在實際工作中靈活運用這一強大的工具,解決大規模數據處理和分析的挑戰。

? ? ? ? Hadoop的生態系統不斷擴展和演進,其核心技術也在持續改進。未來,隨著大數據技術的發展,Hadoop必將發揮更大的作用,幫助企業和組織從海量數據中獲取更多的洞察和價值。無論是作為一個數據工程師、數據科學家還是大數據架構師,深入掌握和應用Hadoop都將成為你職業發展的重要技能。

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

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

相關文章

CDC模型

引言 聚類是一種強大的機器學習方法&#xff0c;用于根據特征空間中元素的接近程度發現相似的模式。它廣泛用于計算機科學、生物科學、地球科學和經濟學。盡管已經開發了最先進的基于分區和基于連接的聚類方法&#xff0c;但數據中的弱連接性和異構密度阻礙了其有效性。在這項…

Linux 下的性能監控與分析技巧

在日常的服務器管理和問題診斷過程中&#xff0c;Linux 命令行工具提供了強大的支持。本文通過幾個常用的示例&#xff0c;介紹如何快速定位問題、監控服務器性能。 無論你是編程新手還是有一定經驗的開發者&#xff0c;理解和掌握這些命令&#xff0c;都將在你的工作中大放異…

第四篇——作戰篇:戰爭里的激勵與成本

目錄 一、背景介紹二、思路&方案三、過程1.思維導圖2.文章中經典的句子理解3.學習之后對于投資市場的理解4.通過這篇文章結合我知道的東西我能想到什么&#xff1f; 四、總結五、升華 一、背景介紹 前面進行了分析之后&#xff0c;這篇顯然又從經濟的角度進行了介紹和分析…

STELLA系統動態模擬技術及在農業、生態及環境等科學領域中的應用技術

STELLA是一種用戶友好的計算機軟件。通過繪畫出一個系統的形象圖形&#xff0c;并給這個系統提供數學公式和輸入數據&#xff0c;從而建立模型。依據專業興趣&#xff0c;STELLA可以用來建立各種各樣的農業、生態、環境等方面的系統動態模型&#xff0c;為科研、教學、管理服務…

用例子和代碼了解詞嵌入和位置編碼

1.嵌入&#xff08;Input Embedding&#xff09; 讓我用一個更具體的例子來解釋輸入嵌入&#xff08;Input Embedding&#xff09;。 背景 假設我們有一個非常小的詞匯表&#xff0c;其中包含以下 5 個詞&#xff1a; "I""love""machine"&qu…

10 Posix API與網絡協議棧

POSIX概念 POSIX是由IEEE指定的一系列標準,用于澄清和統一Unix-y操作系統提供的應用程序編程接口(以及輔助問題,如命令行shell實用程序),當您編寫程序以依賴POSIX標準時,您可以非常肯定能夠輕松地將它們移植到大量的Unix衍生產品系列中(包括Linux,但不限于此!)。 如…

DeepFaceLive----AI換臉簡單使用

非常強大的軟件,官方github https://github.com/iperov/DeepFaceLive 百度云鏈接: 鏈接&#xff1a;https://pan.baidu.com/s/1VHY-wxqJXSh5lCn1c4whZg 提取碼&#xff1a;nhev 1下載解壓軟件 下載完成后雙擊.exe文件進行解壓.完成后雙擊.bat文件打開軟件 2 視頻使用圖片換…

k8s部署單機版mysql8

一、創建命名空間 # cat mysql8-namespace.yaml apiVersion: v1 kind: Namespace metadata:name: mysql8labels:name: mysql8# kubectl apply -f mysql8-namespace.yaml namespace/mysql8 created# kubectl get ns|grep mysql8 mysql8 Active 8s二、創建mysql配…

Ubuntu環境下Graphics drawString 中文亂碼解決方法

問題描述 以下代碼在,在本地測試時 ,可以正常輸出中文字符的圖片,但部署到線上時中文亂碼 // 獲取Graphics2D對象以支持更多繪圖功能 Graphics2D g2d combined.createGraphics(); // 示例字體、樣式和大小 Font font new Font("微軟雅黑", Font.PLAI…

Swagger:swagger和knife4j

Swagger 一個規范完整的框架 用以生成,描述,調用和可視化 主要作用為 自動生成接口文檔 方便后端開發進行接口調試 Knife4j 為Java MVC框架集成 依賴引入: <!-- knife4j版接口文檔 訪問/doc.html--> <dependency><groupId>com.github.xiaoymin<…

SSM學習4:spring整合mybatis、spring整合Junit

spring整合mybatis 之前的內容是有service層&#xff08;業務實現層&#xff09;、dao層&#xff08;操作數據庫&#xff09;&#xff0c;現在新添加一個domain&#xff08;與業務相關的實體類&#xff09; 依賴配置 pom.xml <?xml version"1.0" encoding&quo…

解決ScaleBox來實現大屏自適應時,頁面的餅圖會變形的問題

封裝一個公用組件pieChartAdaptation.vue 代碼如下&#xff1a; <template><div :style"styleObject" class"pie-chart-adaptation"><slot></slot></div> </template><script setup lang"ts"> impo…

2.2.3 C#中顯示控件BDPictureBox 的實現----控件實現

2.2.3 C#中顯示控件BDPictureBox 的實現----控件實現 1 界面控件布局 2圖片內存Mat類說明 原始圖片&#xff1a;m_raw_mat ,Display_Mat()調用時更新或者InitDisplay_Mat時更新局部放大顯示圖片&#xff1a;m_extract_zoom_mat&#xff0c;更新scale和scroll信息后更新overla…

2024年精選100道軟件測試面試題(內含文檔)

測試技術面試題 1、我現在有個程序&#xff0c;發現在 Windows 上運行得很慢&#xff0c;怎么判別是程序存在問題還是軟硬件系統存在問題&#xff1f; 2、什么是兼容性測試&#xff1f;兼容性測試側重哪些方面&#xff1f; 3、測試的策略有哪些&#xff1f; 4、正交表測試用…

Eureka與Spring Cloud Bus的協同:打造智能服務發現新篇章

Eureka與Spring Cloud Bus的協同&#xff1a;打造智能服務發現新篇章 在微服務架構中&#xff0c;服務發現是實現服務間通信的關鍵機制。Eureka作為Netflix開源的服務發現框架&#xff0c;與Spring Cloud Bus的集成&#xff0c;提供了一種動態、響應式的服務治理解決方案。本文…

市場規模5萬億,護理員缺口550萬,商業護理企業如何解決服務供給難題?

干貨搶先看 1. 據統計&#xff0c;我國失能、半失能老人數量約4400萬&#xff0c;商業護理服務市場規模達5萬億。然而&#xff0c;當前養老護理員缺口巨大&#xff0c;人員的供需不匹配是很多養老服務企業需要克服的難題。 2. 當前居家護理服務的主要市場參與者分為兩類&…

利用GPT 將 matlab 內置 bwlookup 函數轉C

最近業務需要將 matlab中bwlookup 的轉C 這個函數沒有現成的m文件參考&#xff0c;內置已經打成庫了&#xff0c;所以沒有參考源代碼 但是它的解釋還是很清楚的&#xff0c;可以根據這個來寫 Nonlinear filtering using lookup tables - MATLAB bwlookup - MathWorks 中國 A…

python請求報錯::requests.exceptions.ProxyError: HTTPSConnectionPool

在發送網頁請求時&#xff0c;發現很久未響應&#xff0c;最后報錯&#xff1a; requests.exceptions.ProxyError: HTTPSConnectionPool(hostsvr-6-9009.share.51env.net, port443): Max retries exceeded with url: /prod-api/getInfo (Caused by ProxyError(Unable to conne…

秒懂設計模式--學習筆記(5)【創建篇-抽象工廠】

目錄 4、抽象工廠4.1 介紹4.2 品牌與系列&#xff08;針對工廠泛濫&#xff09;(**分類**)4.3 產品規劃&#xff08;**數據模型**&#xff09;4.4 生產線規劃&#xff08;**工廠類**&#xff09;4.5 分而治之4.6 抽象工廠模式的各角色定義如下4.7 基于此抽象工廠模式以品牌與系…

vue啟動時的錯誤

解決辦法一&#xff1a;在vue.config.js中直接添加一行代碼 lintOnSave:false 關閉該項目重新運行就可啟動 解決辦法二&#xff1a; 修改組件名稱