Using SSL with dsbulk

To use SSL with DataStax Bulk Loader, first refer to the DSE Security docs to set up SSL. While the SSL options can be specified on the command line, using a configuration file is recommended.

Enclose the Java driver configuration options in the datastax-java-driver { … } block.

The datastax-java-driver prefix was introduced with the DataStax Bulk Loader 1.4.0 release, as a result of upgrading DataStax Bulk Loader to use the latest 2.x version of the DataStax Java driver. For related information, refer to Driver options.

dsbulk {
   connector.name = "csv"
   connector.csv.delimiter = "|"
   schema.keyspace = "myKeyspace"
   schema.table = "myTable"
   schema.mapping = "0=name, 1=age, 2=email"
}

datastax-java-driver {
  advanced {
    ssl-engine-factory {
      keystore-password = "cassandra"
      keystore-path = "/Users/myaccount/tmp/ssl/keystore.node0"
      class = DefaultSslEngineFactory
      truststore-password = "dse#r0cks!"
      truststore-path = "/Users/myaccount/tmp/ssl/truststore.node0"
    }
  }
}

Enclose passwords that contain special characters in quotes, as shown in this example:

truststore-password = "dse#r0cks!"

Optionally, you can create a separate configuration file such as driver.conf that contains all the datastax-java-driver properties. Then reference that separate file in your DataStax Bulk Loader configuration file, by using a statement such as:

include classpath("driver.conf")

On the command line, use the -fswitch to specify your config file.

Example:

dsbulk load -f my-application.conf -url file1.csv -k ks1 -t table1