Snowpark Migration Accelerator : Guide d’exécution SMA¶
Entrée PySpark¶
La fonctionnalité SMA-Checkpoints nécessite une charge de travail PySpark comme point d’entrée, car elle dépend de la détection de l’utilisation des DataFrames PySpark. Ce tutoriel vous guidera dans l’utilisation de la fonctionnalité à l’aide d’un seul script Python, fournissant un exemple simple de la façon dont les points de contrôle sont générés et utilisés dans un workflow PySpark standard.
Charge de travail d’entrée

Exemple de contenu de fichier .py
from pyspark.sql import SparkSession
from pyspark.sql import functions as F
spark = SparkSession.builder.appName("SparkFunctionsExample2").getOrCreate()
df1 = spark.createDataFrame([("Alice", "NY"), ("Bob", "LA")], ["name", "city"])
df2 = spark.createDataFrame([(10,), (20,)], ["number"])
df1_with_index = df1.withColumn("index", F.monotonically_increasing_id())
df2_with_index = df2.withColumn("index", F.monotonically_increasing_id())
df3 = df1_with_index.join(df2_with_index, on="index").drop("index")
df3.show()
Migration de la charge de travail¶
Fonctionnalité activée¶
Si la fonctionnalité SMA-Checkpoints est activée, un fichier checkpoints.json sera généré. Si la fonctionnalité est désactivée, ce fichier ne sera pas créé dans les dossiers d’entrée ou de sortie. Que la fonctionnalité soit activée ou non, les fichiers d’inventaire suivants seront toujours générés : DataFramesInventory.csv et CheckpointsInventory.csv. Ces fichiers fournissent des métadonnées essentielles pour l’analyse et le débogage.
Processus de conversion¶
Pour convertir votre propre projet, veuillez suivre le guide suivant : [Guide de l’utilisateur SMA] (https://docs.snowconvert.com/sma/user-guide/overview).
Paramètres de la fonctionnalité SMA-Checkpoints¶
Dans le cadre du processus de conversion, vous pouvez personnaliser vos paramètres de conversion, consultez les paramètres de la fonctionnalité SMA-Checkpoints.
Remarque : ce guide de l’utilisateur a utilisé les paramètres de conversion par défaut.
Résultats de la conversion¶
Une fois le processus de migration terminé, la fonctionnalité SMA-Checkpoints doit avoir créé deux nouveaux fichiers d’inventaire et ajouté un fichier checkpoints.json dans les dossiers d’entrée et de sortie.
Jetez un œil sur les inventaires SMA-Checkpoints pour consulter les inventaires associés.
Dossier d’entrée¶

Contenu du fichier checkpoints.json
{
"createdBy": "Snowpark Migration Accelerator",
"comment": "This file was automatically generated by the SMA tool as checkpoints collection was enabled in the tool settings. This file may also be modified or deleted during SMA execution.",
"type": "Collection",
"pipelines": [
{
"entryPoint": "sample.py",
"checkpoints": [
{
"name": "sample$BBVOC7$df1$1",
"file": "sample.py",
"df": "df1",
"location": 1,
"enabled": true,
"mode": 1,
"sample": "1.0"
},
{
"name": "sample$BBVOC7$df2$1",
"file": "sample.py",
"df": "df2",
"location": 1,
"enabled": true,
"mode": 1,
"sample": "1.0"
},
{
"name": "sample$BBVOC7$df3$1",
"file": "sample.py",
"df": "df3",
"location": 1,
"enabled": true,
"mode": 1,
"sample": "1.0"
}
]
}
]
}
Dossier de sortie¶

Contenu du fichier checkpoints.json
{
"createdBy": "Snowpark Migration Accelerator",
"comment": "This file was automatically generated by the SMA tool as checkpoints collection was enabled in the tool settings. This file may also be modified or deleted during SMA execution.",
"type": "Validation",
"pipelines": [
{
"entryPoint": "sample.py",
"checkpoints": [
{
"name": "sample$BBVOC7$df1$1",
"file": "sample.py",
"df": "df1",
"location": 1,
"enabled": true,
"mode": 1,
"sample": "1.0"
},
{
"name": "sample$BBVOC7$df2$1",
"file": "sample.py",
"df": "df2",
"location": 1,
"enabled": true,
"mode": 1,
"sample": "1.0"
},
{
"name": "sample$BBVOC7$df3$1",
"file": "sample.py",
"df": "df3",
"location": 1,
"enabled": true,
"mode": 1,
"sample": "1.0"
}
]
}
]
}
Une fois que le flux d’exécution de SMA est complet et que les dossiers d’entrée et de sortie contiennent leurs fichiers checkpoints.json respectifs, vous êtes prêt à démarrer le processus d’exécution de Snowpark-Checkpoints.