The output step is required in order to save your transformed data to a database table. To configure this step, you will need to configure a number of different settings in relation to the target database, target table, the type of update that is required, and the fields that will be mapped.
Warning: Extra caution should be taken when configuring the output database step so that any existing source data does not get accidentally overwritten. The output to database step has a variety of options such as dropping tables, truncating (deleting) data, adding new rows, and updating existing data. It is recommended that a test database is used when developing transformation flows. Further, the output data step is disabled by default when in edit mode (Run in Preview mode option). If you have any concerns about this, please first contact your system administrator. |
Table Creation Type | Description |
---|---|
Use Existing | With this selection, the data will be written into an existing table that you select. |
Create If Not Exists | If the specified table doesn’t exist in the database, then create a new one, but if it does (or once it has been created) save content into it. |
Drop Existing | Always delete the existing table and create a new one. Only use this option when you know that the old data does not need to be retained. |
Drop If Metadata Conflict | If there is a metadata conflict between the data in the flow and the table (such a conflict could refer to different number of fields/columns in the flow file than in the table or possibly a different data type), then delete the table and create a new one to store data; otherwise if the metadata matches without there being a conflict, use the existing table. Only use this option when you know that the old data does not need to be retained. |
For most users, it is expected that the Use Existing option will be used most often. The database administrator will create the tables that will be the target for the transformations, and assign the relevant security access. |
In rarer circumstances, the target tables may not exist in advance. In these cases Yellowfin can create the table for you, provided you have the right security access. The Create if Not Exists option will create the table if it does not exist. Typically this will only happen the first time a flow is run, after which the existing table will be used. The Drop Existing will always delete and re-create the table, thus deleting any data that may have been stored in that table - and should be used with caution. Similarly the Drop if Meta-Data Conflict will drop and re-create the table if there is a mismatch between the table structure and the data contained in the flow. This option is also destructive to data and should be used with caution. |
Update Type | Description |
---|---|
Insert | To append or add data to the end of the existing data. |
Truncate | To replace all the existing data with the new values. This should be used with caution as it will delete any existing data. |
Update | Update the value of fields in the database table where a matching row exists in the transformation flow. This option overwrites existing data and should be used with caution. |
Update & Insert | Update the value of fields in the database table where a matching row exists in the transformation flow. This option overwrites existing data and should be used with caution. If no matching row exists then insert a new row. |
Choose an update type to indicate how the table will be updated. Click here to understand all the options.
For Update and Update & Insert options, additional row matching is required. This is done by choosing Join for the identifier or matching field, and then Set to indicate which field to update. If no option is selected, the field will not be used in the join or be updated as part of the flow. |