@Override
    public String getMetadataKey(MetaField metaField) {
        String metadataKey;
        switch (metaField) {
            case TABLE_NAME:
                metadataKey = "meta.table_name";
                break;
            case DATABASE_NAME:
                metadataKey = "meta.database_name";
                break;
            case OP_TS:
                metadataKey = "meta.op_ts";
                break;
            case OP_TYPE:
                metadataKey = "meta.op_type";
                break;
            case DATA:
            case DATA_BYTES:
            case DATA_CANAL:
            case DATA_BYTES_CANAL:
                metadataKey = "meta.data_canal";
                break;
            case DATA_DEBEZIUM:
            case DATA_BYTES_DEBEZIUM:
                metadataKey = "meta.data_debezium";
                break;
            case IS_DDL:
                metadataKey = "meta.is_ddl";
                break;
            case TS:
            case AUDIT_DATA_TIME:
                metadataKey = "meta.ts";
                break;
            case SQL_TYPE:
                metadataKey = "meta.sql_type";
                break;
            case MYSQL_TYPE:
                metadataKey = "meta.mysql_type";
                break;
            case PK_NAMES:
                metadataKey = "meta.pk_names";
                break;
            case BATCH_ID:
                metadataKey = "meta.batch_id";
                break;
            case UPDATE_BEFORE:
                metadataKey = "meta.update_before";
                break;
            default:
                throw new UnsupportedOperationException(String.format("Unsupport meta field for %s: %s",
                        this.getClass().getSimpleName(), metaField));
        }
        return metadataKey;
    }
Base constructor

@param id The id of node
@param name The name of node
@param fields The field list of node
@param watermarkField The watermark field of node only used for {@link ExtractMode#CDC}
@param properties The properties connect to mysql
@param primaryKey The primark key connect to mysql
@param tableNames The table names connect to mysql
@param hostname The hostname connect to mysql only used for {@link ExtractMode#CDC}
@param username The username connect to mysql
@param password The password connect to mysql
@param database The database connect to mysql only used for {@link ExtractMode#CDC}
@param port The port connect to mysql only used for {@link ExtractMode#CDC}
@param serverId The server id connect to mysql only used for {@link ExtractMode#CDC}
@param incrementalSnapshotEnabled The incremental snapshot enabled connect to mysql
        only used for {@link ExtractMode#CDC}
@param serverTimeZone The server time zone connect to mysql only used for {@link ExtractMode#CDC}
@param extractMode The extract mode connect mysql {@link ExtractMode}
@param url The url connect to mysql only used for {@link ExtractMode#SCAN}
inlong-sort/sort-common/src/main/java/org/apache/inlong/sort/protocol/node/extract/MySqlExtractNode.java