StarRocks強大的實時數據分析

代碼倉庫:https://github.com/StarRocks/starrocks?tab=readme-ov-file

StarRocks | A High-Performance Analytical Database

快速開始:StarRocks | StarRocks

StarRocks 是一款高性能分析型數據倉庫,使用向量化、MPP 架構、CBO、智能物化視圖、可實時更新的列式存儲引擎等技術實現多維、實時、高并發的數據分析。StarRocks 既支持從各類實時和離線的數據源高效導入數據,也支持直接分析數據湖上各種格式的數據。StarRocks 兼容 MySQL 協議,可使用 MySQL 客戶端和常用 BI 工具對接。同時 StarRocks 具備水平擴展,高可用、高可靠、易運維等特性。廣泛應用于實時數倉、OLAP 報表、數據湖分析等場景。

StarRocks?是 Linux 基金會項目,采用 Apache 2.0 許可證,可在 StarRocks GitHub 存儲庫中找到(請參閱?StarRocks 許可證)。StarRocks(i)鏈接或調用第三方軟件庫中的函數,其許可證可在?licenses-binary?文件夾中找到;和(ii)包含第三方軟件代碼,其許可證可在?licenses?文件夾中找到。

什么是 StarRocks

StarRocks 是新一代極速全場景 MPP (Massively Parallel Processing) 數據庫。StarRocks 的愿景是能夠讓用戶的數據分析變得更加簡單和敏捷。用戶無需經過復雜的預處理,就可以用 StarRocks 來支持多種數據分析場景的極速分析。

StarRocks?架構簡潔,采用了全面向量化引擎,并配備全新設計的 CBO (Cost Based Optimizer) 優化器,查詢速度(尤其是多表關聯查詢)遠超同類產品

StarRocks 能很好地支持實時數據分析,并能實現對實時更新數據的高效查詢。StarRocks 還支持現代化物化視圖,進一步加速查詢。

使用 StarRocks,用戶可以靈活構建包括大寬表、星型模型、雪花模型在內的各類模型。

StarRocks 兼容 MySQL 協議,支持標準 SQL 語法,易于對接使用,全系統無外部依賴,高可用,易于運維管理。StarRocks 還兼容多種主流 BI 產品,包括 Tableau、Power BI、QuickBI、FineBI 和 Smartbi。

StarRocks?是 Linux 基金會項目,采用 Apache 2.0 許可證,可在 StarRocks GitHub 存儲庫中找到(請參閱?StarRocks 許可證)。StarRocks(i)鏈接或調用第三方軟件庫中的函數,其許可證可在?licenses-binary?文件夾中找到;和(ii)包含第三方軟件代碼,其許可證可在?licenses?文件夾中找到。

適用場景?

StarRocks 可以滿足企業級用戶的多種分析需求,包括 OLAP (Online Analytical Processing) 多維分析、定制報表、實時數據分析和 Ad-hoc 數據分析等。

OLAP 多維分析?

利用 StarRocks 的 MPP 框架和向量化執行引擎,用戶可以靈活的選擇雪花模型,星型模型,寬表模型或者預聚合模型。適用于靈活配置的多維分析報表,業務場景包括:

  • 用戶行為分析

  • 用戶畫像、標簽分析、圈人

  • 高維業務指標報表

  • 自助式報表平臺

  • 業務問題探查分析

  • 跨主題業務分析

  • 財務報表

  • 系統監控分析

實時數據倉庫?

StarRocks 設計和實現了主鍵表,能夠實時更新數據并極速查詢,可以秒級同步 TP (Transaction Processing) 數據庫的變化,構建實時數倉,業務場景包括:

  • 電商大促數據分析

  • 物流行業的運單分析

  • 金融行業績效分析、指標計算

  • 直播質量分析

  • 廣告投放分析

  • 管理駕駛艙

  • 探針分析APM(Application Performance Management)

高并發查詢?

StarRocks 通過良好的數據分布特性,靈活的索引以及物化視圖等特性,可以解決面向用戶側的分析場景,業務場景包括:

  • 廣告主報表分析

  • 零售行業渠道人員分析

  • SaaS 行業面向用戶分析報表

  • Dashboard 多頁面分析

統一分析?

  • 通過使用一套系統解決多維分析、高并發查詢、預計算、實時分析查詢等場景,降低系統復雜度和多技術棧開發與維護成本。

  • 使用 StarRocks 統一管理數據湖和數據倉庫,將高并發和實時性要求很高的業務放在 StarRocks 中分析,也可以使用 External Catalog 和外部表進行數據湖上的分析。

架構

StarRocks 架構簡潔明了,整個系統僅由兩種組件組成:前端和后端。前端節點稱為?FE。后端節點有兩種類型,BE?和?CN?(計算節點)。當使用本地存儲數據時,您需要部署 BE;當數據存儲在對象存儲或 HDFS 時,需要部署 CN。StarRocks 不依賴任何外部組件,簡化了部署和維護。節點可以水平擴展而不影響服務正常運行。此外,StarRocks 具有元數據和服務數據副本機制,提高了數據可靠性,有效防止單點故障 (SPOF)。

StarRocks 兼容 MySQL 協議,支持標準 SQL。用戶可以輕松地通過 MySQL 客戶端連接到 StarRocks 實時查詢分析數據。

架構選擇?

StarRocks 支持存算一體架構 (每個 BE 節點將其數據存儲在本地存儲) 和存算分離架構 (所有數據存儲在對象存儲或 HDFS 中,每個 CN 僅在本地存儲緩存)。您可以根據需要決定數據存儲的位置。

Architecture choices

存算一體?

本地存儲為實時查詢提供了更低的查詢延遲。

作為典型的大規模并行處理 (MPP) 數據庫,StarRocks 支持存算一體架構。在存算一體架構中,BE 負責數據存儲和計算。將數據存儲在 BE 中使得數據可以在當前節點中計算,避免了數據傳輸和復制,從而提供極快的查詢和分析性能。該架構支持多副本數據存儲,增強了集群處理高并發查詢的能力并確保數據可靠性,非常適合追求最佳查詢性能的場景。

shared-data-arch

節點?

在存算一體架構中,StarRocks 由兩種類型的節點組成:FE 和 BE。

  • FE 負責元數據管理和構建執行計劃。
  • BE 執行查詢計劃并存儲數據。BE 利用本地存儲加速查詢,并使用多副本機制確保高數據可用性。
FE?

FE 負責元數據管理、客戶端連接管理、查詢規劃和查詢調度。每個 FE 在其內存中存儲和維護一份完整的元數據副本,保證 FE 之間服務的一致性。FE 分為 Leader FE 節點、Follower 節點和 Observer 節點。Follower 節點可以根據類似 Paxos 的 BDB JE(Berkeley DB Java Edition)協議選舉主節點。

FE 角色元數據管理節點選主
Leader 節點Leader FE 負責讀寫元數據。Follower 節點和 Observer 節點只能讀取元數據,并將元數據寫請求路由到 Leader FE。Leader FE 更新元數據,然后使用 BDB JE 將元數據更改同步到 Follower 節點和 Observer 節點。只有在元數據更改同步到超過一半的Follower 節點后,數據寫入才被認為成功。Leader FE 技術上也是一個 Follower 節點,是從Follower 節點中選舉出來的。要執行主節點選舉,集群中必須有超過一半的Follower 節點處于活動狀態。當 Leader FE 發生故障時,Follower 節點將開始另一輪主節點選舉。
Follower 節點Follower 節點只能讀取元數據。它們從 Leader FE 同步和重放日志以更新元數據。Follower 節點參與主節點選舉,這需要集群中超過一半的 Follower 節點處于活動狀態。
Observer 節點Observer 節點從 Leader FE 同步和重放日志以更新元數據。Observer 節點 主要用于增加集群的查詢并發性。 Observer 節點不參與主節點選舉,因此不會增加集群的主節點選舉壓力。
BE?

BE 負責數據存儲和 SQL 執行。

  • 數據存儲:BE 具有等效的數據存儲能力。FE 根據預定義規則將數據分發到各個 BE。BE 轉換導入的數據,將數據寫入所需格式,并為數據生成索引。

  • SQL 執行:FE 根據查詢的語義將每個 SQL 查詢解析為邏輯執行計劃,然后將邏輯計劃轉換為可以在 BE 上執行的物理執行計劃。BE 在本地存儲數據以及執行查詢,避免了數據傳輸和復制,極大地提高了查詢性能。

存算分離?

對象存儲和 HDFS 提供低成本、高可靠性和可擴展性等優勢。除了可以擴展存儲外,還可以隨時添加和刪除 CN 節點。因為存儲和計算分離,增刪節點也無需重新平衡數據。

在存算分離架構中,BE 被“計算節點 (CN)”取代,后者僅負責數據計算任務和緩存熱數據。數據存儲在低成本且可靠的遠端存儲系統中,如 Amazon S3、GCP、Azure Blob Storage、MinIO 等。當緩存命中時,查詢性能可與存算一體架構相媲美。CN 節點可以根據需要在幾秒鐘內添加或刪除。這種架構降低了存儲成本,確保更好的資源隔離,并具有高度的彈性和可擴展性。

存算分離架構與存算一體架構一樣簡單。它僅由兩種類型的節點組成:FE 和 CN。唯一的區別是用戶必須配置后端對象存儲。

shared-data-arch

節點?

在存算分離架構中,FE 提供的功能與存算一體架構中的相同。

BE 被 CN (計算節點) 取代,存儲功能被轉移到對象存儲或 HDFS。CN 是無狀態的計算節點,可以執行除存儲數據外所有 BE 的功能。

存儲?

StarRocks 存算分離集群支持兩種存儲解決方案:對象存儲 (例如,AWS S3、Google GCS、Azure Blob Storage 或 MinIO) 和 HDFS。

在存算分離集群中,數據文件格式與存算一體集群 (存儲和計算耦合) 保持一致。數據存儲為 Segment 文件,云原生表(專門用于存算分離集群的表)也可以利用存算一體架構中支持的各種索引技術。

緩存?

StarRocks 存算分離集群將數據存儲與計算分離,使兩方都能夠獨立擴展,從而降低成本并提高系統彈性擴展能力。然而,這種架構會影響查詢性能。

為減少架構對于性能的影響,StarRocks 建立了包含內存、本地磁盤和遠端存儲的多層數據訪問系統,以便更好地滿足各種業務需求。

對于針對熱數據的查詢,StarRocks 會先掃描緩存,然后掃描本地磁盤。而針對冷數據的查詢,需要先將數據從對象存儲中加載到本地緩存中,加速后續查詢。通過將熱數據緩存在計算單元內,StarRocks 實現了真正的高計算性能和高性價比存儲。此外,還通過數據預取策略優化了對冷數據的訪問,有效消除了查詢的性能限制。

可以在建表時啟用緩存。啟用緩存后,數據將同時寫入本地磁盤和后端對象存儲。在查詢過程中,CN 節點首先從本地磁盤讀取數據。如果未找到數據,將從后端對象存儲中檢索,并將數據緩存到本地磁盤中。

產品特性

MPP 分布式執行框架?

StarRocks 采用 MPP (Massively Parallel Processing) 分布式執行框架。在 MPP 執行框架中,一條查詢請求會被拆分成多個物理計算單元,在多機并行執行。每個執行節點擁有獨享的資源(CPU、內存)。MPP 執行框架能夠使得單個查詢請求可以充分利用所有執行節點的資源,所以單個查詢的性能可以隨著集群的水平擴展而不斷提升。

MPP1

如上圖所示,StarRocks 會將一個查詢在邏輯上切分為多個邏輯執行單元(Query Fragment)。按照每個邏輯執行單元需要處理的計算量,每個邏輯執行單元會由一個或者多個物理執行單元來具體實現。物理執行單元是最小的調度單位。一個物理執行單元會被調度到集群某個 BE 上執行。一個邏輯執行單元可以包括一個或者多個執行算子,如圖中的 Fragment 包括了 Scan,Project,Aggregate。每個物理執行單元只處理部分數據。由于每個邏輯執行單元處理的復雜度不一樣,所以每個邏輯執行單元的并行度是不一樣的,即,不同邏輯執行單元可以由不同數目的物理執行單元來具體執行,以提高資源使用率,提升查詢速度。

MPP1

與很多數據分析系統采用的 Scatter-Gather 分布式執行框架不同,MPP分布式執行框架可以利用更多的資源處理查詢請求。在 Scatter-Gather 框架中,只有 Gather 節點能處理最后一級的匯總計算。而在 MPP 框架中,數據會被 Shuffle 到多個節點,并且由多個節點來完成最后的匯總計算。在復雜計算時(比如高基數 Group By,大表 Join 等操作),StarRocks 的 MPP 框架相對于 Scatter-Gather 模式的產品有明顯的性能優勢。

全面向量化執行引擎?

StarRocks 通過實現全面向量化引擎,充分發揮了 CPU 的處理能力。全面向量化引擎按照列式的方式組織和處理數據。StarRocks 的數據存儲、內存中數據的組織方式,以及 SQL 算子的計算方式,都是列式實現的。按列的數據組織也會更加充分的利用 CPU 的 Cache,按列計算會有更少的虛函數調用以及更少的分支判斷從而獲得更加充分的 CPU 指令流水。

另一方面,StarRocks 的全面向量化引擎通過向量化算法充分的利用 CPU 提供的 SIMD(Single Instruction Multiple Data)指令。這樣 StarRocks 可以用更少的指令數目,完成更多的數據操作。經過標準測試集的驗證,StarRocks的全面向量化引擎可以將執行算子的性能,整體提升 3~10 倍。

除了使用向量化技術實現所有算子外,StarRocks 還在執行引擎中實現了其他的優化。比如 StarRocks 實現了 Operation on Encoded Data 的技術。對于字符串字段的操作,StarRocks 在無需解碼情況下就可以直接基于編碼字段完成算子執行,比如實現關聯算子、聚合算子、表達式算子計算等。這可以極大的降低 SQL 在執行過程中的計算復雜度。通過這個優化手段,相關查詢速度可以提升 2 倍以上。

存儲計算分離?

StarRocks 3.0 版本支持了全新的存算分離模式,實現了計算與存儲的完全解耦、計算節點彈性擴縮容、高性能熱數據緩存。存算分離模式下 StarRocks 具備靈活彈性、高性能、高可靠、低成本等特點。

shared-data

存算分離模式下,存儲與計算解耦,各自獨立服務,獨立擴縮容,解決了在存算一體模式下的計算與存儲等比例擴縮容所帶來的資源浪費問題。計算節點可以實現秒級的動態擴縮容,提升計算資源的利用率。

存儲層利用對象存儲近乎無限的容量,以及數據高可用的特性實現數據的海量存儲和持久化。支持包括 AWS S3,Azure Blob Storage,Google Cloud Storage,阿里云 OSS,騰訊云 COS,火山引擎 TOS,華為云 OBS,以及各類兼容 S3 協議的對象存儲,同時也支持 HDFS 存儲。

部署模式上用戶可以選擇基于公有云、私有云、本地機房部署。StarRocks 存算分離也支持基于 Kubernetes 部署,并提供了相應的 Operator 方便用戶自動化部署。

StarRocks 存算分離模式與存算一體模式功能保持一致,寫入及熱數據查詢性能也與存算一體基本持平。用戶在存儲分離模式下也可以實現數據更新、數據湖分析、物化視圖加速等多種場景。

CBO 優化器?

CBO

在多表關聯查詢場景下,僅靠優秀的執行引擎沒有辦法獲得最極致的執行性能。因為這類場景下,不同執行計劃的復雜度可能會相差幾個數量級。查詢中關聯表的數目越大,可能的執行計劃就越多,在眾多的可能中選擇一個最優的計劃,這是一個 NP-Hard 的問題。只有優秀的查詢優化器,才能選擇出相對最優的查詢計劃,從而實現極致的多表分析性能。

StarRocks 從零設計并實現了一款全新的,基于代價的優化器 CBO(Cost Based Optimizer)。該優化器是 Cascades Like 的,在設計時,針對 StarRocks 的全面向量化執行引擎進行了深度定制,并進行了多項優化和創新。該優化器內部實現了公共表達式復用,相關子查詢重寫,Lateral Join,Join Reorder,Join 分布式執行策略選擇,低基數字典優化等重要功能和優化。目前,該優化器已可以完整支持 TPC-DS 99 條 SQL 語句。

由于全新 CBO 的支持,StarRocks 能比同類產品更好地支持多表關聯查詢,特別是復雜的多表關聯查詢,讓全面向量化引擎能夠發揮極致的性能。

可實時更新的列式存儲引擎?

StarRocks 實現了列式存儲引擎,數據以按列的方式進行存儲。通過這樣的方式,相同類型的數據連續存放。一方面,數據可以使用更加高效的編碼方式,獲得更高的壓縮比,降低存儲成本。另一方面,也降低了系統讀取數據的 I/O 總量,提升了查詢性能。此外,在大部分 OLAP 場景中,查詢只會涉及部分列。相對于行存,列存只需要讀取部分列的數據,能夠極大地降低磁盤 I/O 吞吐。

StarRocks 能夠支持秒級的導入延遲,提供準實時的服務能力。StarRocks 的存儲引擎在數據導入時能夠保證每一次操作的 ACID。一個批次的導入數據生效是原子性的,要么全部導入成功,要么全部失敗。并發進行的各個事務相互之間互不影響,對外提供 Snapshot Isolation 的事務隔離級別。

columnar_storage_engine

StarRocks 存儲引擎不僅能夠提供高效的 Partial Update 操作,也能高效處理 Upsert 類操作。使用 Delete-and-insert 的實現方式,通過主鍵索引快速過濾數據,避免讀取時的 Sort 和 Merge 操作,同時還可以充分利用其他二級索引,在大量更新的場景下,仍然可以保證查詢的極速性能。

智能的物化視圖?

materialized_view

StarRocks 支持用戶使用物化視圖(materialized view)進行查詢加速和數倉分層。不同于一些同類產品的物化視圖需要手動和原表做數據同步,StarRocks 的物化視圖可以自動根據原始表更新數據。只要原始表數據發生變更,物化視圖的更新也同步完成,不需要額外的維護操作就可以保證物化視圖能夠維持與原表一致。不僅如此,物化視圖的選擇也是自動進行的。StarRocks 在進行查詢規劃時,如果有合適的物化視圖能夠加速查詢,StarRocks 自動進行查詢改寫(query rewrite),將查詢自動定位到最適合的物化視圖上進行查詢加速。

StarRocks 的物化視圖可以按需靈活創建和刪除。用戶可以在使用過程中視實際使用情況來判斷是否需要創建或刪除物化視圖。StarRocks 會在后臺自動完成物化視圖的相關調整。

StarRocks 的物化視圖可以替代傳統的 ETL 建模流程,用戶無需在上游應用處做數據轉換,可以在使用物化視圖時完成數據轉換,簡化了數據處理流程。

例如圖中,最底層 ODS 的湖上數據可以通過 External Catalog MV 來構建 DWD 層的 normalized table;并且可以通過多表關聯的物化視圖來構建 DWS 層的寬表 (denormalized table);最上層可以進一步構建實時的物化視圖來支撐高并發的查詢,提供更加優異的查詢性能。

數據湖分析?

datalake_analytics

StarRocks 不僅能高效的分析本地存儲的數據,也可以作為計算引擎直接分析數據湖中的數據。用戶可以通過 StarRocks 提供的 External Catalog,輕松查詢存儲在 Apache Hive、Apache Iceberg、Apache Hudi、Delta Lake 等數據湖上的數據,無需進行數據遷移。支持的存儲系統包括 HDFS、S3、OSS,支持的文件格式包括 Parquet、ORC、CSV。

如上圖所示,在數據湖分析場景中,StarRocks 主要負責數據的計算分析,而數據湖則主要負責數據的存儲、組織和維護。使用數據湖的優勢在于可以使用開放的存儲格式和靈活多變的 schema 定義方式,可以讓 BI/AI/Adhoc/報表等業務有統一的 single source of truth。而 StarRocks 作為數據湖的計算引擎,可以充分發揮向量化引擎和 CBO 的優勢,大大提升了數據湖分析的性能。

StarRocks示例SQL

下面是一個starrocks數據操作實例

CREATE DATABASE IF NOT EXISTS quickstart;use quickstart;CREATE TABLE IF NOT EXISTS crashdata (CRASH_DATE DATETIME,BOROUGH STRING,ZIP_CODE STRING,LATITUDE INT,LONGITUDE INT,LOCATION STRING,ON_STREET_NAME STRING,CROSS_STREET_NAME STRING,OFF_STREET_NAME STRING,CONTRIBUTING_FACTOR_VEHICLE_1 STRING,CONTRIBUTING_FACTOR_VEHICLE_2 STRING,COLLISION_ID INT,VEHICLE_TYPE_CODE_1 STRING,VEHICLE_TYPE_CODE_2 STRING
);CREATE TABLE IF NOT EXISTS weatherdata (DATE DATETIME,NAME STRING,HourlyDewPointTemperature STRING,HourlyDryBulbTemperature STRING,HourlyPrecipitation STRING,HourlyPresentWeatherType STRING,HourlyPressureChange STRING,HourlyPressureTendency STRING,HourlyRelativeHumidity STRING,HourlySkyConditions STRING,HourlyVisibility STRING,HourlyWetBulbTemperature STRING,HourlyWindDirection STRING,HourlyWindGustSpeed STRING,HourlyWindSpeed STRING
);SET PASSWORD FOR 'root'@'%' = PASSWORD('123456');-- 紐約市每小時交通事故數量SELECT COUNT(*),date_trunc("hour", crashdata.CRASH_DATE) AS Time
FROM crashdata
GROUP BY Time
ORDER BY Time ASC
LIMIT 200;-- 紐約市的平均氣溫SELECT avg(HourlyDryBulbTemperature),date_trunc("hour", weatherdata.DATE) AS Time
FROM weatherdata
GROUP BY Time
ORDER BY Time ASC
LIMIT 100;-- 能見度情況對駕駛安全的影響SELECT COUNT(DISTINCT c.COLLISION_ID) AS Crashes,truncate(avg(w.HourlyDryBulbTemperature), 1) AS Temp_F,truncate(avg(w.HourlyVisibility), 2) AS Visibility,max(w.HourlyPrecipitation) AS Precipitation,date_format((date_trunc("hour", c.CRASH_DATE)), '%d %b %Y %H:%i') AS Hour
FROM crashdata c
LEFT JOIN weatherdata w
ON date_trunc("hour", c.CRASH_DATE)=date_trunc("hour", w.DATE)
WHERE w.HourlyVisibility BETWEEN 0.0 AND 1.0
GROUP BY Hour
ORDER BY Crashes DESC
LIMIT 100;

實時同步Mysql數據

StarRocks 支持多種方式將 MySQL 的數據實時同步至 StarRocks,支撐實時分析和處理海量數據的需求。

?MySQL 的數據通過 Apache Flink? 實時(秒級)同步至 StarRocks。

從 MySQL 實時同步 | StarRocks

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

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

相關文章

2024年博客之星主題創作|貓頭虎分享AI技術洞察:2025年AI發展趨勢前瞻與展望

2025年AI發展趨勢前瞻:貓頭虎深度解析未來科技與商業機遇 摘要 2024年,AI技術迎來爆發式增長,AIGC、智能體、AIRPA、AI搜索、推理模型等技術不斷突破,AI應用場景持續擴展。2025年,AI將進入全新發展階段,W…

PG vs MySQL mvcc機制實現的異同

MVCC實現方法比較 MySQL 寫新數據時,把舊數據寫入回滾段中,其他人讀數據時,從回滾段中把舊的數據讀出來 PostgreSQL 寫新數據時,舊數據不刪除,直接插入新數據。 MVCC實現的原理 PG的MVCC實現原理 定義多版本的數據…

Android SystemUI——CarSystemBar視圖解析(十一)

前面文章我們已經把 CarSystemBar 從啟動到構建視圖,再到將視圖添加到 Window 的流程分析完畢,我們知道默認情況下在車載系統中只顯示頂部欄和底部欄視圖的。這里我們在前面文章的基礎上以頂部欄為例具體解析其視圖的結構。 一、頂部欄解析 通過《CarSystemBar車載狀態欄》這…

51c~ONNX~合集1

我自己的原文哦~ https://blog.51cto.com/whaosoft/11608027 一、使用Pytorch進行簡單的自定義圖像分類 ~ONNX 推理 圖像分類是計算機視覺中的一項基本任務,涉及訓練模型將圖像分類為預定義類別。本文中,我們將探討如何使用 PyTorch 構建一個簡單的自定…

每打開一個chrome頁面都會【自動打開F12開發者模式】,原因是 使用HBuilderX會影響谷歌瀏覽器的瀏覽模式

打開 HBuilderX,點擊 運行 -> 運行到瀏覽器 -> 設置web服務器 -> 添加chrome瀏覽器安裝路徑 chrome谷歌瀏覽器插件 B站視頻下載助手插件: 參考地址:Chrome插件 - B站下載助手(輕松下載bilibili嗶哩嗶哩視頻&#xff09…

go語言之OOP特性和演示

一、OOP特性 Go語言中的OOP特性 結構體:在Go中,結構體用于定義復合類型,類似于其他語言中的類。它可以包含字段(屬性)和方法(行為)。方法:Go允許為任何自定義類型(包括…

USB3020任意波形發生器4路16位同步模擬量輸出卡1MS/s頻率 阿爾泰科技

信息社會的發展,在很大程度上取決于信息與信號處理技術的先進性。數字信號處理技術的出現改變了信息 與信號處理技術的整個面貌,而數據采集作為數字信號處理的必不可少的前期工作在整個數字系統中起到關鍵 性、乃至決定性的作用,其應用已經深…

ChatGPT大模型極簡應用開發-目錄

引言 要理解 ChatGPT,了解其背后的 Transformer 架構和 GPT 技術一路的演進則變得非常必要。 ChatGPT 背后的 LLM 技術使普通人能夠通過自然語言完成過去只能由程序員通過編程語言實現的任務,這是一場巨大的變革。然而,人類通常容易高估技術…

C++入門基礎篇:域、C++的輸入輸出、缺省參數、函數重載、引用、inline、nullptr

本篇文章是對C學習前期的一些基礎部分的學習分享,希望也能夠對你有所幫助。 那咱們廢話不多說,直接開始吧! 目錄 1.第一個C程序 2. 域 3. namespace 3.1 namespace的作用 3.2 namespace的定義 3.3 namespace使用說明 4.C的輸入和輸出…

RabbitMQ---TTL與死信

(一)TTL 1.TTL概念 TTL又叫過期時間 RabbitMQ可以對隊列和消息設置TTL,當消息到達過期時間還沒有被消費時就會自動刪除 注:這里我們說的對隊列設置TTL,是對隊列上的消息設置TTL并不是對隊列本身,不是說隊列過期時間…

先進制造aps專題二十七 西門子opcenter aps架構分析

歐美的商業aps,主要就是sap apo,西門子opcenter aps,達索quintiq 從技術的層面,西門子aps是不如sap apo的,但是西門子aps是西門子數字化工廠產品的核心,有很多特色,所以分析 西門子aps主要分計劃器和排產器兩個部分 計…

WPF如何跨線程更新界面

WPF如何跨線程更新界面 在WPF中,類似于WinForms,UI控件只能在UI線程(即主線程)上進行更新。WPF通過Dispatcher機制提供了跨線程更新UI的方式。由于WPF的界面基于Dispatcher線程模型,當你在非UI線程(例如后…

ingress-nginx代理tcp使其能外部訪問mysql

一、helm部署mysql主從復制 helm repo add bitnami https://charts.bitnami.com/bitnami helm repo updatehelm pull bitnami/mysql 解壓后編輯values.yaml文件,修改如下(storageclass已設置默認類) 117 ## param architecture MySQL archit…

macOS Sequoia 15.3 beta3(24D5055b)發布,附黑、白蘋果鏡像下載地址

“ 鏡像(黑蘋果引導鏡像、白蘋果Mac鏡像、黑蘋果虛擬機鏡像)下載地址:黑果魏叔官網。” 關于macOS Sequoia 15.3 beta3(24D5055b),以下是對其的詳細介紹: 一、版本發布信息 發布時間 &#xf…

豪越科技消防一體化安全管控平臺:推動消防作訓模式智慧轉型

在當今數字化浪潮席卷全球的時代背景下,各行業都在積極尋求創新與變革,以提升工作效率、優化管理流程。消防行業作為保障社會安全的關鍵領域,其數字化轉型的需求尤為迫切。豪越科技的消防一體化安全管控平臺應運而生,為消防工作帶…

Tomcat下載配置

目錄 Win下載安裝 Mac下載安裝配置 Win 下載 直接從官網下載https://tomcat.apache.org/download-10.cgi 在圈住的位置點擊下載自己想要的版本 根據自己電腦下載64位或32位zip版本 安裝 Tomcat是綠色版,直接解壓到自己想放的位置即可 Mac 下載 官網 https://tomcat.ap…

1161 Merging Linked Lists (25)

Given two singly linked lists L1?a1?→a2?→?→an?1?→an? and L2?b1?→b2?→?→bm?1?→bm?. If n≥2m, you are supposed to reverse and merge the shorter one into the longer one to obtain a list like a1?→a2?→bm?→a3?→a4?→bm?1??. For ex…

【記錄】騰訊混元大模型本地部署過程

概述 本文記錄在本地部署騰訊混元大模型的過程。僅為部署記錄,不涉及過多的技術要點。 混元大模型主頁:https://github.com/Tencent/HunyuanVideo 該模型應該是當前開源的效果不錯的模型,其實官方文檔將部署過程寫的相當詳細了,但是這里為了便于后期的學習,特意將部署過程…

Go-知識 版本演進

Go-知識 版本演進 Go release notesr56(2011/03/16)r57(2011/05/03)Gofix 工具語言包工具小修訂 r58(2011/06/29)語言包工具小修訂 r59(2011/08/01)語言包工具 r60(2011/09/07)語言包工具 [go1 2012-03-28](https://golang.google.cn/doc/devel/release#go1)[go1.1 2013-05-13]…

Java鎖 死鎖及排查 JVM 工具 jconsole 工具 排查死鎖

目錄 概述 死鎖案例 (面試) 如何排查死鎖 使用 JVM 工具排查死鎖 使用 jconsole 工具排查死鎖 細節 概述 死鎖是指兩個或兩個以上的進程在執行過程中,因爭奪資源而造成的一種互相等待的現象,若無外力于涉那它們都將無法推進下去,如果系統資源充足,…