Created by Vicky Avison on 27/04/18.
Created by Vicky Avison on 30/04/18.
Table configuration used for RDBM extraction
Waimak RDBM connection mechanism
A mechanism for generating Waimak actions to extract data from a SQL Server instance
Connection details for a SQL Server instance
Connection details for a SQL Server instance
the SQL Server instance
the port
the database name
the user name
the password
A mechanism for generating Waimak actions to extract data from a SQL Server instance where the Database Versioning doesn't allow for STRING_AGG Functionality to be used.
A mechanism for generating Waimak actions to extract data from a SQL Server instance where the Database Versioning doesn't allow for STRING_AGG Functionality to be used. Primarily this relates to pre SQL 2016 Databases or where STRING_AGG functionality is switched off. * /
A mechanism for generating Waimak actions to extract data from a SQL Server instance containing temporal tables Tables can be a mixture of temporal and non-temporal - both will be handled appropriately
Created by Vicky Avison on 12/04/18.
Created by Vicky Avison on 08/05/18.
Created by Vicky Avison on 04/04/18.
Table configuration used for RDBM extraction
The name of the table
Optionally, the primary key columns for this table (don't need if the implementation of RDBMExtractor is capable of getting this information itself)
Optionally, the last updated column for this table (don't need if the implementation of RDBMExtractor is capable of getting this information itself)
Optionally, the maximum number of rows to be read per Dataset partition for this table This number will be used to generate predicates to be passed to org.apache.spark.sql.SparkSession.read.jdbc If this is not set, the DataFrame will only have one partition. This could result in memory issues when extracting large tables. Be careful not to create too many partitions in parallel on a large cluster; otherwise Spark might crash your external database systems. You can also control the maximum number of jdbc connections to open by limiting the number of executors for your application.
Optionally specify whether to retain history for this table in the storage layer. Setting this to anything other than None will override the default behaviour which is: