书接上回,数据同步核心流程1,同步aav库表
java
<?xml version="1.0" encoding="UTF-8"?>
<transformation>
<info>
<name>sync_aav</name>
<description />
<extended_description />
<trans_version />
<trans_type>Normal</trans_type>
<trans_status>0</trans_status>
<directory>/</directory>
<parameters>
</parameters>
<log>
<trans-log-table>
<connection />
<schema />
<table />
<size_limit_lines />
<interval />
<timeout_days />
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STATUS</id>
<enabled>Y</enabled>
<name>STATUS</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
<subject />
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
<subject />
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
<subject />
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
<subject />
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
<subject />
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
<subject />
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>STARTDATE</id>
<enabled>Y</enabled>
<name>STARTDATE</name>
</field>
<field>
<id>ENDDATE</id>
<enabled>Y</enabled>
<name>ENDDATE</name>
</field>
<field>
<id>LOGDATE</id>
<enabled>Y</enabled>
<name>LOGDATE</name>
</field>
<field>
<id>DEPDATE</id>
<enabled>Y</enabled>
<name>DEPDATE</name>
</field>
<field>
<id>REPLAYDATE</id>
<enabled>Y</enabled>
<name>REPLAYDATE</name>
</field>
<field>
<id>LOG_FIELD</id>
<enabled>Y</enabled>
<name>LOG_FIELD</name>
</field>
<field>
<id>EXECUTING_SERVER</id>
<enabled>N</enabled>
<name>EXECUTING_SERVER</name>
</field>
<field>
<id>EXECUTING_USER</id>
<enabled>N</enabled>
<name>EXECUTING_USER</name>
</field>
<field>
<id>CLIENT</id>
<enabled>N</enabled>
<name>CLIENT</name>
</field>
</trans-log-table>
<perf-log-table>
<connection />
<schema />
<table />
<interval />
<timeout_days />
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>SEQ_NR</id>
<enabled>Y</enabled>
<name>SEQ_NR</name>
</field>
<field>
<id>LOGDATE</id>
<enabled>Y</enabled>
<name>LOGDATE</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STEPNAME</id>
<enabled>Y</enabled>
<name>STEPNAME</name>
</field>
<field>
<id>STEP_COPY</id>
<enabled>Y</enabled>
<name>STEP_COPY</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>INPUT_BUFFER_ROWS</id>
<enabled>Y</enabled>
<name>INPUT_BUFFER_ROWS</name>
</field>
<field>
<id>OUTPUT_BUFFER_ROWS</id>
<enabled>Y</enabled>
<name>OUTPUT_BUFFER_ROWS</name>
</field>
</perf-log-table>
<channel-log-table>
<connection />
<schema />
<table />
<timeout_days />
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>LOGGING_OBJECT_TYPE</id>
<enabled>Y</enabled>
<name>LOGGING_OBJECT_TYPE</name>
</field>
<field>
<id>OBJECT_NAME</id>
<enabled>Y</enabled>
<name>OBJECT_NAME</name>
</field>
<field>
<id>OBJECT_COPY</id>
<enabled>Y</enabled>
<name>OBJECT_COPY</name>
</field>
<field>
<id>REPOSITORY_DIRECTORY</id>
<enabled>Y</enabled>
<name>REPOSITORY_DIRECTORY</name>
</field>
<field>
<id>FILENAME</id>
<enabled>Y</enabled>
<name>FILENAME</name>
</field>
<field>
<id>OBJECT_ID</id>
<enabled>Y</enabled>
<name>OBJECT_ID</name>
</field>
<field>
<id>OBJECT_REVISION</id>
<enabled>Y</enabled>
<name>OBJECT_REVISION</name>
</field>
<field>
<id>PARENT_CHANNEL_ID</id>
<enabled>Y</enabled>
<name>PARENT_CHANNEL_ID</name>
</field>
<field>
<id>ROOT_CHANNEL_ID</id>
<enabled>Y</enabled>
<name>ROOT_CHANNEL_ID</name>
</field>
</channel-log-table>
<step-log-table>
<connection />
<schema />
<table />
<timeout_days />
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STEPNAME</id>
<enabled>Y</enabled>
<name>STEPNAME</name>
</field>
<field>
<id>STEP_COPY</id>
<enabled>Y</enabled>
<name>STEP_COPY</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>LOG_FIELD</id>
<enabled>N</enabled>
<name>LOG_FIELD</name>
</field>
</step-log-table>
<metrics-log-table>
<connection />
<schema />
<table />
<timeout_days />
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>METRICS_DATE</id>
<enabled>Y</enabled>
<name>METRICS_DATE</name>
</field>
<field>
<id>METRICS_CODE</id>
<enabled>Y</enabled>
<name>METRICS_CODE</name>
</field>
<field>
<id>METRICS_DESCRIPTION</id>
<enabled>Y</enabled>
<name>METRICS_DESCRIPTION</name>
</field>
<field>
<id>METRICS_SUBJECT</id>
<enabled>Y</enabled>
<name>METRICS_SUBJECT</name>
</field>
<field>
<id>METRICS_TYPE</id>
<enabled>Y</enabled>
<name>METRICS_TYPE</name>
</field>
<field>
<id>METRICS_VALUE</id>
<enabled>Y</enabled>
<name>METRICS_VALUE</name>
</field>
</metrics-log-table>
</log>
<maxdate>
<connection />
<table />
<field />
<offset>0.0</offset>
<maxdiff>0.0</maxdiff>
</maxdate>
<size_rowset>10000</size_rowset>
<sleep_time_empty>50</sleep_time_empty>
<sleep_time_full>50</sleep_time_full>
<unique_connections>N</unique_connections>
<feedback_shown>Y</feedback_shown>
<feedback_size>50000</feedback_size>
<using_thread_priorities>Y</using_thread_priorities>
<shared_objects_file />
<capture_step_performance>N</capture_step_performance>
<step_performance_capturing_delay>1000</step_performance_capturing_delay>
<step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
<dependencies>
</dependencies>
<partitionschemas>
</partitionschemas>
<slaveservers>
</slaveservers>
<clusterschemas>
</clusterschemas>
<created_user>-</created_user>
<created_date>2024/06/04 16:42:12.956</created_date>
<modified_user>-</modified_user>
<modified_date>2024/06/04 16:42:12.956</modified_date>
<key_for_session_key />
<is_key_private>N</is_key_private>
</info>
<notepads>
</notepads>
<connection>
<name>local_aav</name>
<server>${local_ip}</server>
<type>MYSQL</type>
<access>Native</access>
<database>${schemeName_aav}</database>
<port>3306</port>
<username>${local_user}</username>
<password>${password}</password>
<servername />
<data_tablespace />
<index_tablespace />
<attributes>
<attribute>
<code>FORCE_IDENTIFIERS_TO_LOWERCASE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>FORCE_IDENTIFIERS_TO_UPPERCASE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>IS_CLUSTERED</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>PORT_NUMBER</code>
<attribute>3306</attribute>
</attribute>
<attribute>
<code>PRESERVE_RESERVED_WORD_CASE</code>
<attribute>Y</attribute>
</attribute>
<attribute>
<code>QUOTE_ALL_FIELDS</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>STREAM_RESULTS</code>
<attribute>Y</attribute>
</attribute>
<attribute>
<code>SUPPORTS_BOOLEAN_DATA_TYPE</code>
<attribute>Y</attribute>
</attribute>
<attribute>
<code>SUPPORTS_TIMESTAMP_DATA_TYPE</code>
<attribute>Y</attribute>
</attribute>
<attribute>
<code>USE_POOLING</code>
<attribute>N</attribute>
</attribute>
</attributes>
</connection>
<connection>
<name>local_aav1</name>
<server>${local_ip}</server>
<type>MYSQL</type>
<access>Native</access>
<database>${schemeName_aav1}</database>
<port>3306</port>
<username>${local_user}</username>
<password>${password}</password>
<servername />
<data_tablespace />
<index_tablespace />
<attributes>
<attribute>
<code>FORCE_IDENTIFIERS_TO_LOWERCASE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>FORCE_IDENTIFIERS_TO_UPPERCASE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>IS_CLUSTERED</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>PORT_NUMBER</code>
<attribute>3306</attribute>
</attribute>
<attribute>
<code>PRESERVE_RESERVED_WORD_CASE</code>
<attribute>Y</attribute>
</attribute>
<attribute>
<code>QUOTE_ALL_FIELDS</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>STREAM_RESULTS</code>
<attribute>Y</attribute>
</attribute>
<attribute>
<code>SUPPORTS_BOOLEAN_DATA_TYPE</code>
<attribute>Y</attribute>
</attribute>
<attribute>
<code>SUPPORTS_TIMESTAMP_DATA_TYPE</code>
<attribute>Y</attribute>
</attribute>
<attribute>
<code>USE_POOLING</code>
<attribute>N</attribute>
</attribute>
</attributes>
</connection>
<order>
<hop>
<from>删除所有aav表数据</from>
<to>查询sp_cfg</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>删除所有aav表数据</from>
<to>查询sp_image</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>删除所有aav表数据</from>
<to>查询sp_vedio</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>删除所有aav表数据</from>
<to>查询sys_user</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>查询sp_cfg</from>
<to>插入 / 更新 sp_cfg</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>查询sp_image</from>
<to>插入 / 更新 sp_image</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>查询sp_vedio</from>
<to>插入 / 更新sp_vedio</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>查询sys_user</from>
<to>插入 / 更新 sys_user</to>
<enabled>Y</enabled>
</hop>
</order>
<step>
<name>删除所有aav表数据</name>
<type>ExecSQL</type>
<description />
<distribute>Y</distribute>
<custom_distribution />
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name />
</partitioning>
<connection>local_aav1</connection>
<execute_each_row>Y</execute_each_row>
<single_statement>N</single_statement>
<replace_variables>N</replace_variables>
<quoteString>N</quoteString>
<sql>DELETE FROM sp_cfg;
DELETE FROM sp_image;
DELETE FROM sp_vedio;
DELETE FROM sys_user;</sql>
<set_params>N</set_params>
<insert_field />
<update_field />
<delete_field />
<read_field />
<arguments>
</arguments>
<cluster_schema />
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>192</xloc>
<yloc>256</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>查询sp_cfg</name>
<type>TableInput</type>
<description />
<distribute>Y</distribute>
<custom_distribution />
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name />
</partitioning>
<connection>local_aav</connection>
<sql>SELECT * FROM sp_cfg;</sql>
<limit>0</limit>
<lookup />
<execute_each_row>N</execute_each_row>
<variables_active>N</variables_active>
<lazy_conversion_active>N</lazy_conversion_active>
<cluster_schema />
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>384</xloc>
<yloc>128</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>查询sp_image</name>
<type>TableInput</type>
<description />
<distribute>Y</distribute>
<custom_distribution />
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name />
</partitioning>
<connection>local_aav</connection>
<sql>SELECT * FROM sp_image;</sql>
<limit>0</limit>
<lookup />
<execute_each_row>N</execute_each_row>
<variables_active>N</variables_active>
<lazy_conversion_active>N</lazy_conversion_active>
<cluster_schema />
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>384</xloc>
<yloc>208</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>查询sp_vedio</name>
<type>TableInput</type>
<description />
<distribute>Y</distribute>
<custom_distribution />
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name />
</partitioning>
<connection>local_aav</connection>
<sql>SELECT * FROM sp_vedio;</sql>
<limit>0</limit>
<lookup />
<execute_each_row>N</execute_each_row>
<variables_active>N</variables_active>
<lazy_conversion_active>N</lazy_conversion_active>
<cluster_schema />
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>384</xloc>
<yloc>288</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>查询sys_user</name>
<type>TableInput</type>
<description />
<distribute>Y</distribute>
<custom_distribution />
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name />
</partitioning>
<connection>local_aav</connection>
<sql>SELECT * FROM sys_user;</sql>
<limit>0</limit>
<lookup />
<execute_each_row>N</execute_each_row>
<variables_active>N</variables_active>
<lazy_conversion_active>N</lazy_conversion_active>
<cluster_schema />
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>384</xloc>
<yloc>368</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>插入 / 更新 sp_cfg</name>
<type>InsertUpdate</type>
<description />
<distribute>Y</distribute>
<custom_distribution />
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name />
</partitioning>
<connection>local_aav1</connection>
<commit>100</commit>
<update_bypassed>N</update_bypassed>
<lookup>
<schema />
<table>sp_cfg</table>
<key>
<name>id</name>
<field>id</field>
<condition>=</condition>
<name2 />
</key>
<value>
<name>id</name>
<rename>id</rename>
<update>Y</update>
</value>
<value>
<name>cfg_name</name>
<rename>cfg_name</rename>
<update>Y</update>
</value>
<value>
<name>cfg_value</name>
<rename>cfg_value</rename>
<update>Y</update>
</value>
<value>
<name>remarks</name>
<rename>remarks</rename>
<update>Y</update>
</value>
</lookup>
<cluster_schema />
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>560</xloc>
<yloc>128</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>插入 / 更新 sp_image</name>
<type>InsertUpdate</type>
<description />
<distribute>Y</distribute>
<custom_distribution />
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name />
</partitioning>
<connection>local_aav1</connection>
<commit>100</commit>
<update_bypassed>N</update_bypassed>
<lookup>
<schema />
<table>sp_image</table>
<key>
<name>id</name>
<field>id</field>
<condition>=</condition>
<name2 />
</key>
<value>
<name>id</name>
<rename>id</rename>
<update>Y</update>
</value>
<value>
<name>url</name>
<rename>url</rename>
<update>Y</update>
</value>
<value>
<name>type</name>
<rename>type</rename>
<update>Y</update>
</value>
<value>
<name>create_time</name>
<rename>create_time</rename>
<update>Y</update>
</value>
<value>
<name>create_by</name>
<rename>create_by</rename>
<update>Y</update>
</value>
<value>
<name>update_by</name>
<rename>update_by</rename>
<update>Y</update>
</value>
<value>
<name>update_time</name>
<rename>update_time</rename>
<update>Y</update>
</value>
<value>
<name>description</name>
<rename>description</rename>
<update>Y</update>
</value>
<value>
<name>status</name>
<rename>status</rename>
<update>Y</update>
</value>
</lookup>
<cluster_schema />
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>560</xloc>
<yloc>208</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>插入 / 更新sp_vedio</name>
<type>InsertUpdate</type>
<description />
<distribute>Y</distribute>
<custom_distribution />
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name />
</partitioning>
<connection>local_aav1</connection>
<commit>100</commit>
<update_bypassed>N</update_bypassed>
<lookup>
<schema />
<table>sp_vedio</table>
<key>
<name>id</name>
<field>id</field>
<condition>=</condition>
<name2 />
</key>
<value>
<name>id</name>
<rename>id</rename>
<update>Y</update>
</value>
<value>
<name>url</name>
<rename>url</rename>
<update>Y</update>
</value>
<value>
<name>type</name>
<rename>type</rename>
<update>Y</update>
</value>
<value>
<name>status</name>
<rename>status</rename>
<update>Y</update>
</value>
<value>
<name>create_by</name>
<rename>create_by</rename>
<update>Y</update>
</value>
<value>
<name>create_time</name>
<rename>create_time</rename>
<update>Y</update>
</value>
<value>
<name>update_by</name>
<rename>update_by</rename>
<update>Y</update>
</value>
<value>
<name>update_time</name>
<rename>update_time</rename>
<update>Y</update>
</value>
<value>
<name>img_path</name>
<rename>img_path</rename>
<update>Y</update>
</value>
<value>
<name>title</name>
<rename>title</rename>
<update>Y</update>
</value>
</lookup>
<cluster_schema />
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>560</xloc>
<yloc>288</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>插入 / 更新 sys_user</name>
<type>InsertUpdate</type>
<description />
<distribute>Y</distribute>
<custom_distribution />
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name />
</partitioning>
<connection>local_aav1</connection>
<commit>100</commit>
<update_bypassed>N</update_bypassed>
<lookup>
<schema />
<table>sys_user</table>
<key>
<name>id</name>
<field>id</field>
<condition>=</condition>
<name2 />
</key>
<value>
<name>id</name>
<rename>id</rename>
<update>Y</update>
</value>
<value>
<name>name</name>
<rename>name</rename>
<update>Y</update>
</value>
<value>
<name>phone</name>
<rename>phone</rename>
<update>Y</update>
</value>
<value>
<name>password</name>
<rename>password</rename>
<update>Y</update>
</value>
</lookup>
<cluster_schema />
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>560</xloc>
<yloc>368</yloc>
<draw>Y</draw>
</GUI>
</step>
<step_error_handling>
</step_error_handling>
<slave-step-copy-partition-distribution>
</slave-step-copy-partition-distribution>
<slave_transformation>N</slave_transformation>
</transformation>