Introduction
...
The suggestion is to create maven submodule netezza-plugin under database-plugins repo.
Sink Properties
User Facing Name | Type | Description | Constraints |
---|---|---|---|
Label | String | Label for UI | |
Reference Name | String | Uniquely identified name for lineage | |
Host | String | Netezza host | Required (defaults to localhost on UI) |
Port | Number | Specific port which Netezza is listening to | Optional (default 5480) |
Database | String | Database name to connect | Required |
Username | String | DB username | Required |
Password | Password | User password | Required |
Transaction Isolation Level | Select | Transaction isolation level for queries run by this sink | |
Connection Arguments | Keyvalue | A list of arbitrary string tag/value pairs as connection arguments, list of properties |
: | |||
Table Name | String | Name of a database table to write to |
Source Properties
User Facing Name | Type | Description | Constraints |
---|---|---|---|
Label | String | Label for UI | |
Reference Name | String | Uniquely identified name for lineage | |
Host | String | Netezza host | Required (defaults to localhost on UI) |
Port | Number | Specific port which Netezza is listening to | Optional (default 5480) |
Database | String | Database name to connect | Required |
Import Query | String | Query for import data | Valid SQL query |
Username | String | DB username | Required |
Password | String | User password | Required |
Bounding Query | String | Returns max and minof split-By Filed | Valid SQL query |
Split-By Field Name | String | Field name which will be used to generate splits | |
Number of Splits to Generate | Number | Number of splits to generate | |
Transaction Isolation Level | Select | Transaction isolation level for queries run by this sink | |
Connection Arguments | Keyvalue | A list of arbitrary string tag/value pairs as connection arguments, list of |
properties: Netezza connection properties |
Action Properties
User Facing Name | Type | Description | Constraints |
---|---|---|---|
Label | String | Label for UI | |
Host | String | Netezza host | Required (defaults to localhost on UI) |
Port | Number | Specific port which Netezza is listening to | Optional (default 5480) |
Database | String | Database name to connect | Required |
Username | String | DB username | Required |
Password | String | User password | Required |
Connection Arguments | Keyvalue | A list of arbitrary string tag/value pairs as connection arguments, list of |
properties: | |||
Database Command | String | Database command to run | Valid SQL query |
Data Types Mapping
Netezza Data Type | CDAP Schema Data Type | Support | Comment |
---|---|---|---|
BOOLEAN | Schema.Type.BOOLEAN | + | |
BYTEINT | Schema.Type.INT | + | |
CHAR | Schema.Type.STRING | + | |
DATE | Schema.LogicalType.DATE | + | |
NUMERIC/DECIMAL | Schema.LogicalType.DECIMAL | + | |
DOUBLE PRECISION/FLOAT(15) | Schema.Type.DOUBLE | + | |
FLOAT(N) | Schema.Type.FLOAT/Schema.Type.DOUBLE | + | Can be mapped to FLOAT or DOUBLE, depends on N |
INTEGER | Schema.Type.INT | + | |
SMALLINT | Schema.Type.INT | + | |
BIGINT | Schema.Type.LONG | + | |
NCHAR | Schema.Type.STRING | + | |
NVARCHAR | Schema.Type.STRING | + | |
REAL/FLOAT(6) | Schema.Type.FLOAT | + | |
TIME | Schema.LogicalType.TIME_MICROS | + | |
TIMETZ/TIME WITH TIME ZONE | Schema.Type.STRING | + | |
TIMESTAMP | Schema.LogicalType.TIMESTAMP_MICROS | + | |
VARCHAR | Schema.Type.STRING | + | |
INTERVAL | Schema.Type.STRING | + | |
VARBINARY | Schema.Type.BYTES | + | |
ST_GEOMETRY | Schema.Type.BYTES | + |
Approach
Create a module netezza-plugin in database-plugins project, reuse existing database-plugins code if possible. Add Netezza-specific properties to configuration, add support for Netezza-specific datatypes. Update UI widgets JSON definitions.
...