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

Apache Doris 系列: 入門(mén)篇-數(shù)據(jù)導(dǎo)入及查詢(xún)

這篇具有很好參考價(jià)值的文章主要介紹了Apache Doris 系列: 入門(mén)篇-數(shù)據(jù)導(dǎo)入及查詢(xún)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

數(shù)據(jù)導(dǎo)入及查詢(xún)

本文檔主要介紹 Doris 的數(shù)據(jù)導(dǎo)入及數(shù)據(jù)查詢(xún)。

數(shù)據(jù)導(dǎo)入方式

Doris 為了滿(mǎn)足不同業(yè)務(wù)場(chǎng)景的數(shù)據(jù)接入需求,提供不豐富的數(shù)據(jù)導(dǎo)入方式,去支持不同的數(shù)據(jù)源:外部存儲(chǔ)(HDFS,對(duì)象存儲(chǔ))、本地文件、消息隊(duì)列(Kafka)及其他外部業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫(kù)(MySQL、Oracle、SQLServer、PostgreSQL等),支持同步和異步的方式將數(shù)據(jù)接入到 Doris 中。

Doris 數(shù)據(jù)計(jì)入方式及生態(tài)系統(tǒng):

Apache Doris 系列: 入門(mén)篇-數(shù)據(jù)導(dǎo)入及查詢(xún)

Broker Load

Broker Load?是一種異步的數(shù)據(jù)導(dǎo)入方式,通過(guò)?Broker?進(jìn)程訪(fǎng)問(wèn)并讀取外部數(shù)據(jù)源(如:HDFS,對(duì)象存儲(chǔ)(支持S3協(xié)議)),然后通過(guò) MySQL 協(xié)議,通過(guò) Doris SQL 語(yǔ)句的方式將導(dǎo)入任務(wù)提交到 Doris ,然后通過(guò)?show load?查看數(shù)據(jù)導(dǎo)入進(jìn)度及狀態(tài)。

這種導(dǎo)入方式可以以支撐數(shù)據(jù)量達(dá)數(shù)百 GB 的導(dǎo)入作業(yè)。該導(dǎo)入方式支持 Hive 數(shù)據(jù)源的導(dǎo)入。

支持的數(shù)據(jù)格式:csv、orc、parquet

因?yàn)镈oris 表里的數(shù)據(jù)是有序的,導(dǎo)入方式需要占用 Doris BE 資源進(jìn)行對(duì)數(shù)據(jù)進(jìn)行排序,在大數(shù)據(jù)量的數(shù)據(jù)導(dǎo)入的時(shí)候盡可能避開(kāi)業(yè)務(wù)使用高峰,在資源相對(duì)空閑的時(shí)候進(jìn)行導(dǎo)入。

Spark Load

Spark load?通過(guò)借助于外部的 Spark 計(jì)算資源實(shí)現(xiàn)對(duì)導(dǎo)入數(shù)據(jù)進(jìn)行排序,提高 Doris 大數(shù)據(jù)量的導(dǎo)入性能并且節(jié)省 Doris 集群的計(jì)算資源。主要用于初次遷移,大數(shù)據(jù)量導(dǎo)入 Doris 的場(chǎng)景。對(duì)于歷史海量數(shù)據(jù)遷移降低 Doris 集群資源使用及負(fù)載有很好的效果。

這種方式需要借助于Broker服務(wù),適用于遷移大數(shù)據(jù)量(TB 級(jí)別)的場(chǎng)景。

Spark 支持將 hive 生成的 bitmap 數(shù)據(jù)直接導(dǎo)入到 Doris。詳見(jiàn)?hive-bitmap-udf 文檔。

支持的數(shù)據(jù)格式:csv、orc、parquet

Spark load 是一種異步導(dǎo)入方式,用戶(hù)需要通過(guò) MySQL 協(xié)議創(chuàng)建 Spark 類(lèi)型導(dǎo)入任務(wù),并通過(guò)?SHOW LOAD?查看導(dǎo)入結(jié)果

Stream Load

Stream Load?是一種同步的數(shù)據(jù)導(dǎo)入方式。用戶(hù)通過(guò) HTTP 協(xié)議提交請(qǐng)求并攜帶原始數(shù)據(jù)(可以是文件,也可以是內(nèi)存數(shù)據(jù))創(chuàng)建導(dǎo)入。主要用于快速將本地文件或數(shù)據(jù)流中的數(shù)據(jù)導(dǎo)入到 Doris。導(dǎo)入命令同步返回導(dǎo)入結(jié)果。

通過(guò)?SHOW STREAM LOAD方式來(lái)查看 Stream load 作業(yè)情況,默認(rèn) BE 是不記錄 Stream Load 的記錄,如果你要查看需要在 BE 上啟用記錄,配置參數(shù)是:enable_stream_load_record=true?,具體怎么配置請(qǐng)參照?BE 配置項(xiàng)

這種導(dǎo)入方式支持兩種格式的數(shù)據(jù) CVS 和 JSON 。

Stream load 支持本地文件導(dǎo)入,或者通過(guò)程序?qū)雽?shí)時(shí)數(shù)據(jù)流中的數(shù)據(jù),Spark Connector?和?Flink Connector?就是基于這種方式實(shí)現(xiàn)的。

Routine Load

Routine load?這種方式是以Kafka為數(shù)據(jù)源,從Kafka中讀取數(shù)據(jù)并導(dǎo)入到Doris對(duì)應(yīng)的數(shù)據(jù)表中,用戶(hù)通過(guò) Mysql 客戶(hù)端提交 Routine Load數(shù)據(jù)導(dǎo)入作業(yè),Doris 會(huì)在生成一個(gè)常駐線(xiàn)程,不間斷的從 Kafka 中讀取數(shù)據(jù)并存儲(chǔ)在對(duì)應(yīng)Doris表中,并自動(dòng)維護(hù) Kafka Offset位置。

通過(guò)SHOW ROUTINE LOAD來(lái)查看Routine load作業(yè)情況。

Insert Into

這種導(dǎo)入方式和 MySQL 中的 Insert 語(yǔ)句類(lèi)似,Apache Doris 提供?INSERT INTO tbl SELECT ...;?的方式從 Doris 的表(或者ODBC方式的外表)中讀取數(shù)據(jù)并導(dǎo)入到另一張表?;蛘咄ㄟ^(guò)?INSERT INTO tbl VALUES(...);?插入單條數(shù)據(jù),單條插入方式不建議在生產(chǎn)和測(cè)試環(huán)境中使用,只是演示使用。

INSERT INTO tbl SELECT …這種方式一般是在Doris內(nèi)部對(duì)數(shù)據(jù)進(jìn)行加工處理,生成中間匯總表,或者在Doris內(nèi)部對(duì)數(shù)據(jù)進(jìn)行ETL操作使用

這種方式是一種同步的數(shù)據(jù)導(dǎo)入方式。

數(shù)據(jù)導(dǎo)入

本例我們以 Stream load 導(dǎo)入當(dāng)時(shí)為例,將文件中的數(shù)據(jù)導(dǎo)入到我們的之前創(chuàng)建的表(expamle_tbl)中 。

CREATE TABLE IF NOT EXISTS test_doris.example_tbl
(
    `timestamp` DATE NOT NULL COMMENT "['0000-01-01', '9999-12-31']",
    `type` TINYINT NOT NULL COMMENT "[-128, 127]",
    `error_code` INT COMMENT "[-2147483648, 2147483647]",
    `error_msg` VARCHAR(300) COMMENT "[1-65533]",
    `op_id` BIGINT COMMENT "[-9223372036854775808, 9223372036854775807]",
    `op_time` DATETIME COMMENT "['0000-01-01 00:00:00', '9999-12-31 23:59:59']",
    `target` float COMMENT "4 字節(jié)",
    `source` double COMMENT "8 字節(jié)",
    `lost_cost` decimal(12,2) COMMENT "",
    `remark` string COMMENT "1m size",
    `op_userid` LARGEINT COMMENT "[-2^127 + 1 ~ 2^127 - 1]",
    `plate` SMALLINT COMMENT "[-32768, 32767]",
    `iscompleted` boolean COMMENT "true 或者 false"
)
DUPLICATE KEY(`timestamp`, `type`)
DISTRIBUTED BY HASH(`type`) BUCKETS 1
PROPERTIES (
    "replication_allocation" = "tag.location.default: 1"
);

我們創(chuàng)建一個(gè)本地文件 example_tbl.csv ,然后將下面的數(shù)據(jù)寫(xiě)入到這個(gè) csv 文件中,最后我們通過(guò) curl 命令行將這個(gè)文件中的數(shù)據(jù)導(dǎo)入到剛才我們創(chuàng)建的表里。

2022-9-06,1,101,None found,10000000000001,2022-9-06 12:23:24,1000001,2000001,2023.03,This is test doris import,10001,2,true
2022-9-05,2,102,Server Error,10000000000002,2022-9-05 15:23:24,1000003,2000003,202.03,This is test doris import,10002,3,false

我們通過(guò)下面的命令將數(shù)據(jù)導(dǎo)入到 Doris 表中

curl --location-trusted -u root: -T expamle_tbl.csv -H "column_separator:," -H "label:expamle_tbl_import_test" http://localhost:8030/api/test_doris/example_tbl/_stream_load
  1. 本例中 root 是 Doris 的用戶(hù)名,默認(rèn)密碼是空,若有密碼在root用戶(hù)名后面的冒號(hào)后面跟上密碼
  2. IP 地址是 FE 的 IP 地址,這里我們是在 FE 的本機(jī),使用了127.0.0.1
  3. 8030 是 FE 的 http 端口,默認(rèn)是8030
  4. test_doris 是我們的要導(dǎo)入數(shù)據(jù)表所在的數(shù)據(jù)庫(kù)名稱(chēng)
  5. example_tbl:使我們剛才創(chuàng)建的表,也是我們要導(dǎo)入的數(shù)據(jù)表的名稱(chēng)

導(dǎo)入完成后會(huì)返回下面這樣的 JSON 格式的響應(yīng)數(shù)據(jù)。

{
    "TxnId": 14031,
    "Label": "expamle_tbl_import_test",
    "TwoPhaseCommit": "false",
    "Status": "Success",
    "Message": "OK",
    "NumberTotalRows": 2,
    "NumberLoadedRows": 2,
    "NumberFilteredRows": 0,
    "NumberUnselectedRows": 0,
    "LoadBytes": 250,
    "LoadTimeMs": 142,
    "BeginTxnTimeMs": 1,
    "StreamLoadPutTimeMs": 17,
    "ReadDataTimeMs": 0,
    "WriteDataTimeMs": 24,
    "CommitAndPublishTimeMs": 96
}
  1. Status:導(dǎo)入任務(wù)的狀態(tài)
  2. NumberTotalRows : 我們要導(dǎo)入的總數(shù)據(jù)記錄數(shù)
  3. NumberLoadedRows:導(dǎo)入成功的記錄數(shù)

查詢(xún)

下面我們對(duì)剛才導(dǎo)入的數(shù)據(jù)表進(jìn)行查詢(xún)

select * from example_tbl;

查詢(xún)指定字段并進(jìn)行排序

mysql> select timestamp,error_code,op_id from example_tbl order by error_code desc;
+------------+------------+----------------+
| timestamp  | error_code | op_id          |
+------------+------------+----------------+
| 2022-09-05 |        102 | 10000000000002 |
| 2022-09-06 |        101 | 10000000000001 |
+------------+------------+----------------+
2 rows in set (0.02 sec)

Doris 支持多種 select 用法,包括:Join,子查詢(xún),With 子句 等,具體參照?SELECT 手冊(cè)。

函數(shù)

Doris 提供了豐富的函數(shù)支持,包括:日期函數(shù)、數(shù)組函數(shù)、地理位置函數(shù)、字符串函數(shù)、聚合函數(shù)、Bitmap函數(shù)、Bitwise函數(shù)、條件函數(shù)、JSON函數(shù)、Hash函數(shù)、數(shù)學(xué)函數(shù)、表函數(shù)、窗口函數(shù)、加密函數(shù)、脫敏函數(shù)等,具體可以參照?Doris SQL 手冊(cè) -> SQL函數(shù)。

外部表

Doris 支持多種數(shù)據(jù)的外部表:ODBC外部表?、?Hudi外部表?,?Iceberg外部表?,?ElasticSearch外部表?,?Hive外部表?。

其中 ODBC 外部表我們支持: MySQL、PostgreSQL、Oracle、SQLServer。

創(chuàng)建好外部表之后,可以通過(guò)查詢(xún)外部表的方式將外部表的數(shù)據(jù)接入到 Doris 里,同時(shí)還可以和 Doris 里的表進(jìn)行關(guān)聯(lián)查詢(xún)分析。

查詢(xún)分析

Doris 支持多種方式分析查詢(xún)瓶頸及優(yōu)化查詢(xún)性能

一般情況下出現(xiàn)慢查詢(xún),我們可以通過(guò)調(diào)整一個(gè) Fragment 實(shí)例的并行數(shù)量?set parallel_fragment_exec_instance_num = 8;?來(lái)設(shè)置查詢(xún)并行度,從而提高 CPU 資源利用率和查詢(xún)效率。詳細(xì)的參數(shù)介紹及設(shè)置,參考?查詢(xún)并行度。

我們也可以通過(guò)分析 Doris SQL 執(zhí)行計(jì)劃和 Profile 來(lái)定位分析

查看執(zhí)行計(jì)劃

explain select timestamp,error_code,op_id from example_tbl order by error_code desc;

查看 Profile

首先我們需要開(kāi)啟Profile

set enable_profile = true;

然后執(zhí)行 SQL,我們就可以看到這個(gè) SQL 的 Profile

我們可以通過(guò) Doris 提供的 WEBUI 來(lái)進(jìn)行查看,我們?cè)跒g覽器里輸入FE的地址,登錄后就可以看到

http://FE_IP:8030

更詳細(xì)講解請(qǐng)參照?查詢(xún)分析。

?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-408186.html

到了這里,關(guān)于Apache Doris 系列: 入門(mén)篇-數(shù)據(jù)導(dǎo)入及查詢(xún)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀(guān)點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Apache Doris (二十八):Doris 數(shù)據(jù)導(dǎo)入(六)Spark Load 1- 原理及配置

    目錄 1.?基本原理 ?2. Spark集群搭建 2.1?Spark Standalone 集群搭建 2.2?Spark On Yarn 配置

    2024年02月16日
    瀏覽(22)
  • Doris系列之導(dǎo)入Kafka數(shù)據(jù)操作

    Doris系列之導(dǎo)入Kafka數(shù)據(jù)操作

    注:大家覺(jué)得博客好的話(huà),別忘了點(diǎn)贊收藏呀,本人每周都會(huì)更新關(guān)于人工智能和大數(shù)據(jù)相關(guān)的內(nèi)容,內(nèi)容多為原創(chuàng),Python Java Scala SQL 代碼,CV NLP 推薦系統(tǒng)等,Spark Flink Kafka Hbase Hive Flume等等~寫(xiě)的都是純干貨,各種頂會(huì)的論文解讀,一起進(jìn)步。 今天和大家分享一下Doris系列之

    2024年02月08日
    瀏覽(25)
  • 查詢(xún)速度提升15倍!銀聯(lián)商務(wù)基于 Apache Doris 的數(shù)據(jù)平臺(tái)升級(jí)實(shí)踐

    查詢(xún)速度提升15倍!銀聯(lián)商務(wù)基于 Apache Doris 的數(shù)據(jù)平臺(tái)升級(jí)實(shí)踐

    本文導(dǎo)讀: 在長(zhǎng)期服務(wù)廣大規(guī)模商戶(hù)的過(guò)程中,銀聯(lián)商務(wù)已沉淀了龐大、真實(shí)、優(yōu)質(zhì)的數(shù)據(jù)資產(chǎn)數(shù)據(jù),這些數(shù)據(jù)不僅是銀聯(lián)商務(wù)開(kāi)啟新增長(zhǎng)曲線(xiàn)的基礎(chǔ),更是進(jìn)一步服務(wù)好商戶(hù)的關(guān)鍵支撐。為更好提供數(shù)據(jù)服務(wù),銀聯(lián)商務(wù)實(shí)現(xiàn)了從 Hadoop 到 Apache Doris 的架構(gòu)升級(jí),使數(shù)據(jù) 導(dǎo)入

    2024年02月02日
    瀏覽(23)
  • Apache Doris 入門(mén)教程35:多源數(shù)據(jù)目錄

    多源數(shù)據(jù)目錄(Multi-Catalog)功能,旨在能夠更方便對(duì)接外部數(shù)據(jù)目錄,以增強(qiáng)Doris的數(shù)據(jù)湖分析和聯(lián)邦數(shù)據(jù)查詢(xún)能力。 在之前的 Doris 版本中,用戶(hù)數(shù)據(jù)只有兩個(gè)層級(jí):Database 和 Table。當(dāng)我們需要連接一個(gè)外部數(shù)據(jù)目錄時(shí),我們只能在Database 或 Table 層級(jí)進(jìn)行對(duì)接。比如通過(guò)?

    2024年02月11日
    瀏覽(25)
  • Apache Doris 數(shù)據(jù)導(dǎo)入:Insert Into語(yǔ)句;Binlog Load;Broker Load;HDFS Load;Spark Load;例行導(dǎo)入(Routine Load)

    Apache Doris 數(shù)據(jù)導(dǎo)入:Insert Into語(yǔ)句;Binlog Load;Broker Load;HDFS Load;Spark Load;例行導(dǎo)入(Routine Load)

    Doris 提供多種數(shù)據(jù)導(dǎo)入方案,可以針對(duì)不同的數(shù)據(jù)源進(jìn)行選擇不同的數(shù)據(jù)導(dǎo)入方式。Doris支持各種各樣的數(shù)據(jù)導(dǎo)入方式:Insert Into、json格式數(shù)據(jù)導(dǎo)入、Binlog Load、Broker Load、Routine Load、Spark Load、Stream Load、S3 Load,下面分別進(jìn)行介紹。 注意: Doris 中的所有導(dǎo)入操作都有原子性保

    2024年02月21日
    瀏覽(19)
  • Apache Doris 2.0 如何實(shí)現(xiàn)導(dǎo)入性能提升 2-8 倍

    Apache Doris 2.0 如何實(shí)現(xiàn)導(dǎo)入性能提升 2-8 倍

    數(shù)據(jù)導(dǎo)入吞吐是 OLAP 系統(tǒng)性能的重要衡量標(biāo)準(zhǔn)之一,高效的數(shù)據(jù)導(dǎo)入能力能夠加速數(shù)據(jù)實(shí)時(shí)處理和分析的效率。隨著 Apache Doris 用戶(hù)規(guī)模的不斷擴(kuò)大, 越來(lái)越多用戶(hù)對(duì)數(shù)據(jù)導(dǎo)入提出更高的要求,這也為 Apache Doris 的數(shù)據(jù)導(dǎo)入能力帶來(lái)了更大的挑戰(zhàn)。 為提供快速的數(shù)據(jù)寫(xiě)入支持

    2024年02月09日
    瀏覽(35)
  • Apache Doris 系列: 基礎(chǔ)篇-Flink SQL寫(xiě)入Doris

    本文介紹 Flink SQL如何流式寫(xiě)入 Apache Doris,分為一下幾個(gè)部分: Flink Doris connector Doris FE 節(jié)點(diǎn)配置 Flink SQL 寫(xiě) Doris Flink Doris connector 本質(zhì)是通過(guò)Stream Load來(lái)時(shí)實(shí)現(xiàn)數(shù)據(jù)的查詢(xún)和寫(xiě)入功能。 支持二階段提交,可實(shí)現(xiàn)Exatly Once的寫(xiě)入。 1)需在 apache-doris/fe/fe.conf 配置文件添加如下配置

    2023年04月08日
    瀏覽(24)
  • Apache Doris 快速入門(mén)

    Apache Doris 快速入門(mén)

    FE,F(xiàn)rontend,前端節(jié)點(diǎn),接收用戶(hù)查詢(xún)請(qǐng)求,SQL解析,執(zhí)行計(jì)劃生成,元數(shù)據(jù)管理,節(jié)點(diǎn)管理等 BE,Backend,后端節(jié)點(diǎn),數(shù)據(jù)存儲(chǔ),執(zhí)行查詢(xún)計(jì)劃。 前端節(jié)點(diǎn)FE 和 后端節(jié)點(diǎn)BE 各自獨(dú)立運(yùn)行,互不影響。 broker:用來(lái)和外部文件系統(tǒng)打交道 DORIS_HOME=/export/server/doris-1.2.4.1 node1:安裝

    2024年02月07日
    瀏覽(26)
  • 查詢(xún)平均提速 700%,奇安信基于 Apache Doris 升級(jí)日志安全分析系統(tǒng)

    查詢(xún)平均提速 700%,奇安信基于 Apache Doris 升級(jí)日志安全分析系統(tǒng)

    本文導(dǎo)讀 : 數(shù)智時(shí)代的到來(lái)使網(wǎng)絡(luò)安全成為了不可忽視的重要領(lǐng)域。奇安信作為一家領(lǐng)先的網(wǎng)絡(luò)安全解決方案領(lǐng)軍者,致力于為企業(yè)提供先進(jìn)全面的網(wǎng)絡(luò)安全保護(hù),其日志分析系統(tǒng)在網(wǎng)絡(luò)安全中發(fā)揮著關(guān)鍵作用,通過(guò)對(duì)運(yùn)行日志數(shù)據(jù)的深入分析,能夠?qū)β┒春彤惓P袨樯?/p>

    2024年02月06日
    瀏覽(24)
  • Apache Doris 入門(mén) 10 問(wèn)

    Apache Doris 入門(mén) 10 問(wèn)

    基于 Apache Doris 在讀寫(xiě)流程、副本一致性機(jī)制、 存儲(chǔ)機(jī)制、高可用機(jī)制等方面的常見(jiàn)疑問(wèn)點(diǎn)進(jìn)行梳理,并以問(wèn)答形式進(jìn)行解答。在開(kāi)始之前,我們先對(duì)本文相關(guān)的 名詞 進(jìn)行解釋?zhuān)?FE :Frontend,即 Doris 的前端節(jié)點(diǎn)。主要負(fù)責(zé)接收和返回客戶(hù)端請(qǐng)求、元數(shù)據(jù)以及集群管理、查詢(xún)

    2024年02月02日
    瀏覽(29)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包