Assessment Output - In Application
What to do with all of this assessment information?
Last updated
What to do with all of this assessment information?
Last updated
When the Snowpark Migration Accelerator (SMA) has completed it's analysis, the assessment artifacts have already been generated. "Analysis completed!" will be shown at the top of the page. Select “VIEW RESULTS” to move on to the assessment summary page:
The assessment summary shown is designed to be brief and show only the readiness scores that are available for that execution of the tool:
The initial readiness score shown will be the Spark API Readiness Score. This is a measure of the found references to the Spark API and what percentage of them are supported in Snowflake. This section will show:
Spark API Readiness Score: the percentage of references to the Spark API that are supported
What to do next: recommendations on what actions to take before continuing to the next step.
Understanding the Spark API Readiness Score: description of the readiness score and how to interpret it.
Identified Usages: the total count of references to the Spark API found in this codebase
Usages Ready for Conversion: the count of references that are either directly supported in Snowpark or can be converted by the SMA
The second readiness score shown is the Third-Party Libraries Readiness Score. This score represents how many third-party libraries are already supported in Snowflake. This section will show:
Third-Party Libraries Readiness Score: the percentage of imported libraries in this workload that are categorized as supported in Snowflake.
What to do next: recommendations on what actions to take before continuing to the next step.
Understanding the Third-Party Libraries Readiness Score: description of the Third-Party Libraries readiness score and how to interpret it.
Identified Library Calls: the total number of third-party library calls identified.
Library Calls Supported in Snowpark: the total number of libraries that Snowpark has support.
The third readiness score shown is the SQL Readiness Score. This is a measure of how many of the identified SQL Elements present in a codebase can be converted to Snowflake SQL. This section will show:
SQL Readiness Score: the percentage of SQL elements supported in Snowflake.
What to do next: recommendations on what actions to take before continuing to the next step.
Understanding the SQL Readiness Score: description of the SQL readiness score and how to interpret it.
Total Elements: the number of SQL elements identified in your codebase.
Total Supported Elements: the number of SQL elements supported in Snowflake.
Key notes:
The readiness score alone does not indicate the codebase can be migrated with ease. Even 100% does not mean that the code can be run immediately Snowpark. It means that the references to the Spark API are highly compatible, which indicate the codebase is highly compatible with Snowflake.
The readiness score shown above may differ from what you see in the application. The version of the tool you run may be different from what was run in this walkthrough and the source code may have changed. These are public repos that are not managed by Snowflake. There may be changes at any time to the codebases.
There may be other readiness scores shown here, depending on the version of the tool you are running. For more information on how to interpret those readiness scores, see the current list of readiness scores and how to interpret them.
The readiness score(s) are the key information to review in the application. The other summaries will be discussed briefly, but what conclusions can be made from the readiness score(s) are discussed below.
If you scroll even further, you'll find the execution summary:
The execution summary shows information about this execution. This can be used as a reference if necessary to troubleshoot with the SMA team, but it's not necessary to review now.
Regardless of how many readiness scores you can see, there will be an issue summary that is also visible if you scroll down:
The issue summary details any warnings, conversion errors, and/or parsing errors found by the tool. Evaluating this information is the most important first step on the road towards conversion. The issue summary section in this documentation goes into great detail, but our use of the issue summary will wait until the conversion walkthrough. It's not necessary to review this at this point in the assessment process.
In general, there are a few things we want to evaluate at this point:
Readiness Level (Compatibility with Snowpark) In this execution, we only have one Readiness Score to evaluate. This is not enough to start migrating, but it is enough to get a first impression of how compatible this codebase is with Snowpark. The result that we saw was 95.22% (though you may see a different result depending on the version of the tool you are using). Any result above 80% indicates high compatibility with Snowpark. This means that migration is a good option for this codebase. To learn more about how compatible, we need to review some artifacts from the full assessment output folder.
Size of the Spark footprint/impact on this codebase While we don't know that size of the codebase that's been evaluated at this point, we do know the count of the references to the Spark API. There are 3,746 references to the Spark API found in this codebase with 3,541 supported. That means there are only 205 references that need to be converted manually, and it's very likely that there are only a few unique patterns to migrate. This means that there is a minimal amount of work needed to evaluate those 205 references. While it likely means there is a low effort to migrate those 205 references, that's not guaranteed. It does mean that the effort to evaluate those references is low. We'll do this in more detail in the conversion phase of this migration.
So at this point, this looks like this codebase is a good candidate to migrate from Spark to Snowpark, and it looks like the effort remaining is low. Let's verify this by evaluating the rest of the output.