├── repo
└── com
│ └── amazonaws
│ └── redshiftjdbc41
│ ├── 1.1.13.1013
│ ├── .keep
│ └── redshiftjdbc41-1.1.13.1013.pom
│ └── maven-metadata-local.xml
├── .gitignore
├── src
└── main
│ ├── resources
│ └── kafka-connect-redshift-version.properties
│ └── java
│ └── io
│ └── tenjin
│ └── kafka
│ └── connect
│ └── redshift
│ ├── CopySerializer.java
│ ├── RedshiftSinkTaskConfig.java
│ ├── utils
│ └── Version.java
│ ├── RedshiftSinkConnector.java
│ ├── DefaultCopySerializer.java
│ ├── RedshiftSinkConnectorConfig.java
│ └── RedshiftSinkTask.java
├── README.md
├── pom.xml
└── LICENSE
/repo/com/amazonaws/redshiftjdbc41/1.1.13.1013/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .idea
2 | *.iml
3 | .DS_Store
4 | target
5 |
--------------------------------------------------------------------------------
/src/main/resources/kafka-connect-redshift-version.properties:
--------------------------------------------------------------------------------
1 | version=${project.version}
2 |
--------------------------------------------------------------------------------
/src/main/java/io/tenjin/kafka/connect/redshift/CopySerializer.java:
--------------------------------------------------------------------------------
1 | package io.tenjin.kafka.connect.redshift;
2 |
3 | import org.apache.kafka.connect.sink.SinkRecord;
4 |
5 | public interface CopySerializer {
6 | String serializeRecord(SinkRecord record);
7 | String copyOptions();
8 | }
9 |
--------------------------------------------------------------------------------
/repo/com/amazonaws/redshiftjdbc41/maven-metadata-local.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | com.amazonaws
4 | redshiftjdbc41
5 |
6 | 1.1.13.1013
7 |
8 | 1.1.13.1013
9 |
10 | 20160222181830
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/main/java/io/tenjin/kafka/connect/redshift/RedshiftSinkTaskConfig.java:
--------------------------------------------------------------------------------
1 | package io.tenjin.kafka.connect.redshift;
2 |
3 | import org.apache.kafka.common.config.ConfigDef;
4 |
5 | import java.util.Map;
6 |
7 | public class RedshiftSinkTaskConfig extends RedshiftSinkConnectorConfig {
8 |
9 | static ConfigDef config = baseConfigDef();
10 |
11 | public RedshiftSinkTaskConfig(Map props) {
12 | super(config, props);
13 | }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/repo/com/amazonaws/redshiftjdbc41/1.1.13.1013/redshiftjdbc41-1.1.13.1013.pom:
--------------------------------------------------------------------------------
1 |
2 |
4 | 4.0.0
5 | com.amazonaws
6 | redshiftjdbc41
7 | 1.1.13.1013
8 | POM was created from install:install-file
9 |
10 |
--------------------------------------------------------------------------------
/src/main/java/io/tenjin/kafka/connect/redshift/utils/Version.java:
--------------------------------------------------------------------------------
1 | package io.tenjin.kafka.connect.redshift.utils;
2 |
3 | import org.slf4j.Logger;
4 | import org.slf4j.LoggerFactory;
5 |
6 | import java.util.Properties;
7 |
8 | public class Version {
9 | private static final Logger log = LoggerFactory.getLogger(Version.class);
10 | private static String version = "unknown";
11 |
12 | static {
13 | try {
14 | Properties props = new Properties();
15 | props.load(Version.class.getResourceAsStream("/kafka-connect-redshift-version.properties"));
16 | version = props.getProperty("version", version).trim();
17 | } catch (Exception e) {
18 | log.warn("Error while loading version:", e);
19 | }
20 | }
21 |
22 | public static String getVersion() {
23 | return version;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/main/java/io/tenjin/kafka/connect/redshift/RedshiftSinkConnector.java:
--------------------------------------------------------------------------------
1 | package io.tenjin.kafka.connect.redshift;
2 |
3 | import io.tenjin.kafka.connect.redshift.utils.Version;
4 | import org.apache.kafka.connect.connector.Task;
5 | import org.apache.kafka.connect.sink.SinkConnector;
6 |
7 | import java.util.ArrayList;
8 | import java.util.HashMap;
9 | import java.util.List;
10 | import java.util.Map;
11 |
12 | public class RedshiftSinkConnector extends SinkConnector {
13 |
14 | private Map configProperties;
15 | private RedshiftSinkConnectorConfig config;
16 |
17 | @Override
18 | public void start(Map properties) {
19 | configProperties = properties;
20 | config = new RedshiftSinkConnectorConfig(configProperties);
21 | }
22 |
23 | @Override
24 | public List