国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Apache Doris 入門教程36:文件分析和文件緩存

這篇具有很好參考價值的文章主要介紹了Apache Doris 入門教程36:文件分析和文件緩存。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

文件分析

通過 Table Value Function 功能,Doris 可以直接將對象存儲或 HDFS 上的文件作為 Table 進行查詢分析。并且支持自動的列類型推斷。

使用方式?

更多使用方式可參閱 Table Value Function 文檔:

  • S3:支持 S3 兼容的對象存儲上的文件分析。
  • HDFS:支持 HDFS 上的文件分析。

這里我們通過 S3 Table Value Function 舉例說明如何進行文件分析。

自動推斷文件列類型?

> DESC FUNCTION s3 (
    "URI" = "http://127.0.0.1:9312/test2/test.snappy.parquet",
    "s3.access_key"= "ak",
    "s3.secret_key" = "sk",
    "format" = "parquet",
    "use_path_style"="true"
);
+---------------+--------------+------+-------+---------+-------+
| Field         | Type         | Null | Key   | Default | Extra |
+---------------+--------------+------+-------+---------+-------+
| p_partkey     | INT          | Yes  | false | NULL    | NONE  |
| p_name        | TEXT         | Yes  | false | NULL    | NONE  |
| p_mfgr        | TEXT         | Yes  | false | NULL    | NONE  |
| p_brand       | TEXT         | Yes  | false | NULL    | NONE  |
| p_type        | TEXT         | Yes  | false | NULL    | NONE  |
| p_size        | INT          | Yes  | false | NULL    | NONE  |
| p_container   | TEXT         | Yes  | false | NULL    | NONE  |
| p_retailprice | DECIMAL(9,0) | Yes  | false | NULL    | NONE  |
| p_comment     | TEXT         | Yes  | false | NULL    | NONE  |
+---------------+--------------+------+-------+---------+-------+

這里我們定義了一個 S3 Table Value Function:

s3(
    "URI" = "http://127.0.0.1:9312/test2/test.snappy.parquet",
    "s3.access_key"= "ak",
    "s3.secret_key" = "sk",
    "format" = "parquet",
    "use_path_style"="true")

其中指定了文件的路徑、連接信息、認證信息等。

之后,通過?DESC FUNCTION?語法可以查看這個文件的 Schema。

可以看到,對于 Parquet 文件,Doris 會根據文件內的元信息自動推斷列類型。

目前支持對 Parquet、ORC、CSV、Json 格式進行分析和列類型推斷。

CSV Schema

在默認情況下,對 CSV 格式文件,所有列類型均為 String??梢酝ㄟ^?csv_schema?屬性單獨指定列名和列類型。Doris 會使用指定的列類型進行文件讀取。格式如下:

name1:type1;name2:type2;...

對于格式不匹配的列(比如文件中為字符串,用戶定義為 int),或缺失列(比如文件中有4列,用戶定義了5列),則這些列將返回null。

當前支持的列類型為:

名稱 映射類型
tinyint tinyint
smallint smallint
int int
bigint bigint
largeint largeint
float float
double double
decimal(p,s) decimalv3(p,s)
date datev2
datetime datetimev2
char string
varchar string
string string
boolean boolean

示例:

s3 (
    "URI" = "https://bucket1/inventory.dat",
    "s3.access_key"= "ak",
    "s3.secret_key" = "sk",
    "format" = "csv",
    "column_separator" = "|",
    "csv_schema" = "k1:int;k2:int;k3:int;k4:decimal(38,10)",
    "use_path_style"="true"
)

查詢分析?

你可以使用任意的 SQL 語句對這個文件進行分析

SELECT * FROM s3(
    "URI" = "http://127.0.0.1:9312/test2/test.snappy.parquet",
    "s3.access_key"= "ak",
    "s3.secret_key" = "sk",
    "format" = "parquet",
    "use_path_style"="true")
LIMIT 5;
+-----------+------------------------------------------+----------------+----------+-------------------------+--------+-------------+---------------+---------------------+
| p_partkey | p_name                                   | p_mfgr         | p_brand  | p_type                  | p_size | p_container | p_retailprice | p_comment           |
+-----------+------------------------------------------+----------------+----------+-------------------------+--------+-------------+---------------+---------------------+
|         1 | goldenrod lavender spring chocolate lace | Manufacturer#1 | Brand#13 | PROMO BURNISHED COPPER  |      7 | JUMBO PKG   |           901 | ly. slyly ironi     |
|         2 | blush thistle blue yellow saddle         | Manufacturer#1 | Brand#13 | LARGE BRUSHED BRASS     |      1 | LG CASE     |           902 | lar accounts amo    |
|         3 | spring green yellow purple cornsilk      | Manufacturer#4 | Brand#42 | STANDARD POLISHED BRASS |     21 | WRAP CASE   |           903 | egular deposits hag |
|         4 | cornflower chocolate smoke green pink    | Manufacturer#3 | Brand#34 | SMALL PLATED BRASS      |     14 | MED DRUM    |           904 | p furiously r       |
|         5 | forest brown coral puff cream            | Manufacturer#3 | Brand#32 | STANDARD POLISHED TIN   |     15 | SM PKG      |           905 |  wake carefully     |
+-----------+------------------------------------------+----------------+----------+-------------------------+--------+-------------+---------------+---------------------+

Table Value Function 可以出現在 SQL 中,Table 能出現的任意位置。如 CTE 的 WITH 子句中,FROM 子句中。 這樣,你可以把文件當做一張普通的表進行任意分析。

你也可以用過?CREATE VIEW?語句為 Table Value Function 創(chuàng)建一個邏輯視圖。這樣,你可以想其他視圖一樣,對這個 Table Value Function 進行訪問、權限管理等操作,也可以讓其他用戶訪問這個 Table Value Function。

CREATE VIEW v1 AS 
SELECT * FROM s3(
    "URI" = "http://127.0.0.1:9312/test2/test.snappy.parquet",
    "s3.access_key"= "ak",
    "s3.secret_key" = "sk",
    "format" = "parquet",
    "use_path_style"="true");

DESC v1;

SELECT * FROM v1;

GRANT SELECT_PRIV ON db1.v1 TO user1;

數據導入?

配合?INSERT INTO SELECT?語法,我們可以方便將文件導入到 Doris 表中進行更快速的分析:

// 1. 創(chuàng)建doris內部表
CREATE TABLE IF NOT EXISTS test_table
(
    id int,
    name varchar(50),
    age int
)
DISTRIBUTED BY HASH(id) BUCKETS 4
PROPERTIES("replication_num" = "1");

// 2. 使用 S3 Table Value Function 插入數據
INSERT INTO test_table (id,name,age)
SELECT cast(id as INT) as id, name, cast (age as INT) as age
FROM s3(
    "uri" = "http://127.0.0.1:9312/test2/test.snappy.parquet",
    "s3.access_key"= "ak",
    "s3.secret_key" = "sk",
    "format" = "parquet",
    "use_path_style" = "true");

文件緩存

文件緩存(File Cache)通過緩存最近訪問的遠端存儲系統(HDFS 或對象存儲)的數據文件,加速后續(xù)訪問相同數據的查詢。在頻繁訪問相同數據的查詢場景中,File Cache 可以避免重復的遠端數據訪問開銷,提升熱點數據的查詢分析性能和穩(wěn)定性。

原理?

File Cache 將訪問的遠程數據緩存到本地的 BE 節(jié)點。原始的數據文件會根據訪問的 IO 大小切分為 Block,Block 被存儲到本地文件?cache_path/hash(filepath).substr(0, 3)/hash(filepath)/offset?中,并在 BE 節(jié)點中保存 Block 的元信息。當訪問相同的遠程文件時,doris 會檢查本地緩存中是否存在該文件的緩存數據,并根據 Block 的 offset 和 size,確認哪些數據從本地 Block 讀取,哪些數據從遠程拉起,并緩存遠程拉取的新數據。BE 節(jié)點重啟的時候,掃描?cache_path?目錄,恢復 Block 的元信息。當緩存大小達到閾值上限的時候,按照 LRU 原則清理長久未訪問的 Block。

使用方式?

File Cache 默認關閉,需要在 FE 和 BE 中設置相關參數進行開啟。

FE 配置?

單個會話中開啟 File Cache:

SET enable_file_cache = true;

全局開啟 File Cache:

SET GLOBAL enable_file_cache = true;

File Cache 功能僅作用于針對文件的外表查詢(如 Hive、Hudi )。對內表查詢,或非文件的外表查詢(如 JDBC、Elasticsearch)等無影響。

BE 配置?

添加參數到 BE 節(jié)點的配置文件 conf/be.conf 中,并重啟 BE 節(jié)點讓配置生效。

參數 說明
enable_file_cache 是否啟用 File Cache,默認 false
file_cache_path 緩存目錄的相關配置,json格式,例子:?[{"path": "/path/to/file_cache1", "total_size":53687091200,"query_limit": "10737418240"},{"path": "/path/to/file_cache2", "total_size":53687091200,"query_limit": "10737418240"},{"path": "/path/to/file_cache3", "total_size":53687091200,"query_limit": "10737418240"}]。path?是緩存的保存路徑,total_size?是緩存的大小上限,query_limit?是單個查詢能夠使用的最大緩存大小。
file_cache_min_file_segment_size 單個 Block 的大小下限,默認 1MB,需要大于 4096
file_cache_max_file_segment_size 單個 Block 的大小上限,默認 4MB,需要大于 4096
enable_file_cache_query_limit 是否限制單個 query 使用的緩存大小,默認 false
clear_file_cache BE 重啟時是否刪除之前的緩存數據,默認 false

查看 File Cache 命中情況?

執(zhí)行?set enable_profile=true?打開會話變量,可以在 FE 的 web 頁面的 Queris 標簽中查看到作業(yè)的 Profile。File Cache 相關的指標如下:

-  FileCache:
  -  IOHitCacheNum:  552
  -  IOTotalNum:  835
  -  ReadFromFileCacheBytes:  19.98  MB
  -  ReadFromWriteCacheBytes:  0.00  
  -  ReadTotalBytes:  29.52  MB
  -  WriteInFileCacheBytes:  915.77  MB
  -  WriteInFileCacheNum:  283 
  • IOTotalNum: 遠程訪問的次數
  • IOHitCacheNum: 命中緩存的次數
  • ReadFromFileCacheBytes: 從緩存文件中讀取的數據量
  • ReadTotalBytes: 總共讀取的數據量
  • SkipCacheBytes: 創(chuàng)建緩存文件失敗,或者緩存文件被刪,需要再次從遠程讀取的數據量
  • WriteInFileCacheBytes: 保存到緩存文件中的數據量
  • WriteInFileCacheNum: 保存的 Block 數量,所以?WriteInFileCacheBytes/WriteInFileCacheBytes?為 Block 的平均大小

IOHitCacheNum?/?IOTotalNum?等于1,表示緩存完全命中

ReadFromFileCacheBytes?/?ReadTotalBytes?等于1,表示緩存完全命中

?文章來源地址http://www.zghlxwxcb.cn/news/detail-668064.html

到了這里,關于Apache Doris 入門教程36:文件分析和文件緩存的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Apache Doris 入門教程03:使用Docker或Kubernetes部署Doris

    該文檔主要介紹了如何通過 Dockerfile 來制作 Apache Doris 的運行鏡像,以便于在容器化編排工具或者快速測試過程中可迅速拉取一個 Apache Doris Image 來完成集群的創(chuàng)建。 概述? Docker 鏡像在制作前要提前準備好制作機器,該機器的平臺架構決定了制作以后的 Docker Image 適用的平臺

    2024年02月07日
    瀏覽(22)
  • Apache Kafka 入門教程

    Apache Kafka 是由 Apache 軟件基金會開發(fā)的一個開源流處理平臺,用于處理實時的大規(guī)模數據流。Kafka 的目標是為了處理活躍的流式數據,包括傳感器數據,網站日志,應用程序內部的消息,等等。它可以處理成千上萬的消息,并讓你迅速地處理和存儲這些消息。在 Kafka 中,生產

    2024年02月15日
    瀏覽(25)
  • Apache Spark教程_編程入門自學教程_菜鳥教程-免費教程分享

    Apache Spark教程 Apache Spark - 簡介 Apache Spark - RDD Apache Spark - 安裝 Apache Spark - 核心編程 Apache Spark - 部署 高級Spark編程 Apache Spark - 有用的資源

    2024年02月09日
    瀏覽(23)
  • Apache Solr 教程_編程入門自學教程_菜鳥教程-免費教程分享

    Apache Solr教程 Apache Solr - 概述 Apache Solr - 搜索引擎基礎知識 Apache Solr - 在Windows環(huán)境中 Apache Solr - 在Hadoop上 Apache Solr - 架構 Apache Solr - 術語 Apache Solr - 基本命令 Apache Solr - 核心 Apache Solr - 索引數據 Apache Solr - 添加文檔(XML) Apache Solr - 更新數據 Apache Solr - 刪除文檔 Apache Solr - 檢

    2024年02月08日
    瀏覽(23)
  • springboot的緩存和redis緩存,入門級別教程

    springboot的緩存和redis緩存,入門級別教程

    一、springboot(如果沒有配置)默認使用的是jvm緩存 1、Spring框架支持向應用程序透明地添加緩存。抽象的核心是將緩存應用于方法,從而根據緩存中可用的信息減少執(zhí)行次數。緩存邏輯是透明地應用的,對調用者沒有任何干擾。只要使用@EnableCaching注釋啟用了緩存支持,Spri

    2024年02月07日
    瀏覽(35)
  • 超詳細Redis入門教程——Redis緩存

    超詳細Redis入門教程——Redis緩存

    本文小新為大家?guī)?Redis緩存 相關知識,具體內容包括 Jedis客戶端 (包括: Jedis簡介 , 創(chuàng)建工程 , 使用 Jedis 實例 , 使用 JedisPool , 使用 JedisPooled , 連接 Sentinel 高可用集群 , 連接分布式系統 , 操作事務 ), 高并發(fā)問題 (包括: 緩存穿透 , 緩存擊穿 , 緩存雪崩

    2024年02月15日
    瀏覽(27)
  • Excel數據分析教程_編程入門自學教程_菜鳥教程-免費教程分享

    Excel數據分析入門教程 - 從基本到高級概念的簡單步驟了解Excel數據分析,其中包括概述,流程,Excel數據分析概述,使用范圍名稱,表格,使用文本功能清理數據,清潔數據包含日期值,使用時間值,條件格式,排序,過濾,帶范圍的小計,快速分析,查找功能,數據透視表

    2024年02月17日
    瀏覽(24)
  • Linux入門教程||Linux文件基本屬性

    Linux入門教程||Linux文件基本屬性

    Linux系統是一種典型的多用戶系統,不同的用戶處于不同的地位,擁有不同的權限。為了保護系統的安全性,Linux系統對不同的用戶訪問同一文件(包括目錄文件)的權限做了不同的規(guī)定。 在Linux中我們可以使用 ll 或者 ls –l 命令來顯示一個文件的屬性以及文件所屬的用戶和

    2024年02月08日
    瀏覽(28)
  • Apache Doris 快速入門

    Apache Doris 快速入門

    FE,Frontend,前端節(jié)點,接收用戶查詢請求,SQL解析,執(zhí)行計劃生成,元數據管理,節(jié)點管理等 BE,Backend,后端節(jié)點,數據存儲,執(zhí)行查詢計劃。 前端節(jié)點FE 和 后端節(jié)點BE 各自獨立運行,互不影響。 broker:用來和外部文件系統打交道 DORIS_HOME=/export/server/doris-1.2.4.1 node1:安裝

    2024年02月07日
    瀏覽(26)
  • 【STM32零基礎入門教程03】GPIO輸入輸出之GPIO框圖分析

    【STM32零基礎入門教程03】GPIO輸入輸出之GPIO框圖分析

    ? ???????本章節(jié)主要講解點亮LED的基本原理,以及GPIO框圖的講解。 ????????首先我們查看原理圖,觀察電路圖中LED的連接情況,如下圖可以看出我們的板子中LED一端通過限流電阻連接的PB0另一端連接的是高電平VCC,那么我們將PB0位置接地是不是燈就亮了,那我們就想

    2024年02月14日
    瀏覽(103)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包