不,SeaTunnel 支援 Zeta、Spark 和 Flink 作為整合引擎的選項。您可以選擇其中之一。社群特別推薦使用專為整合場景打造的新一代高性能引擎Zeta。
社群為Zeta提供了最大的支持,功能也更加豐富。
SeaTunnel 支援多種資料來源和目的地。詳細名單可在官網找到:
目前支援 CDC 的有 MongoDB CDC、MySQL CDC、OpenGauss CDC、Oracle CDC、PostgreSQL CDC、SQL Server CDC、TiDB CDC 等,更多詳細資訊請參考原始碼文件。
是的,透過訂閱MySQL binlog並在同步伺服器上解析binlog來支援。
您需要相關資料庫和表格的 SELECT 權限。
GRANT SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'host' IDENTIFIED BY 'password'; FLUSH PRIVILEGES;
[mysqld] log-bin=/var/log/mysql/mysql-bin.log expire_logs_days = 7 binlog_format = ROW binlog_row_image=full
service mysql restart
使用SQL Server CDC作為資料來源需要在SQL Server中啟用MS-CDC功能。步驟如下:
EXEC xp_servicecontrol N'querystate', N'SQLServerAGENT'; -- If the result is "running," it means the agent is enabled. Otherwise, it needs to be started manually.
/opt/mssql/bin/mssql-conf setup The result that is returned is as follows: 1) Evaluation (free, no production use rights, 180-day limit) 2) Developer (free, no production use rights) 3) Express (free) 4) Web (PAID) 5) Standard (PAID) 6) Enterprise (PAID) 7) Enterprise Core (PAID) 8) I bought a license through a retail sales channel and have a product key to enter.
根據您的情況選擇合適的選項。
選擇選項 2(開發人員)以獲得包含代理程式的免費版本。透過運行啟用代理:
/opt/mssql/bin/mssql-conf set sqlagent.enabled true
如果使用 Windows,請啟用 SQL Server 代理程式(例如,對於 SQL Server 2008):
GRANT SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'host' IDENTIFIED BY 'password'; FLUSH PRIVILEGES;
[mysqld] log-bin=/var/log/mysql/mysql-bin.log expire_logs_days = 7 binlog_format = ROW binlog_row_image=full
service mysql restart
不,沒有主鍵的表不支援 CDC 同步。這是因為,如果上游有兩行相同的行,其中一行被刪除或修改,則無法區分下游應刪除或修改哪一行,從而可能導致兩行都受到影響。
當 PostgreSQL 中的複製槽已滿並需要釋放時,會出現此錯誤。修改 postgresql.conf 檔案增加 max_wal_senders 和 max_replication_slots,然後使用下列指令重新啟動 PostgreSQL 服務:
EXEC xp_servicecontrol N'querystate', N'SQLServerAGENT'; -- If the result is "running," it means the agent is enabled. Otherwise, it needs to be started manually.
設定範例:
/opt/mssql/bin/mssql-conf setup The result that is returned is as follows: 1) Evaluation (free, no production use rights, 180-day limit) 2) Developer (free, no production use rights) 3) Express (free) 4) Web (PAID) 5) Standard (PAID) 6) Enterprise (PAID) 7) Enterprise Core (PAID) 8) I bought a license through a retail sales channel and have a product key to enter.
如果您在使用 SeaTunnel 時遇到無法解決的問題,您可以:
您想知道如何在 SeaTunnel 配置中聲明變數並在運行時動態替換其值嗎?此功能通常在計劃和非計劃離線處理中用作時間和日期等變數的佔位符。操作方法如下:
在配置中宣告變數名稱。以下是一個 SQL 轉換的範例(事實上,任何 key = value 格式的值都可以使用變數來取代):
/opt/mssql/bin/mssql-conf set sqlagent.enabled true
要在 Zeta Local 模式下執行 SeaTunnel,請使用下列命令:
Open "SQL Server Configuration Manager" from the Start menu, navigate to "SQL Server Services," right-click the "SQL Server Agent" instance, and start it.
使用 -i 或 --variable 參數後面接著 key=value 來指定變數的值,確保 key 與配置中的變數名稱相符。更多詳情請參考:https://seatunnel.apache.org/docs/concept/config
要將長文本分成多行,請使用三個雙引號來指示開始和結束:
USE TestDB; -- Replace with your actual database name EXEC sys.sp_cdc_enable_db; -- Check if the database has CDC enabled SELECT name, is_cdc_enabled FROM sys.databases WHERE name = 'database'; -- Replace with the name of your database
多行文字中的變數替換很棘手,因為變數不能用三重雙引號括起來:
USE TestDB; -- Replace with your actual database name EXEC sys.sp_cdc_enable_table @source_schema = 'dbo', @source_name = 'table', -- Replace with the table name @role_name = NULL, @capture_instance = 'table'; -- Replace with a unique capture instance name -- Check if the table has CDC enabled SELECT name, is_tracked_by_cdc FROM sys.tables WHERE name = 'table'; -- Replace with the table name
請參閱問題以取得更多資訊:lightbend/config#456。
seatunnel-e2e log4j 設定檔位於 Seatunnel-e2e/seatunnel-e2e-common/src/test/resources/log4j2.properties。您可以直接在設定檔中修改日誌參數。
例如,要取得更詳細的E2E測試日誌,只需降級設定檔中的rootLogger.level即可。
SeaTunnel具有良好抽象和結構化的架構設計和程式碼實現,使其成為學習大數據架構的絕佳選擇。您可以從 SeaTunnel-examples 模組開始探索和偵錯原始程式碼:SeaTunnelEngineLocalExample.java。更多詳情請參考:https://seatunnel.apache.org/docs/contribution/setup
不需要,你只需要關注source、sink、transform相關的介面即可。如果您想使用 SeaTunnel 的 API(Connector V2)開發自己的連接器,請參閱連接器開發指南。
以上是克服 SeaTunnel 挑戰:您的首選解決方案揭曉的詳細內容。更多資訊請關注PHP中文網其他相關文章!