|
17 | 17 | FTPSConnectionDTO, |
18 | 18 | HDFSConnectionDTO, |
19 | 19 | HiveConnectionDTO, |
| 20 | + IcebergRESTCatalogS3ConnectionDTO, |
20 | 21 | MSSQLConnectionDTO, |
21 | 22 | MySQLConnectionDTO, |
22 | 23 | OracleConnectionDTO, |
|
33 | 34 | FTPTransferDTO, |
34 | 35 | HDFSTransferDTO, |
35 | 36 | HiveTransferDTO, |
| 37 | + IcebergRESTCatalogS3TransferDTO, |
36 | 38 | MSSQLTransferDTO, |
37 | 39 | MySQLTransferDTO, |
38 | 40 | OracleTransferDTO, |
|
45 | 47 | from syncmaster.dto.transfers_resources import Resources |
46 | 48 | from syncmaster.dto.transfers_strategy import Strategy |
47 | 49 | from syncmaster.exceptions.connection import ConnectionTypeNotRecognizedError |
48 | | -from syncmaster.schemas.v1.connection_types import FILE_CONNECTION_TYPES |
| 50 | +from syncmaster.schemas.v1.connection_types import ( |
| 51 | + FILE_CONNECTION_TYPES, |
| 52 | + ICEBERG_REST_S3_CONNECTION_TYPE, |
| 53 | +) |
49 | 54 | from syncmaster.worker.handlers.base import Handler |
50 | 55 | from syncmaster.worker.handlers.db.clickhouse import ClickhouseHandler |
51 | 56 | from syncmaster.worker.handlers.db.hive import HiveHandler |
| 57 | +from syncmaster.worker.handlers.db.iceberg import IcebergRESTCatalogS3Handler |
52 | 58 | from syncmaster.worker.handlers.db.mssql import MSSQLHandler |
53 | 59 | from syncmaster.worker.handlers.db.mysql import MySQLHandler |
54 | 60 | from syncmaster.worker.handlers.db.oracle import OracleHandler |
|
72 | 78 | HiveTransferDTO, |
73 | 79 | RunDTO, |
74 | 80 | ), |
| 81 | + "iceberg_rest_s3": ( |
| 82 | + IcebergRESTCatalogS3Handler, |
| 83 | + IcebergRESTCatalogS3ConnectionDTO, |
| 84 | + IcebergRESTCatalogS3TransferDTO, |
| 85 | + RunDTO, |
| 86 | + ), |
75 | 87 | "oracle": ( |
76 | 88 | OracleHandler, |
77 | 89 | OracleConnectionDTO, |
@@ -269,6 +281,10 @@ def _perform_incremental_transfer(self) -> None: |
269 | 281 | def _get_transfer_hwm_name(self) -> str: |
270 | 282 | if self.source_handler.connection_dto.type in FILE_CONNECTION_TYPES: |
271 | 283 | hwm_name_suffix = self.source_handler.transfer_dto.directory_path |
| 284 | + elif self.source_handler.connection_dto.type == ICEBERG_REST_S3_CONNECTION_TYPE: |
| 285 | + hwm_name_suffix = ( |
| 286 | + f"{self.source_handler.transfer_dto.catalog_name}.{self.source_handler.transfer_dto.table_name}" |
| 287 | + ) |
272 | 288 | else: |
273 | 289 | hwm_name_suffix = self.source_handler.transfer_dto.table_name |
274 | 290 | hwm_name = "_".join( |
|
0 commit comments