JDBC Vertica Source Connector 使用文檔

来源:https://www.cnblogs.com/DolphinScheduler/archive/2023/08/18/17639830.html
-Advertisement-
Play Games

![file](https://img2023.cnblogs.com/other/2685289/202308/2685289-20230818105027807-1763988259.jpg) ## 支持以下引擎 * Spark * Flink * SeaTunnel Zeta ## 關鍵特性 ...


file

支持以下引擎

  • Spark
  • Flink
  • SeaTunnel Zeta

關鍵特性

  • 批處理
  • 精確一次性處理
  • 列投影
  • 並行處理
  • 支持用戶自定義拆分
  • 支持查詢 SQL 並實現投影效果

描述

通過 JDBC 讀取外部數據源數據。

支持的數據源信息

Datasource Supported versions Driver Url Maven
Vertica Different dependency version has different driver class. com.vertica.jdbc.Driver jdbc:vertica://localhost:5433/vertica Download

資料庫依賴

請下載與 'Maven' 對應的支持列表,並將其複製到 '$SEATNUNNEL_HOME/plugins/jdbc/lib/' 工作目錄中

例如,Vertica 數據源:cp vertica-jdbc-xxx.jar $SEATNUNNEL_HOME/plugins/jdbc/lib/

數據類型映射

Vertical Data type SeaTunnel Data type
BIT BOOLEAN
TINYINT
TINYINT UNSIGNED
SMALLINT
SMALLINT UNSIGNED
MEDIUMINT
MEDIUMINT UNSIGNED
INT
INTEGER
YEAR
INT
INT UNSIGNED
INTEGER UNSIGNED
BIGINT
LONG
BIGINT UNSIGNED DECIMAL(20,0)
DECIMAL(x,y)(Get the designated column's specified column size.<38) DECIMAL(x,y)
DECIMAL(x,y)(Get the designated column's specified column size.>38) DECIMAL(38,18)
DECIMAL UNSIGNED DECIMAL((Get the designated column's specified column size)+1,
(Gets the designated column's number of digits to right of the decimal point.)))
FLOAT
FLOAT UNSIGNED
FLOAT
DOUBLE
DOUBLE UNSIGNED
DOUBLE
CHAR
VARCHAR
TINYTEXT
MEDIUMTEXT
TEXT
LONGTEXT
JSON
STRING
DATE DATE
TIME TIME
DATETIME
TIMESTAMP
TIMESTAMP
TINYBLOB
MEDIUMBLOB
BLOB
LONGBLOB
BINARY
VARBINAR
BIT(n)
BYTES
GEOMETRY
UNKNOWN
Not supported yet

源選項

Name Type Required Default Description
url String Yes - The URL of the JDBC connection. Refer to a case: jdbc:vertica://localhost:5433/vertica
driver String Yes - The jdbc class name used to connect to the remote data source,
if you use Vertica the value is com.vertica.jdbc.Driver.
user String No - Connection instance user name
password String No - Connection instance password
query String Yes - Query statement
connection_check_timeout_sec Int No 30 The time in seconds to wait for the database operation used to validate the connection to complete
partition_column String No - The column name for parallelism's partition, only support numeric type,Only support numeric type primary key, and only can config one column.
partition_lower_bound Long No - The partition_column min value for scan, if not set SeaTunnel will query database get min value.
partition_upper_bound Long No - The partition_column max value for scan, if not set SeaTunnel will query database get max value.
partition_num Int No job parallelism The number of partition count, only support positive integer. default value is job parallelism
fetch_size Int No 0 For queries that return a large number of objects,you can configure
the row fetch size used in the query toimprove performance by
reducing the number database hits required to satisfy the selection criteria.
Zero means use jdbc default value.
common-options No - Source plugin common parameters, please refer to Source Common Options for details
  • 提示

如果未設置 partition_column,則會在單一併發中運行;如果設置了 partition_column,則將根據任務的併發性進行並行執行。

任務示例

簡單示例:

此示例在單一併行中查詢您的測試“資料庫”中的 type_bin 'table' 16 個數據,並查詢其所有欄位。您還可以指定要查詢的欄位,以便將最終輸出顯示在控制臺上。

env {

您可以在此處設置 Flink 配置
execution.parallelism = 2
job.mode = "BATCH"
}
source{
Jdbc {
url = "jdbc:vertica://localhost:5433/vertica"
driver = "com.vertica.jdbc.Driver"
connection_check_timeout_sec = 100
user = "root"
password = "123456"
query = "select * from type_bin limit 16"
}
}

transform {
# 如果您想獲取有關如何配置 seatunnel 的更多信息,並查看完整的轉換插件列表,
# 請訪問 https://seatunnel.apache.org/docs/transform-v2/sql
}

sink {
Console {}
}

並行示例:

並行讀取您的查詢表,使用您配置的 shard 欄位和 shard 數據。如果要讀取整個表,可以這樣做。

source {
Jdbc {
url = "jdbc:vertica://localhost:5433/vertica"
driver = "com.vertica.jdbc.Driver"
connection_check_timeout_sec = 100
user = "root"
password = "123456"
# 根據需要定義查詢邏輯
query = "select * from type_bin"
# 並行分片讀取欄位
partition_column = "id"
# 片段數量
partition_num = 10
}
}

並行邊界示例:

根據查詢的上限和下限指定數據更加高效,根據您配置的上限和下限來讀取數據源更加高效
source {
Jdbc {
url = "jdbc:vertica://localhost:5433/vertica"
driver = "com.vertica.jdbc.Driver"
connection_check_timeout_sec = 100
user = "root"
password = "123456"
# 根據需要定義查詢邏輯
query = "select * from type_bin"
partition_column = "id"
# 讀取起始邊界
partition_lower_bound = 1
# 讀取結束邊界
partition_upper_bound = 500
partition_num = 10
}
}

本文由 白鯨開源 提供發佈支持!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • # Unity 編輯器資源導入處理函數 OnPreprocessTexture 用法 [![https://github.com/AlianBlank/download.unity.com](https://img2023.cnblogs.com/other/406187/202308/406187 ...
  • 他媽的!!!就因為這破事導致我浪費了兩天的時間!!! 都是基礎不扎實的鍋,導致我沒能第一時間想到問題的關鍵 好了,平復一下心情,快速的寫一篇博客來記錄這個叼問題 ## 解決方法 先把結論放在這裡:用`extern "C" {}`把中斷函數包起來 ```C++ // 就像這樣 extern "C" { ...
  • ansible 是用來自動化管理遠程操作系統的工具. ansible的三要素: `控制節點` , `被控節點`, `資產清單` ### 安裝 ansible 可以通過pip直接安裝 ```bash python3 -m pip install ansible --user ``` ### 快速入門 ...
  • 這裡的使用場景是在ubuntu x64上編譯arm程式,需要一個開發環境,而最省心的方式就是自己做一個arm環境的chroot鏡像,然後自由用apt-get安裝依賴,然後編譯程式。所以這裡就以製作arm鏡像為例。 在我們開始之前,我們需要瞭解一下ARM的幾種架構: armel(abi):這個是老架構 ...
  • ## Ansible的安裝及簡單使用 ## #### 一.Ubuntu安裝Ansible ```shell sudo apt update sudo apt install ansible #使用以下命令檢查安裝是否成功: ansible --version ``` ![image-20230817 ...
  • # 一、準備工作 ## 1、配置yum阿裡鏡像源 * 查看yum當前配置的倉庫,如果yum配置的不是阿裡雲源,請配置阿裡雲源。 ```shell yum repolist all ``` * 驗證是否能ping通阿裡雲 ```shell # 如果不能ping通可能是DNS沒有配置 ping mirr ...
  • 本文分享自華為雲社區《【手把手帶你玩轉HetuEngine】(三)HetuEngine資源規劃》,作者: HetuEngine九級代言 。 HetuEngine支持在服務層角色實例和計算實例兩個維度進行資源規劃,並且支持在高併發場景下通過啟動多個計算實例進行負載分擔和均衡,從而滿足各種業務場景下的資 ...
  • 本文主要介紹如何使用 CloudCanal 構建生產級穩定性的 Redis 雙向數據同步,具備版本相容全面、功能細節豐富自然等特點。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...