Snowpark Migration Accelerator: Guia de execução do SMA¶
Entrada do PySpark¶
O recurso do SMA-Checkpoints requer uma carga de trabalho PySpark como ponto de entrada, pois depende da detecção do uso de DataFrames PySpark. Este passo a passo vai guiar você pelo recurso usando um único script Python, fornecendo um exemplo simples de como os pontos de verificação são gerados e utilizados em um fluxo de trabalho PySpark típico.
Carga de trabalho de entrada

Conteúdo do arquivo Sample.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()
Migração da carga de trabalho¶
Recurso ativado¶
Se o recurso SMA-Checkpoints estiver ativado, um arquivo checkpoints.json será gerado. Se o recurso estiver desativado, esse arquivo não será criado nas pastas de entrada ou saída. Independentemente de o recurso estar ativado, os seguintes arquivos de inventário serão sempre gerados: DataFramesInventory.csv e CheckpointsInventory.csv. Esses arquivos fornecem metadados essenciais para análise e depuração.
Processo de conversão¶
Para criar e converter seu próprio projeto, siga este guia: Guia do usuário do SMA.
Configurações do recurso SMA-Checkpoints¶
Como parte do processo de conversão, você pode personalizar suas configurações de conversão. Consulte as configurações do recurso SMA-Checkpoints.
Observação: esse guia do usuário utilizou as configurações de conversão padrão.
Resultados da conversão¶
Após a conclusão do processo de migração, o recurso SMA-Checkpoints deverá ter criado dois novos arquivos de inventário e adicionado um arquivo checkpoints.json às pastas de entrada e saída.
Consulte os inventários relacionados ao SMA-Checkpoints para revisar os inventários relacionados.
Pasta de entrada¶

Conteúdo do arquivo 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"
}
]
}
]
}
Pasta de saída¶

Conteúdo do arquivo 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"
}
]
}
]
}
Assim que o fluxo de execução do SMA for concluído e as pastas de entrada e saída contiverem os respectivos arquivos checkpoints.json, tudo estará pronto para você iniciar o processo de execução do Snowpark-Checkpoints.