Examples
Please visit spark-rapids-examples repo for ETL, ML/DL, UDF related examples using the RAPIDS Accelerator for Apache Spark. It includes Scala/Python source code and related notebooks for different examples.
Please visit spark-rapids-benchmarks repo for Spark related benchmark sets and utilities using the RAPIDS Accelerator for Apache Spark.
CLI Samples
This section shows samples of Qualification CLI cmd assuming the following inputs:
CLUTER_NAME
: The cluster name on CSP (dataproc, Databricks, or EMR)PROP_FILE
: Path to a cluster property file. The path can be a local filesystem, HDFS, S3, ABFS, or GCS. The file can be formatted according to gcloud specs (DATAPROC_PROP
), EMR (EMR_PROP
)EVENTLOG
: Path to Spark event logs without the scheme part. The scheme can be a local filesystem, HDFS, S3, ABFS, or GCS.
The following table shows samples of CLI cmds along with the expected functionalities and the platform based on which the analysis is performed.
CMD |
Platform |
Cost Savings |
Speedups |
Comments |
---|---|---|---|---|
|
Dataproc | ☑️ | ☑️ | cost savings are calculated based on Dataproc cluster because EVENTLOG is stored on GCS |
|
Dataproc | ☑️ | ☑️ | The cluster arguments to a property file matching the Dataproc specs |
|
On-prem | ☑️ | The cost-savings cannot be generated without cluster argument while EVENTLOG is stored on a local filesystem |
Java CMD Samples
Process the 10 newest logs, and only output the top 3 in the output:
java ${QUALIFICATION_HEAP} \ -cp ~/rapids-4-spark-tools_2.12-<version>.jar:$SPARK_HOME/jars/*:$HADOOP_CONF_DIR/ \ com.nvidia.spark.rapids.tool.qualification.QualificationMain -f 10-newest -n 3 /eventlogDir
Process last 100 days’ logs:
java ${QUALIFICATION_HEAP} \ -cp ~/rapids-4-spark-tools_2.12-<version>.jar:$SPARK_HOME/jars/*:$HADOOP_CONF_DIR/ \ com.nvidia.spark.rapids.tool.qualification.QualificationMain -s 100d /eventlogDir
Process only the newest log with the same application name:
java ${QUALIFICATION_HEAP} \ -cp ~/rapids-4-spark-tools_2.12-<version>.jar:$SPARK_HOME/jars/*:$HADOOP_CONF_DIR/ \ com.nvidia.spark.rapids.tool.qualification.QualificationMain -f 1-newest-per-app-name /eventlogDir
Parse ML functions from the eventlog:
java ${QUALIFICATION_HEAP} \ -cp ~/rapids-4-spark-tools_2.12-<version>.jar:$SPARK_HOME/jars/*:$HADOOP_CONF_DIR/ \ com.nvidia.spark.rapids.tool.qualification.QualificationMain --ml-functions /eventlogDir
CLI Samples
This section shows samples of Profiling CLI cmd assuming the following inputs:
CLUTER_NAME
: The GPU cluster name on CSP (dataproc, Databricks, or EMR)PROP_FILE
: Path to a GPU cluster property file. The path can be a local filesystem, HDFS, S3, ABFS, or GCS. The file can be formatted according to gcloud specs (DATAPROC_PROP
), EMR (EMR_PROP
)EVENTLOG
: Path to Spark event logs without the scheme part. The scheme can be a local filesystem, HDFS, S3, ABFS, or GCS.
The following table shows samples of CLI cmds along with the expected functionalities and the platform based on which the analysis is performed.
CMD |
Platform |
Auto-Tuner |
Comments |
---|---|---|---|
|
Dataproc | ☑️ | Auto-Tuner recommendations are based on accelerated Dataproc cluster because EVENTLOG is stored on GCS |
|
Dataproc | ☑️ | Auto-Tuner recommendations are based on accelerated Dataproc cluster because cluster arguments to a property file matching the Dataproc specs |
|
On-prem | The recommendations cannot be generated without cluster argument while EVENTLOG is stored on a local filesystem |
Java CMD Samples
Collection Modes
Example running Profiling tool with different collections modes:
java -cp rapids-4-spark-tools_2.12-<version>.jar:$SPARK_HOME/jars/* \
com.nvidia.spark.rapids.tool.profiling.ProfileMain [options] \
<eventlogs | eventlog directories ...>
java -cp rapids-4-spark-tools_2.12-<version>.jar:$SPARK_HOME/jars/* \
com.nvidia.spark.rapids.tool.profiling.ProfileMain --combined \
<eventlogs | eventlog directories ...>
java -cp rapids-4-spark-tools_2.12-<version>.jar:$SPARK_HOME/jars/* \
com.nvidia.spark.rapids.tool.profiling.ProfileMain --compare \
<eventlogs | eventlog directories ...>