亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

Doris文件入庫操作stream load

2023-05-16 00:59:10
139
0

參考官方文檔doris官方文檔streamload

基本原理?

下圖展示了 Stream load 的主要流程,省略了一些導入細節。

                         ^      +
                         |      |
                         |      | 1A. User submit load to FE
                         |      |
                         |   +--v-----------+
                         |   | FE           |
5. Return result to user |   +--+-----------+
                         |      |
                         |      | 2. Redirect to BE
                         |      |
                         |   +--v-----------+
                         +---+Coordinator BE| 1B. User submit load to BE
                             +-+-----+----+-+
                               |     |    |
                         +-----+     |    +-----+
                         |           |          | 3. Distrbute data
                         |           |          |
                       +-v-+       +-v-+      +-v-+
                       |BE |       |BE |      |BE |
                       +---+       +---+      +---+
 

Stream load 中,Doris 會選定一個節點作為 Coordinator 節點。該節點負責接數據并分發數據到其他數據節點。

用戶通過 HTTP 協議提交導入命令。如果提交到 FE,則 FE 會通過 HTTP redirect 指令將請求轉發給某一個 BE。用戶也可以直接提交導入命令給某一指定 BE。

導入的最終結果由 Coordinator BE 返回給用戶。

 

具體操作命令:

curl --location-trusted -u $user:$passwd -H"columns:a=a,b=b,c=c" -H"column_separator:," -T $file_name //$ip:$port/api/$DB/$Table/_stream_load
 
命令含義:
1、column_separator指文件分隔符
2、端口號
2.1 8030 指向 FE 的 HTTP 協議端口。這種方式,FE 會直接將請求做 307 轉發到隨機的一個 BE 節點。最終請求和數據直接和這個 BE 節點通訊。這種方式需要客戶端和 BE 節點的網絡能夠正常通訊。
2.2 8040 指向 BE 的 HTTP 協議端口。則請求直接和 BE 節點交互
3、label
自定義設置 -H "Label:XXXX" (label不區分大小寫),label: 一次導入的標簽,相同標簽的數據無法多次導入。用戶可以通過指定Label的方式來避免一份數據重復導入的問題。
-H 如果沒有指定,則系統會生成一個 UUID
4、streaming_load_max_mb
Stream load 的最大導入大小,默認為 10G ,如果用戶的原始文件超過這個值,則需要調整 BE 的參數
5、merge_type
一共支持三種類型APPEND、DELETE、MERGE 其中,APPEND是默認值,表示這批數據全部需要追加到現有數據中,DELETE 表示刪除與這批數據key相同的所有行,MERGE 語義 需要與delete 條件聯合使用,表示滿足delete 條件的數據按照DELETE 語義處理其余的按照APPEND 語義處理
-H "merge_type: [MERGE|APPEND|DELETE]" -H "delete: label_c3=1"。
默認是追加
6、測試target 與文件列數不一致
目標表只有3列,文件有n大于3列,需要加占位符,自定義寫全文件里面的字段
例: 表中有3個列“c1, c2, c3", 源文件中前三列依次對應,但是有多余2列;那么需要指定-H "columns: c1, c2, c3, x1,x2";最后2列隨意指定個名稱占位即可
7、format
文件格式要求,可以是orc,可以是parquet,json
加一個參數 -H "format:orc|parquet|json",不加默認是csv
 
總結:
stream load適合文件比較小的,本地文件,broker load 適合源數據在Broker進程可訪問的HDFS/對象存儲上大批量數據的導入
0條評論
0 / 1000
jie潔杰
4文章數
0粉絲數
jie潔杰
4 文章 | 0 粉絲
jie潔杰
4文章數
0粉絲數
jie潔杰
4 文章 | 0 粉絲
原創

Doris文件入庫操作stream load

2023-05-16 00:59:10
139
0

參考官方文檔doris官方文檔streamload

基本原理?

下圖展示了 Stream load 的主要流程,省略了一些導入細節。

                         ^      +
                         |      |
                         |      | 1A. User submit load to FE
                         |      |
                         |   +--v-----------+
                         |   | FE           |
5. Return result to user |   +--+-----------+
                         |      |
                         |      | 2. Redirect to BE
                         |      |
                         |   +--v-----------+
                         +---+Coordinator BE| 1B. User submit load to BE
                             +-+-----+----+-+
                               |     |    |
                         +-----+     |    +-----+
                         |           |          | 3. Distrbute data
                         |           |          |
                       +-v-+       +-v-+      +-v-+
                       |BE |       |BE |      |BE |
                       +---+       +---+      +---+
 

Stream load 中,Doris 會選定一個節點作為 Coordinator 節點。該節點負責接數據并分發數據到其他數據節點。

用戶通過 HTTP 協議提交導入命令。如果提交到 FE,則 FE 會通過 HTTP redirect 指令將請求轉發給某一個 BE。用戶也可以直接提交導入命令給某一指定 BE。

導入的最終結果由 Coordinator BE 返回給用戶。

 

具體操作命令:

curl --location-trusted -u $user:$passwd -H"columns:a=a,b=b,c=c" -H"column_separator:," -T $file_name //$ip:$port/api/$DB/$Table/_stream_load
 
命令含義:
1、column_separator指文件分隔符
2、端口號
2.1 8030 指向 FE 的 HTTP 協議端口。這種方式,FE 會直接將請求做 307 轉發到隨機的一個 BE 節點。最終請求和數據直接和這個 BE 節點通訊。這種方式需要客戶端和 BE 節點的網絡能夠正常通訊。
2.2 8040 指向 BE 的 HTTP 協議端口。則請求直接和 BE 節點交互
3、label
自定義設置 -H "Label:XXXX" (label不區分大小寫),label: 一次導入的標簽,相同標簽的數據無法多次導入。用戶可以通過指定Label的方式來避免一份數據重復導入的問題。
-H 如果沒有指定,則系統會生成一個 UUID
4、streaming_load_max_mb
Stream load 的最大導入大小,默認為 10G ,如果用戶的原始文件超過這個值,則需要調整 BE 的參數
5、merge_type
一共支持三種類型APPEND、DELETE、MERGE 其中,APPEND是默認值,表示這批數據全部需要追加到現有數據中,DELETE 表示刪除與這批數據key相同的所有行,MERGE 語義 需要與delete 條件聯合使用,表示滿足delete 條件的數據按照DELETE 語義處理其余的按照APPEND 語義處理
-H "merge_type: [MERGE|APPEND|DELETE]" -H "delete: label_c3=1"。
默認是追加
6、測試target 與文件列數不一致
目標表只有3列,文件有n大于3列,需要加占位符,自定義寫全文件里面的字段
例: 表中有3個列“c1, c2, c3", 源文件中前三列依次對應,但是有多余2列;那么需要指定-H "columns: c1, c2, c3, x1,x2";最后2列隨意指定個名稱占位即可
7、format
文件格式要求,可以是orc,可以是parquet,json
加一個參數 -H "format:orc|parquet|json",不加默認是csv
 
總結:
stream load適合文件比較小的,本地文件,broker load 適合源數據在Broker進程可訪問的HDFS/對象存儲上大批量數據的導入
文章來自個人專欄
文章 | 訂閱
0條評論
0 / 1000
請輸入你的評論
0
0