Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space DEV and version r0821

D toc

Excerpt

You can create connections to SFTP servers to upload your datasets to the 

D s platform
rtrue

Linux- and Windows-based SFTP servers are supported. 

Jobs can be executed from SFTP sources on the following running environments:

  • D s photon
  • HDFS-based Spark, which includes Cloudera and Hortonworks
  • Spark on EMR
  • Azure Databricks

Limitations

  • Files and folders whose names begin with underscore (_) are not visible.
  • Ingest of over 500 files through SFTP at one time is not supported.
  • You cannot run jobs using Avro or Parquet sources uploaded via SFTP.
  • Binary file types, such as Excel or PDF, or files that require use of the conversion service cannot be imported via SFTP connections.

  • You cannot publish compressed Snappy files to SFTP destinations.

  • You cannot publish Hyper format to SFTP destinations.

Prerequisites

  • Acquire user credentials to access the SFTP server. You can use username/password credentials or SSH keys. See below.

  • Verify that the credentials can access the proper locations on the server where your data is stored. Initial directory of the user account must be accessible.

SSH Keys

If preferred, you can use SSH keys to for authentication to the SFTP server.

Info

NOTE: SSH keys must be private RSA keys. If you have OpenSSH keys, you can use the ssh-keygen utility to convert them to private RSA keys.


Whitelist SFTP server

If you are running jobs on EMR or Azure Databricks, you must add the SFTP server to the whitelist of IPs that are permitted to communicate with the cluster. For more information, please see the documentation that is provided with your software distribution. 

You must also add the SFTP server to the whiitelist of file storage systems. Details are below.


Enable

By default, this connection type is automatically enabled for use.

Info

NOTE: You must provide the protocol identifier and storage locations for the SMTP server. See below.

Configure file storage protocols and locations

The 

D s platform
 must be provided the list of protocols and locations for accessing SFTP. 

Steps:

  1. D s config
  2. Locate the following parameters and set their values according to the table below:

    Code Block
    "fileStorage.whitelist": ["sftp"],
    "fileStorage.defaultBaseUris": ["sftp:///"],
    ParameterDescription
    filestorage.whitelist

    A comma-separated list of protocols that are permitted to access SFTP.

    Info

    NOTE: The protocol identifier "sftp" must be included in this list.

    filestorage.defaultBaseUris

    For each supported protocol, this parameter must contain a top-level path to the location where

    D s platform
    files can be stored. These files include uploads, samples, and temporary storage used during job execution.

    Info

    NOTE: A separate base URI is required for each supported protocol. You may only have one base URI for each protocol.

    Info

    NOTE: For SFTP, three slashes at the end are required, as the third one is the end of the path value. This value is used as the base URI for all SFTP connections created in

    D s product
    .

    Example:

    Code Block
    sftp:////

    The above example is the most common example, as it is used as the base URI for all SFTP connections that you create. If you add a server value to the above URI, you limit all SFTP connections that you create to that specified server.

  3. Save your changes and restart the platform.

Enforce authentication methods

By default, the 

D s webapp
 enables use of two different authentication mechanisms:

  • Basic - use a password to access the SFTP server
  • SSHKey - use a public SSHKey and password to access the SFTP server

Along with basic and SSH key, the SFTP servers in your environment may be configured with other authentication methods, and those methods sometimes take precedence. As a result, when using default authentication methods, SFTP connections from the 

D s platform
 can fail to connect to the SFTP server.

To eliminate these issues, you can configure the 

D s webapp
 to enforce usage of one of the following authentication schemes. These schemes are passed to the SFTP server during connection time, which forces the server to use the appropriate method of authentication. When the following parameter is specified, SFTP connections can be configured using the listed methods and should work for connecting to the server. 

Info

NOTE: Enforcement applies to connections created via the APIs as well. After configuration, please be sure to use one of the enforced authentication methods when configuring your SFTP connections through the application or the APIs.

Steps:

  1. D s config
    methodt
  2. Locate the following parameter in the configuration file:

    Code Block
    "batchserver.workers.filewriter.hadoopConfig.sftp.PreferredAuthentications"
  3. Set the parameter value according to the following:

    Preferred authentication methodParameter valueDescription
    Basic"password"

    Basic password authentication method is used to connect to the SFTP server.

    Info

    NOTE: You must configure your SFTP server connection in the platform to use the Basic method.

    SSHKey"publickey"

    SSH Key authentication method is used.

    Info

    NOTE: You must configure your SFTP server connection in the platform to use the SSHKey method.

    both"publickey,password"Both methods of authentication are supported.
  4. Save your changes and restart the platform.

Java VFS service

Use of SFTP connections requires the Java VFS service in the 

D s platform
.

Info

NOTE: This service is enabled by default.

For more information on configuring this service, see Configure Java VFS Service.

Create Connection

Create through application

Any user can create a SFTP connection through the application.

Info

NOTE: Only an administrator can make a connection available for all users.

Steps:

  1. Login to the application.
  2. In the left nav bar, select the Connections icon. See Connections Page.
  3. In the Connections page, click Create Connection. See Create Connection Window.
  4. In the Create Connection window, click the SFTP connection card.
  5. Specify the properties for your SFTP server.

    PropertyDescription
    Host

    The hostname of the FTP server to which you are connecting. Do not include any protocol identifier (sftp://).

    PortThe port number to use to connect to the server. Default port number is 22.
    Credential Type

    Select one of the following:

    basic - authenticate via username and password

    SSH Key - authenticate via username and SSH key

    User NameThe username to use to connect.
    Password(Basic credential type) The password associated with the username.
    SSH Key(SSH Key credential type) The SSH key that applies to the username.
    Test ConnectionClick this button to test the connection that you have specified.
    Default DirectoryAbsolute path on the SFTP server where users of the connection can begin browsing.
    Block Size (Bytes)

    Fetch size in bytes for each read from the SFTP server.

    Info

    NOTE: Raising this value may increase speed of read operations. However, if it is raised too high, resources can become overwhelmed, and the read can fail.

    Connection NameThe name of the connection as you want it to appear in the application.
    DescriptionThis description is displayed in the application.

    For more information, see Create Connection Window.

  6. Click Save

Create through APIs

  1. Acquire the vendor and type information. See Connection Types.
  2. Create the connection through the APIs. See

    D s api refdoclink
    operation/createConnection