18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Hudi系列:Hudi核心概念之索引(Indexs)

京東云 ? 來源:jf_75140285 ? 作者:jf_75140285 ? 2025-10-21 09:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Hudi系列:Hudi核心概念(版本1.0)

?Hudi架構

?一. 時間軸(TimeLine)s

?1.1 時間軸(TimeLine)概念

?1.2 Hudi的時間線由組成

?1.3 時間線上的Instant action操作類型

?1.4 時間線上State狀態(tài)類型

?1.5 時間線官網(wǎng)實例

?二. 文件布局

?三. 索引

3.1 簡介

3.2 對比其它(Hive)沒有索引的區(qū)別

3.2 多態(tài)索引

布隆過濾器

記錄索引

表達索引

二級索引

3.3寫入端的索引類型

3.4 全局索引與非全局索引

四. 表類型

4.1 COW:(Copy on Write)寫時復制表

4.1.1 概念

4.1.2 COW工作原理

4.1.3 COW表對表的管理方式改進點

4.2 MOR:(Merge on Read)讀時復制表

4.2.1 概念

4.2.2 MOR表工作原理

4.3 總結了兩種表類型之間的權衡

五. 查詢類型

5.1 Snapshot Queries

5.2 Incremental Queries

5.3 Read Optimized Query

簡介

Hudi 中最基礎的索引機制會一致地跟蹤從給定鍵(記錄鍵 + 可選分區(qū)路徑)到文件 ID 的映射。其他類型的索引(如二級索引)都以此為基礎構建。一旦將記錄的第一個版本寫入文件組,記錄鍵和文件組/文件 ID 之間的映射就很少會發(fā)生變化。只有以刪除 + 插入形式實現(xiàn)的集群或跨分區(qū)更新才會將記錄鍵重新映射到不同的文件組。即便如此,給定的記錄鍵在時間線上的任何完成時刻都只與一個文件組相關聯(lián)。

對比其它(Hive)沒有索引的區(qū)別

對于 Copy-On-Write表,索引可實現(xiàn)快速的插入/刪除操作,因為無需與整個數(shù)據(jù)集連接來確定要重寫哪些文件。對于Merge-On-Read 表,索引允許 Hudi 限制需要合并任何給定基礎文件的更改記錄數(shù)量。具體而言,給定基礎文件僅需與屬于該基礎文件的記錄的更新合并。相反,沒有索引組件的Hive ACID需要將所有的基本文件與所有傳入的更新/刪除記錄合并。

wKgZO2jx0K-AAXmcAAPYfGKjO6A673.png

多態(tài)索引

Hudi 通過增強元數(shù)據(jù)表以合并新類型索引的能力來支持多模式索引,并輔以索引構建的異步機制。此增強功能支持元數(shù)據(jù)表中的一系列索引,從而顯著提高了寫入和讀取表的效率。

wKgZPGjx0LCAQd0CAAapIckMPFE733.png

?

布隆過濾器Bloom Filters

Bloom filter 索引作為元數(shù)據(jù)表中的 bloom_filter 分區(qū)。此索引采用基于范圍的修剪來修剪記錄鍵的最小值和最大值,并采用基于 bloom 過濾器的查找來標記傳入的記錄。對于大型表,這涉及讀取所有匹配數(shù)據(jù)文件的頁腳以查找 bloom 過濾器,這在整個數(shù)據(jù)集隨機更新的情況下成本可能很高。此索引集中存儲所有數(shù)據(jù)文件的 bloom 過濾器,以避免直接從所有數(shù)據(jù)文件掃描頁腳。

記錄索引Record Indexes

記錄索引作為元數(shù)據(jù)表中的 record_index 分區(qū)。包含記錄鍵到位置的映射。記錄索引是一個全局索引,在表的所有分區(qū)中強制鍵唯一性。此索引有助于比其他現(xiàn)有索引更快地定位記錄,并且可以在索引查找主導寫入延遲的大型部署中提供更快的加速。為了適應非常高的規(guī)模,它利用基于哈希的鍵空間分片。此外,在讀取數(shù)據(jù)時,索引允許點查找,從而顯著加快索引映射檢索過程。

表達式索引Expression Index

Expression Index是列函數(shù)的索引。如果查詢對列函數(shù)有謂詞,則可以使用表達式索引來加速查詢。表達式索引存儲在元數(shù)據(jù)表下的 expr_index_ 前綴分區(qū)中(每個表達式索引一個)??梢允褂?SQL 語法創(chuàng)建表達式索引。請在此處查看 SQL DDL 文檔以了解更多詳細信息。

以下是控制在寫入器上啟用表達式索引構建和維護的配置,后續(xù)會詳細講解,這個是1.0的新增的特性

wKgZO2jx0LKAIur7AAXvfROx-dk188.png

二級索引Secondary Index

Secondary Index允許用戶在 Hudi 表中不屬于記錄鍵列的列上創(chuàng)建索引(對于記錄鍵字段,Hudi 支持記錄級索引)。二級索引可用于加速對記錄鍵列以外的列使用謂詞的查詢。

以下是控制在寫入器上啟用二級索引構建和維護的配置,后續(xù)會詳細講解,這個是1.0的新增的特性

wKgZPGjx0LOAb2lgAAM6hhjvXdQ330.png

附加寫入端索引 writer-side indexes

上面討論的所有索引都可通過與元數(shù)據(jù)表集成供讀取器/寫入器使用。存儲引擎還實現(xiàn)了索引機制,通過高效讀取/連接/處理傳入的輸入記錄,以對照存儲在基礎/日志文件本身中的信息(例如,存儲在 parquet 文件頁腳中的布隆過濾器)或智能數(shù)據(jù)布局(例如,存儲桶索引)。

目前,Hudi 支持以下索引類型。Spark 引擎上的默認索引類型為 SIMPLE,F(xiàn)link 和 Java 引擎上的默認索引類型為 INMEMORY。寫入器可以使用 hoodie.index.type 配置選項選擇其中一個選項。

?

index類型 描述
SIMPLE(Spark 引擎的默認索引類型) 這是 Spark 引擎的標準索引類型。它執(zhí)行傳入記錄與從存儲在磁盤上的表中檢索到的鍵的有效連接。它要求鍵在分區(qū)級別上是唯一的,這樣它才能正常運行。
RECORD_INDEX 使用上一節(jié)中的記錄索引作為寫入端索引。
BLOOM 用由記錄鍵生成的布隆過濾器,并可選擇根據(jù)記錄鍵的范圍進一步縮小候選文件的范圍。它要求鍵在分區(qū)級別上是唯一的,這樣它才能正常工作。
GLOBAL_BLOOM 用由記錄鍵創(chuàng)建的布隆過濾器,還可以通過使用記錄鍵的范圍來優(yōu)化候選文件的選擇。它要求鍵在表/全局級別上是唯一的,這樣它才能正常工作。
GLOBAL_SIMPLE 對傳入記錄與從存儲表中提取的鍵執(zhí)行精益連接。它要求鍵在表/全局級別上是唯一的,這樣它才能正常工作。
HBASE 通過 Apache HBase 中的外部表管理索引映射。
INMEMORY(Flink 和 Java 的默認設置) 使用 Spark 和 Java 引擎中的內(nèi)存哈希圖以及 Flink 中的 Flink 內(nèi)存狀態(tài)進行索引。
BUCKET 利用 bucket hashing 來識別存放記錄的文件組,這在大規(guī)模情況下尤其有利。要選擇 bucket 引擎的類型(即創(chuàng)建 bucket 的方法),請使用 hoodie.index.bucket.engine 配置選項。
SIMPLE(默認) 此索引為每個分區(qū)內(nèi)的文件組使用固定數(shù)量的 bucket,這些 bucket 無法減小或增大大小。它適用于 COW 和 MOR 表。由于 bucket 數(shù)量不可改變,并且設計原則是將每個 bucket 映射到單個文件組,因此這種索引方法可能不適用于數(shù)據(jù)偏差較大的分區(qū)。
CONSISTENT_HASHING 此索引可容納動態(tài)數(shù)量的 bucket,并具有調(diào)整 bucket 大小的功能,以確保每個 bucket 的大小合適。通過允許動態(tài)調(diào)整這些分區(qū)的大小,這解決了數(shù)據(jù)量大的分區(qū)中的數(shù)據(jù)偏差問題。因此,分區(qū)可以有多個大小合理的存儲桶,這與 SIMPLE 存儲桶引擎類型中每個分區(qū)的存儲桶數(shù)量固定不同。此功能僅與 MOR 表兼容。
自帶實現(xiàn) 您可以擴展此公共 API 并使用 hoodie.index.class 提供 SparkHoodieIndex 的子類(用于 Apache Spark 編寫器)來實現(xiàn)自定義索引。

全局索引與非全局索引 Global and Non-Global Indexes

Bloom 和 simple index 都有全局選項,Base 索引本質(zhì)上是一個全局索引

hoodie.index.type=GLOBAL_BLOOM

hoodie.index.type=GLOBAL_SIMPLE

1.全局索引:在全表的所有分區(qū)范圍下強制要求鍵保持唯一,即確保對給定的鍵有且只有一個對應的記錄。

2.非全局索引:僅在表的某一個分區(qū)內(nèi)強制要求鍵保持唯一,它依靠寫入器為同一個記錄的更刪提供一致的分區(qū)路。

?

?

?

文獻: https://hudi.apache.org/docs/overview

?審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 索引
    +關注

    關注

    0

    文章

    60

    瀏覽量

    10742
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Hudi基礎入門篇-07--Hudi 快速體驗使用--編譯Hudi 源碼

    大數(shù)據(jù)
    電子學習
    發(fā)布于 :2023年01月07日 09:31:49

    Hudi基礎入門篇-05--學習Apache Hudi--Hudi 框架基本介紹

    大數(shù)據(jù)
    電子學習
    發(fā)布于 :2023年01月07日 09:35:31

    Hudi基礎入門篇-09--Hudi 快速體驗使用--HDFS 安裝部署測試

    大數(shù)據(jù)
    電子學習
    發(fā)布于 :2023年01月07日 09:37:01

    Hudi基礎入門篇-06--為什么要學習Apache Hudi--Hudi 快速發(fā)展

    大數(shù)據(jù)
    電子學習
    發(fā)布于 :2023年01月07日 09:49:12

    Hudi基礎入門篇-02-為什么學習Apache Hudi-什么是數(shù)據(jù)湖DataLake

    大數(shù)據(jù)
    電子學習
    發(fā)布于 :2023年01月07日 09:52:37

    Hudi基礎入門篇-10--Hudi 快速體驗使用--Spark 安裝部署測試

    大數(shù)據(jù)
    電子學習
    發(fā)布于 :2023年01月07日 09:54:56

    Hudi基礎入門篇-04--學習Apache Hudi--三大流式數(shù)據(jù)湖框架

    大數(shù)據(jù)
    電子學習
    發(fā)布于 :2023年01月07日 09:59:33

    Hudi基礎入門篇-08--Hudi 快速體驗使用--大數(shù)據(jù)環(huán)境準備概述

    大數(shù)據(jù)
    電子學習
    發(fā)布于 :2023年01月07日 10:00:06

    基于索引的SQL語句優(yōu)化降龍十八掌

    基于索引的SQL語句優(yōu)化降龍十八掌1 前言 22 總綱 23 降龍十八掌 3第一掌 避免
    發(fā)表于 09-25 13:24

    LV Nugget數(shù)組索引的妙用

    我們談談數(shù)組索引的用法,首先從一維數(shù)組談起。1、一維數(shù)組的首個元素對應的索引值為0,也就是說索引從0開始,有些編程語言數(shù)組的索引是從1開始的,所以這點必須明確。2、
    發(fā)表于 11-16 13:50

    LabVIEW Nugget數(shù)組索引的妙用

    我們談談數(shù)組索引的用法,首先從一維數(shù)組談起。1、一維數(shù)組的首個元素對應的索引值為0,也就是說索引從0開始,有些編程語言數(shù)組的索引是從1開始的,所以這點必須明確。2、
    發(fā)表于 12-18 15:02

    git的三個核心概念詳解

    git的三個核心概念(工作區(qū),版本庫stage,版本庫master)
    發(fā)表于 12-24 07:17

    Labview索引數(shù)組

    Labview索引數(shù)組,很好的Labview資料,快來下載學習吧。
    發(fā)表于 04-19 10:23 ?0次下載

    Labview自動索引功能(二維數(shù)組--一維數(shù)組)

    Labview自動索引功能(二維數(shù)組--一維數(shù)組),很好的Labview資料,快來下載學習吧。
    發(fā)表于 04-19 10:56 ?0次下載

    Hudi系列:Hudi核心概念文件布局(Storage Layouts)

    Hudi系列:Hudi核心概念(版本1.0) ?Hudi架構 ?一. 時間軸(TimeLine)
    的頭像 發(fā)表于 10-14 16:06 ?142次閱讀
    <b class='flag-5'>Hudi</b><b class='flag-5'>系列</b>:<b class='flag-5'>Hudi</b><b class='flag-5'>核心</b><b class='flag-5'>概念</b><b class='flag-5'>之</b>文件布局(Storage Layouts)