參數 | 說明 | 資料類型 | 是否必填 | 預設值 | 備忘 |
connector | 結果表類型。 | String | 是 | 無 | 固定值為elasticsearch-6 、elasticsearch-7 或elasticsearch-8 。 說明 僅Realtime Compute引擎VVR 8.0.5及以上版本支援配置為elasticsearch-8 。 |
hosts | Server地址。 | String | 是 | 無 | 例如:127.0.0.1:XXXX 。 |
index | 索引名稱。 | String | 是 | 無 | Elasticsearch結果表同時支援靜態索引和動態索引。在使用靜態和動態索引時,您需要注意以下幾點: 如果使用靜態索引,則索引選項值應為純字串,例如myusers ,所有記錄都將被寫入myusers 索引。 如果使用動態索引,可以使用{field_name} 引用記錄中的欄位值以動態產生目標索引。您還可以使用{field_name|date_format_string} 將TIMESTAMP、DATE和TIME類型的欄位值轉換為date_format_string 指定的格式。date_format_string 與Java的DateTimeFormatter相容。例如,如果設定為myusers-{log_ts|yyyy-MM-dd} ,則log_ts欄位值為2020-03-27 12:25:55 的記錄將被寫入myusers-2020-03-27 索引。
|
document-type | 文件類型。 | String | elasticsearch-6:必填 elasticsearch-7:不支援
| 無 | 當連接器類型為elasticsearch-6 時,此處參數取值需要和Elasticsearch側的type參數取值保持一致。 |
username | 使用者名稱。 | String | 否 | 空 | 預設為空白,不進行許可權驗證。如果定義了username,則必須定義非空的password。 重要 為了避免您的使用者名稱和密碼資訊泄露,建議您使用變數的方式填寫,詳情請參見專案變數。 |
password | 密碼。 | String | 否 | 空 |
document-id.key-delimiter | 文檔ID的分隔字元。 | String | 否 | _ | 在Elasticsearch結果表中,主鍵用於計算Elasticsearch的文檔ID。Elasticsearch結果表通過使用document-id.key-delimiter指定的鍵分隔字元,按照DDL中定義的順序串連所有主鍵欄位,從而為每一行產生一個文檔ID字串。 |
failure-handler | Elasticsearch請求失敗時的故障處理策略。 | String | 否 | fail | 可選策略如下: |
sink.flush-on-checkpoint | 是否在checkpoint時執行flush。 | Boolean | 否 | true | |
sink.bulk-flush.backoff.strategy | 如果由於臨時請求錯誤導致flush操作失敗,則設定sink.bulk-flush.backoff.strategy指定重試策略。 | Enum | 否 | DISABLED | DISABLED(預設值):不執行重試,即第一次請求錯誤後失敗。 CONSTANT:常量回退,即每次回退等待時間相同。 EXPONENTIAL:指數回退,即每次回退等待時間指數遞增。
|
sink.bulk-flush.backoff.max-retries | 最大回退重試次數。 | Int | 否 | 無 | 無。 |
sink.bulk-flush.backoff.delay | 每次回退嘗試之間的延遲。 | Duration | 否 | 無 | |
sink.bulk-flush.max-actions | 每個批量請求的最大緩衝運算元。 | Int | 否 | 1000 | 0表示禁用該功能。 |
sink.bulk-flush.max-size | 存放請求的緩衝區記憶體最大值。 | String | 否 | 2 MB | 單位為MB,預設值為2 MB,0 MB表示禁用該功能。 |
sink.bulk-flush.interval | flush的間隔。 | Duration | 否 | 1s | 單位為秒,預設值為1s,0s表示禁用該功能。 |
connection.path-prefix | 要添加到每個REST通訊中的前置詞字元串。 | String | 否 | 空 | 無。 |
retry-on-conflict | 更新操作中,允許因版本衝突異常而重試的最大次數。超過該次數後將拋出異常導致作業失敗。 | Int | 否 | 0 | |
routing-fields | 指定一個或多個ES欄位名稱,用來將文檔路由到Elasticsearch的指定分區中。 | String | 否 | 無 | 多個欄位名以分號(;)進行分割。如果某個欄位資料為空白,則該欄位會被置為null。 說明 僅Realtime Compute引擎VVR 8.0.6及以上版本,且elasticsearch-7和elasticsearch-8支援該參數。 |
sink.delete-strategy | 用來配置收到回撤(-D/-U)類型訊息時的行為 | Enum | 否 | DELETE_ROW_ON_PK | 可選行為如下: DELETE_ROW_ON_PK(預設值):忽略-U類型的訊息,但是在收到-D類型的訊息時刪除主鍵對應的行(文檔)。 IGNORE_DELETE:忽略-U和-D 類型的訊息,Elasticsearch Sink不發生回撤。 NON_PK_FIELD_TO_NULL:忽略 -U類型的訊息,但是在收到-D類型的訊息時,會修改主鍵對應的行(文檔),主索引值保持不變,表 Schema中其他非主索引值均置為 NULL。主要用在多個Sink同時寫入同一張Elasticsearch表時部分更新的情境。 CHANGELOG_STANDARD:和 DELETE_ROW_ON_PK類似,唯一的區別是該模式收到-U類型的訊息時也會刪除主鍵對應的行(文檔)。 說明 僅Realtime Compute引擎VVR 8.0.8及以上版本支援該參數。
|