1.3 Dependency Downloader
Utility scripts are located in the {GGforDAA
install}/DependencyDownloader
directory to download client
dependency jars for the various supported Oracle GoldenGate for Distributed
Applications and Analytics (GG for DAA) integrations.
Topics:
Parent topic: Overview
1.3.1 Dependency Downloader Setup
The Dependency Downloader uses Bash scripts in order to invoke Maven and download dependencies. The Bash shell is not supported natively from the Windows Command Prompt. You can run the Dependency Downloader scripts on Windows, but it requires the installation of a Unix emulator. A Unix emulator provides a Unix style command line on Windows and supports various flavors of the Unix shells including Bash. An option for Unix emulators is Cygwin, which is available free of charge. After Cygwin is installed, the setup process is the same. Setup and running of the scripts should be done through the Cygwin64 Terminal. See https://www.cygwin.com/.
Parent topic: Dependency Downloader
1.3.2 Running the Dependency Downloader Scripts
Ensure that the version string exactly matches the version string of the dependency which is being downloaded. If a dependency version doesn't exist in the public Maven repository,then it is not possible to download the dependency and running the script results in an error. Most public Maven repositories support a web-based GUI whereby you can browse the supported versions of various dependencies. The exception is the Confluent Maven repository does not support a web-based GUI. This makes downloading dependencies challenging, because the version string is not independently verifiable through a web interface.
After the dependencies are successfully downloaded, you must configure
the gg.classpath
variable in the Java Adapter properties file to
include the dependencies for the corresponding replicat process.
Note:
Best Practices- Whenever possible, use the exact version of the client libraries to the server/application integration to which you are connecting.
- Prior to running the Dependency Downloader scripts, independently verify that the version string exists in the repository through the web GUI.
Parent topic: Dependency Downloader
1.3.3 Dependency Downloader Scripts
Table 1-1 Relevant Handlers/Capture
Client | Script | Description | Relevant Handlers/Capture | Versions Supported | Dependency Link |
---|---|---|---|---|---|
Amazon Web Services SDK |
aws.sh |
This script downloads the Amazon Web Services (AWS) SDK, which provides client libraries for connectivity to the AWS cloud. | Kinesis Handler
S3 Event Handler |
1.12.x | https://search.maven.org/artifact/com.amazonaws/aws-java-sdk |
Google BigQuery | bigquery.sh |
This script downloads the required client libraries for Google BigQuery. | BigQuery Handler | 2.x | https://search.maven.org/artifact/com.google.cloud/google-cloud-bigquery |
Cassandra DSE (Datastax Enterprise) Client | cassandra_dse.sh |
This script downloads the Cassandra DSE client. Cassandra DSE is the for-purchase version of Cassandra available from Datastax. | Cassandra Handler | 2.0.0 and higher | https://search.maven.org/artifact/com.datastax.dse/dse-java-driver-core |
Apache Cassandra Client | cassandra.sh |
This script downloads the Apache Cassandra client. | Cassandra Handler | 4.0.0 and higher | https://search.maven.org/artifact/com.datastax.oss/java-driver-core |
Cassandra Capture 3x Client | cassandra_capture_3x.sh |
This script downloads all the client libraries needed for Capture from Cassandra 3.x versions. | Cassandra Capture 3x | 3.3.1 (used by default) | https://mvnrepository.com/artifact/com.datastax.cassandra/cassandra-driver-core/3.3.1 |
Cassandra Capture 4x Client |
cassandra_capture_4x.sh |
This script downloads all the client libraries needed for Capture from Cassandra 4.x versions. | Cassandra Capture 4x | 4.14.1 (used by default) | https://mvnrepository.com/artifact/com.datastax.oss/java-driver-core/4.14.1 |
Cassandra Capture DSE Client | cassandra_capture_dse.sh
|
This script downloads all the client libraries needed for Capture from DSE Cassandra 6.x versions. | Cassandra Capture DSE | 4.14.1 (used by default) | https://mvnrepository.com/artifact/com.datastax.oss/java-driver-core/4.14.1 |
Elasticsearch Java Client | elasticsearch_java.sh |
This script downloads the Elasticsearch Java Client. | Elasticsearch Handler | 7.x and 8.x | https://search.maven.org/artifact/co.elastic.clients/elasticsearch-java |
Hadoop Azure Client from Cloudera | hadoop_azure_cloudera.sh |
This script downloads the Hadoop Azure client libraries provided by Cloudera. The Hadoop Azure client libraries cannot be loaded along with the Hadoop client because in Cloudera, the version numbers between the two components do not line up perfectly. |
|
3.x | https://repository.cloudera.com/service/rest/repository/browse/cloudera-repos/org/apache/hadoop/hadoop-azure/ |
Hadoop Client from Cloudera | hadoop_cloudera.sh |
This script downloads the Hadoop client libraries provided by Cloudera. |
|
3.x | https://repository.cloudera.com/service/rest/repository/browse/cloudera-repos/org/apache/hadoop/hadoop-client/ |
Hadoop Client from Hortonworks | hadoop_hortonworks.sh |
The Hadoop client including the libraries for connectivity to Azure Data Lake available from Hortonworks. |
|
3.x | https://repo.hortonworks.com/service/rest/repository/browse/public/org/apache/hadoop/hadoop-client/ |
Apache Hadoop Client Plus Required Libraries for Azure Connectivity | hadoop.sh |
The Hadoop client including the libraries for connectivity to Azure Data Lake. |
|
3.x | https://search.maven.org/artifact/org.apache.hadoop/hadoop-azure |
HBase Client Provided by Cloudera | hbase_cloudera.sh |
The HBase client libraries provided by Cloudera. | HBase Handler | 2.x | https://repository.cloudera.com/service/rest/repository/browse/cloudera-repos/org/apache/hbase/hbase-client/ |
HBase Client Provided by Hortonworks | hbase_hortonworks.sh |
The HBase client libraries provided by Hortonworks. | HBase Handler | 2.x | https://repo.hortonworks.com/service/rest/repository/browse/public/org/apache/hbase/hbase-client/ |
Apache HBase Client | hbase.sh |
The HBase client. |
HBase Handler | 2.x | https://search.maven.org/artifact/org.apache.hbase/hbase-client |
Apache Kafka Client plus Kafka Connect Framework and JSON Converter from Cloudera | kafka_cloudera.sh |
The Kafka Client plus libraries for the Kafka Connect framework and the Kafka Connect JSON Converter provided by Cloudera. |
|
0.9.x to current | https://repository.cloudera.com/service/rest/repository/browse/cloudera-repos/org/apache/kafka/kafka-clients/ |
Apache Kafka Client plus Kafka Connect Framework and JSON Converter from Hortonworks | kafka_hortonworks.sh |
The Kafka Client plus libraries for the Kafka Connect framework and the Kafka Connect JSON Converter provided by Hortonworks. |
|
0.9.x to current | https://repo.hortonworks.com/service/rest/repository/browse/public/org/apache/kafka/kafka-clients/ |
Apache Kafka Client plus Kafka Connect Framework and JSON Converter | kafka.sh |
The Kafka Client plus libraries for the Kafka Connect framework and the Kafka Connect JSON Converter. |
|
0.9.x to current | https://search.maven.org/artifact/org.apache.kafka/kafka-clients |
Confluent Kafka Client plus Kafka Connect Framework and JSON and Avro Converters | kafka_confluent.sh |
The Kafka Client plus libraries for the Kafka Connect framework and the Kafka Connect JSON Converter and the Kafka Connect Avro Converter available from Confluent. |
|
Confluent platform 4.1.0 and higher. | See https://packages.confluent.io/maven/io/confluent/kafka-connect-avro-converter/ |
MapR Kafka Client | kafka_mapr.sh |
The MapR Kafka Client libraries. | Kafka Handler | 0.x, 1.x, and 2.x | https://repository.mapr.com/nexus/content/groups/mapr-public/org/apache/kafka/kafka-clients/ |
Confluent Kafka Client plus Kafka Connect Framework and Protobuf Converter | kafka_confluent_protobuf.sh |
The Kafka Client plus libraries for the Kafka Connect framework and the Kafka Connect Protobuf converter available from Confluent. |
|
Confluent 5.x and higher | See https://packages.confluent.io/maven/io/confluent/kafka-connect-protobuf-converter/ |
MongoDB Client | mongodb.sh |
The MongoDB client libraries. | MongoDB Handler | 5.x | https://mvnrepository.com/artifact/org.mongodb/mongodb-driver-legacy |
Oracle NoSQL SDK Client | oracle_nosql_sdk.sh |
The Oracle NoSQL client libraries. | Oracle NoSQL Handler | 5.x | https://search.maven.org/artifact/com.oracle.nosql.sdk/nosqldriver |
Oracle OCI Client | oracle_oci.sh |
The Oracle OCI client libraries. | Oracle OCI Event Handler | 3.x | https://search.maven.org/artifact/com.oracle.oci.sdk/oci-java-sdk-objectstorage |
Apache ORC (Optimized Row Columnar) Client | orc.sh |
The Apache ORC client libraries. ORC is built on top of the Hadoop client so the ORC Event Handler needs the Hadoop client in order to run. The Hadoop client needs to be downloaded separately. | ORC Event Handler | 1.x | https://search.maven.org/artifact/org.apache.orc/orc-core |
Apache Parquet Client | parquet.sh |
The Apache Parquet client libraries. Parquet is built on top of the Hadoop client, so the Parquet Event Handler needs the Hadoop client in order to run. The Hadoop client needs to be downloaded separately. | Parquet Event Handler | 1.x | https://search.maven.org/artifact/org.apache.parquet/parquet-hadoop |
Apache Velocity | velocity.sh |
The Velocity libraries were removed from the Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA) installation starting from the 21.1 release. This script downloads the libraries required for formatting using Velocity. | Velocity Formatter | 1.x | https://search.maven.org/artifact/org.apache.velocity/velocity |
Google Cloud Storage Java SDK | gcs.sh |
This script downloads the required client libraries for Google Cloud Storage. | GCS Event Handler | 2.x | https://search.maven.org/artifact/com.google.cloud/google-cloud-storage |
MongoDB Capture | mongodb_capture.sh |
This script downloads the required client libraries for MongoDB capture. | MongoDB Capture | 5.x | https://search.maven.org/artifact/org.mongodb/mongodb-driver-reactivestreams |
Synapse JDBC Driver | synapse.sh |
This script downloads the Synapse JDBC driver. Additionally, the Hadoop client is also required to stage data to Azure Data Lake. | Synapse Stage and Merge | 12.6.1jre8 | https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc/12.6.1.jre8 |
Snowflake JDBC Driver | snowflake.sh |
This script downloads the Snowflake JDBC driver. Other client libraries are likely required for staging the data to AWS or Azure cloud. | Snowflake Stage and Merge | 3.15.1 | https://search.maven.org/artifact/net.snowflake/snowflake-jdbc/3.15.1/jar |
Jedis client for Redis | redis.sh |
This script downloads Jedis which is a Redis client. | Redis Handler | 4.x | https://search.maven.org/artifact/redis.clients/jedis |
Google Pub/Sub Client | googlepubsub.sh |
This script downloads the Java client for Google Pub/Sub Messaging. | Google Pub/Sub Handler | 1.x | https://search.maven.org/artifact/com.google.cloud/google-cloud-pubsub |
Databricks JDBC Driver | databricks.sh |
This script downloads the Databricks JDBC driver. | Databricks Stage and Merge | 2.6.36 | https://mvnrepository.com/artifact/com.databricks/databricks-jdbc/2.6.36 |
Azure Blob Storage Client | azure_blob_storage.sh |
This script downloads the Microsoft Azure Blob Storage Client. | Azure Blob Storage Event Handler Data Warehouse Stage and Merge implementations can use this as well to upload to Azure Data Lake. | 12.25.3 | https://search.maven.org/artifact/com.azure/azure-storage-blob |
Snowflake Streaming | snowflakestreaming.sh |
This script can be downloaded using the Dependency Downloader script. | NA | NA | The script can be found in following location
:<OGGDIR>/DependencyDownloader/snowflakestreaming.sh |
Parent topic: Dependency Downloader