On-demand Spark clusters are not intended as a permanent store of any data or collocating a big data layer such as HDFS. Any data that is not stored externally from the cluster is lost upon termination.
Use Domino Datasets
When you create a Spark cluster attached to a Domino workspace or job, any Domino dataset accessible from the workspace or job is also accessible from all components of the cluster under the same dataset mount path. Data can be accessed using the following path prefix:Use S3
To enable working with data in Amazon S3 (or S3 compatible object store) you must ensure that your base Spark cluster environment and compatible PySpark compute environment are configured with the Hadoop-AWS module. The environments created when configuring prerequisites at a minimum include Hadoop 2.7.3 client libraries, which are sufficient for basic access. A number of additional commonly used features (for example, temporary credentials, SSE-KMS encryption, more efficient committers, etc.) are only available in more recent Hadoop-AWS module versions. Consult the documentation for the relevant version to determine what may be the best fit for you.- Hadoop-AWS Module 2.7.3
- Hadoop-AWS Module 2.8.5
- Hadoop-AWS Module 2.9.2
- Hadoop-AWS Module 3.1.3
- Hadoop-AWS Module 3.2.1
S3 usage examples
Now that you have your environments properly setup, you can interact with S3. The following are several common access patterns. Access bucket with AWS credentials in environment variablesRequires Hadoop-AWS 2.9.2+
Requires Hadoop-AWS 2.9.2+It is important that no AWS credential variables are set in your user profile or project.
Using Azure Data Lake Storage Gen2
To enable working with data in Azure Data Lake Storage (ADLS) Gen2 you need to configure your base Spark environment and your compute environment with the Hadoop-Azure ABFS connector. The ABFS connector requires Hadoop 3.2+. To accomplish this, setSPARK_VERSION=3.0.0 and HADOOP_VERSION=3.2.1 when following the advanced instructions for base Spark cluster environment and compatible PySpark compute environment.
You must also enable the
ENV HADOOP_OPTIONAL_TOOLS=hadoop-azure directive in your environments.Access AWS resources from a Spark cluster
This feature requires Hadoop 2.9.2 or higher. If you’re using an earlier version of Hadoop, you’ll need to configure your base Spark environment or your PySpark environment to use Hadoop 2.9.2+.
- Go to Settings in your Domino project.
- Click the Integrations tab.
- In the Apache Spark mode section, select Domino managed on-demand cluster.
-
In the Spark Configuration Options text area, add the keys and values specified below. Ensure one whitespace between the key and the value.
-
Go to your Domino account settings and click User Environment Variables. Under Set user environment variable, set Name to
AWS_PROFILEand set Value to the name of the profile you’d like to use (name-of-profile-to-usein the previous step). Click Set Variable.
Kerberos keytab propagation
When Kerberos authentication is enabled either in user settings or in project settings, the uploaded keytab is automatically distributed to all cluster containers at a well-known location. By default, the keytab is available at:/etc/security/keytabs/keytab
Alternatively, a Domino administrator can change the path where the keytab is available by using the com.cerebro.domino.integrations.kerberos.keytabMountPath configuration records setting.