Snowpark Migration Accelerator: SC Spark Python 版本说明

2.14.0

2023-10-24 \ \ 已添加\ \ 为文件名添加精简 ID,并在日志中使用。

更改

重构 TrialMode 的输出文件夹层次结构。

当分数达到 90 分或以上时,在“评估”模式下本地生成报告。

如果是 Snowflake 用户,则在“评估”模式下本地生成报告。

以 .csv 文件格式创建清单。

将清单移至“报告”文件夹。

2.13.0

2023-10-19\

已添加\

  • 添加一个标志以启用更多日志记录消息。

  • 添加一个标志以禁用转换的执行。

  • 为 Scala 符号表解析添加超时机制。

  • 为 Scala 解析阶段添加超时机制。

  • 在 Scala 的解析阶段添加进度日志消息。

已更改\

  • 调整报告(HTML 和 docx):重命名就绪分数,更新附录和导入调用表。

  • AssessmentMode 从 8.1.6 升级到 9.0.4

  • Common.AssessmentModel 从 3.1.12 升级到 3.1.14

  • 添加锁定以避免竞态条件

已修复\

  • 修复评估模式和转换模式之间 SparkReferences 数量不一致的问题。

  • 修复导致 .sql 文件无法识别为支持文件的问题。

  • 修复反斜杠位于 AtomElement 和 BracedSlices 之间时的解析错误。

  • 修复解析包含大量嵌套表达式的代码时耗时过长的问题。

2.12.0

2023-10-13

已添加

  • 添加试用模式支持。

更改

  • Snowflake.SnowConvert.Python 从 1.1.79 升级到 1.1.80

  • 添加 ResolveType 的变体,以避免在某些情况下出现堆栈溢出。

已修复

  • 修复解析 FullName 时导致堆栈溢出的情况。

2.11.0

已添加

  • 在 Python 上添加对 Snowpark API 版本 1.7.0 的支持。

  • 在 Python 上添加对 Snowpark API 版本 1.6.1 的支持。

  • 添加了新的替代方案

  • 添加了四 (4) 个新映射

更改

  • 更新 Scala 集成测试验证。

  • 缩短 Scala 集成测试时间。

  • 更新内部代码中剩余的程序集名称引用。

  • 更新源文件标题以符合公司准则。

已修复

  • 通过向清单和报告添加 SessionId 和 ExecutionId,使用相同的 ExecutionId 修复多个执行问题。

  • 使用 storage.lck 文件修复失败的 CopyOtherFiles 任务。

  • 修复某些值为空时生成 .HTML 报告的问题。

2.09.0

2023-10-03

已添加

  • 添加 FilesInventory.pam

  • 添加了四 (4) 个新映射

更改

  • 更改程序集名称。

  • Snowflake.SnowConvert.Python 从 1.1.70 升级到 1.1.79

  • 在三种不同的规则中添加反斜杠来解决解析错误。

  • 添加新的 Spark 引用符号。

  • 支持两 (2) 个新解决方案。

  • 支持 .sql DBX 笔记本中的空命令。

  • 提高 StopIfDedent 函数的稳健性。

已修复

  • 修复反斜杠场景中使用参数和逗号的解析错误。

  • 修复圆括号之间的表达式符号解析问题。

  • 修复 .sql DBX 笔记本中使用空命令的解析错误。

  • 修复空括号符号解析问题。

  • 修复收集 SQL 语句清单时出现的正则表达式超时错误。

  • 修复与混合缩进相关的解析错误。

  • 修复发现解析错误时的假崩溃消息。

  • 修复评估模式和转换模式之间 SparkReferences 数量不一致的问题。

2.8.0

2023-09-27

已添加

  • 在 Python 上添加对 Snowpark API 版本 1.5.1 的支持。

  • 添加对 Python 3.10.10 语法的支持。

  • 在清单中添加 CellId 列(适用于笔记本、Databricks 和 Jupyter)。

  • 添加四 (4) 个新映射

更改

  • Mobilize.Python 从 1.1.64 升级到 1.1.70

  • 添加对 Python 3.10.10 语法的支持。

  • 添加三 (3) 个新的反斜杠场景来解决解析错误。

  • 向某些 Pandas 符号添加明确的返回类型以避免加载错误。

已修复

  • 修复在方括号、冒号和参数场景中使用反斜杠时出现的解析错误。

  • 修复加载 Pandas 符号时出现的错误。

2.7.0

2023-09-20\

已添加\

  • 在 Python 上添加对 Snowpark API 版本 1.5.0 的支持。

  • 添加了 3 个新映射

已更改\

  • 避免处理隐藏文件

  • 将 `Mobilize.SparkCommon.Utils` 从 1.3.188 升级到 1.3.189

  • 将 `Mobilize.Common.Utils` 从 3.2.0 升级到 3.2.2

已修复\

  • 修复 PackageVersionInventory 收集阶段卡住的问题。

  • 修复在使用 DBC 文件时,详细报告中 Spark 使用摘要表的百分比显示错误的问题。

  • 修复详细报告中的文件大小表显示为空或根本不显示的问题。

2.6.0

2023-09-12\

已添加\

  • 向 SQL 语句清单添加对 %SQL 单元格(来自笔记本)的支持。

已更改\

  • 将 `Mobilize.Python` 从 1.1.62 升级到 1.1.64

  • 添加对 magic sql 的支持。

  • 当推断类型为 `None` 时,避免更新函数参数类型。

已修复\

  • 修复导致特定文件无限加载符号的问题。

  • 修复无法生成 GenericScanner 文件的问题。

安全\

  • 在 Python 转换测试中保护测试密码。

2.5.0

2023-09-05

已添加

  • 添加笔记本尺寸清单。

  • 添加 Snowflake.SparkCommon.MappingLoader 项目(使用新版 Snowflake.SnowMapGrammar)。

更改

  • 将 Mobilize.Python 从 1.1.59 升级到 1.1.62

    • 在 Python 符号解析的 GetSymbol 方法中添加超时机制。

  • 将 Mobilize.SparkCommon.Utils 从 1.3.186 升级到 1.3.187

    • 更新 Mobilize.SparkCommon.Utils.FilesHelper.CopyFilesRecursively 方法以处理隐藏的文件。

已修复

  • 修复运行后无法收到电子邮件的问题(通过避免默认日志记录调试消息来减小日志文件的大小)。

已移除

  • 移除 Mobilize.SparkCommon.TransformationCore 项目(使用旧版 Mobilize.MapGrammar)。

2.4.0

2023-08-28

已添加

  • 添加 NotebookCells 清单。

  • 收集 Scala 和 Python 的 DataFrameReader.option 和 DataFrameWriter.option 的实参值。

  • 添加 2 个新的映射以及更完善的别名类型信息集合

  • 提供其他参数时对输出文件进行加密。

  • 重新启用 SQLStatements 清单。

  • 重新启用收集器的并行化。

更改

  • 更新详细报告(docx 和 html)的“文件类型摘要”部分。(SCT-3867)

  • 更新 2 个映射

  • 将 Mobilize.SparkCommon.Utils 从 1.3.181 升级到 1.3.186。

  • 改进对 CSV 文件排序的支持。

  • 将 Mobilize.Common.Utils 从 3.1.6 升级到 3.2.0。

    • 改进对 CSV 文件排序的支持。

    • 将 Mobilize.Common.Utils 从 3.1.6 升级到 3.2.0。

    • 更新 NuGet 包版本。

  • 重构负载映射任务。

  • 重构 SparkCommon Utils 项目参考。

  • 分组解决方案项目。

  • 合并 Scala 集成测试 JupyterTest、InventoryTests 和 TransformationTest。

已修复

  • 修复在收集 SQL 语句清单项目时导致 Python 转换工具卡住的问题。

  • 修复输出中缺失的 GenericScanner 文件。

  • 修复迁移的 DBC 文件无法加载到 Databricks 中的问题。

  • 修复工具过程结束时的错误。

已移除

  • 移除 InventoryStorageTemp。

  • 移除多余的 StyleCop.Analyzers 项目参考。

\

2.2.001

2023-07-19

已添加

  • 添加六 (6) 个新映射

更改

  • Assessment Model 从 3.1.10 更新到 3.1.11

已修复

  • 修复 Databricks 处理无法在“评估”模式下运行的问题

安全

  • 为 HTML 链接添加了子资源完整性

2.1.161

2023-07-06

已修复

  • 修复和启用 Scala Spark 功能测试

2.1.160

2023-07-05

更改

  • Assessment Model 从 3.1.9 更新到 3.1.10

2.1.159

2023-07-05

更改

  • Assessment Model 从 3.1.7 更新到 3.1.9

2.1.158

2023-07-05

已添加

  • 通过改进任务中异常的处理来增强工具稳定性

2.1.157

2023-07-05

\ 已更改

  • Spark Common 从 1.3.178 更新到 1.3.181

2.1.155

2023-07-05

更改

  • Common Build 从 2.0.2 更新到 3.0.4。

  • 对在 MacOs 中构建解决方案作出改进

2.1.148

2023-07-04

更改

  • Spark Common 从 1.3.177 更新到 1.3.178

  • Common Utils 从 4.0.0-alpha.DevOps.9 更新到 3.1.6

2.1.147

2023-07-03

安全

  • 移除 `Spark Common` 项目中未经许可的包参考。

2.1.146

2023-07-03

更改

  • 将 `coverlet.collector` 从 3.2.0 升级到 6.0.0

  • 将 `FluentAssertions` 从 6.9.0 升级到 6.11.0

  • 将 `Scriban.Signed` 从 5.5.2 升级到 5.7.0

  • 将 `DocumentFormat.OpenXml` 从 2.19.0 升级到 2.20.0

\ 安全

  • 移除 `SparkCommon` 项目中未经许可的包参考。

2.1.145

2023-06-28

更改

  • `Mobilize.Python` 从 1.1.49 更新到 1.1.50

  • 修复不解析单个单元格时的 Databricks 笔记本整个文件解析问题

2.1.144

2023-06-27

已修复

  • 修复 MacOS 上的 .dbc 文件提取问题

2.1.143

2023-06-26

已修复

  • 修复由于不同数据格式而导致的测试错误。

2.1.142

2023-06-26

更改

  • 重构清单存储。

2.1.141

2023-06-23

更改

  • `Mobilize.Python` 从 1.1.46 更新到 1.1.49

  • 在解析符号时检测和停止递归循环

  • 修复涉及 \_\_init\_\_.py 文件的 StackOverflow 异常

  • 用反斜杠修复 PyArgExpr 节点

2.1.140

2023-06-22

更改

  • `Mobilize.Python` 从 1.1.44 更新到 1.1.46

  • 用反斜杠修复 PyTerm 节点

2.1.138

2023-06-22

更改

  • Spark Common 从 1.3.176 更新到 1.3.177

已修复

  • 修复构建 Scala 代码处理器的问题。

2.1.137

2023-06-22

安全

  • 功能测试中的安全凭证。

  • 移除未经许可的包引用。

2.1.136

2023-06-21

更改

  • `Snowflake.Data` 从 2.0.15 更新到 2.0.25

  • Spark Common 从 1.3.175 更新到 1.3.176

安全

升级功能测试中的引用。

2.1.135

2023-06-21

已添加

  • 添加 Python 和 Scala 代码处理器工具支持的 .dbc 扩展名。

  • 为 Contracts 项目添加测试。

安全

  • 移除 `SparkCommon.Contracts.Test` 中未经许可的包参考。

2.1.132

2023-06-21

已移除

  • 在评估模式下从 IOFiles 清单中移除 `Supported` 列。

2.1.131

2023-06-20

已修复

  • 修复 Mac 上的测试。

2.1.130

2023-06-19

更改

  • 将 SparkCommon 存储库与该存储库合并。

2.1.126

2023-06-16

已修复

  • 修复构建存储库的问题。

2.1.124

2023-06-15

已修复

  • 修复构建存储库的问题。

2.1.123

2023-06-15

更改

  • `Mobilize.Scala` 从 0.2.34 更新到 0.2.37

  • 修复涉及带有下划线和限制的泛型类型的解析错误

  • 修复涉及带引号和插值的表达式的解析错误

安全

  • 移除不安全的包引用。

2.1.121

2023-06-15

安全

  • 移除凭证文件。

2.1.120

2023-06-15

更改

  • Scala 和 Python 的版本配置都略有变更。

1.0.877

2023 年 4 月 26 日

Python 1.1.25

PythonSnowConvert Core 2.01.090

SparkCommon 1.3.151

已添加

  • 添加了对 Snowpark 1.3.0 的支持。

  • 添加了对以下内容的转换

    • DataFrameReader 链

    • SparkSession.sparkContext

  • 在详细报告的“问题摘要”表中添加了 Severity 列

改进

  • 改进了 Spark 使用情况清单文件的名称

  • 改进了当未找到 Spark 引用时,就绪分数显示值

已修复

  • 修复了按钮 URLs

  • 修复了本地和遥测中 Spark 使用情况清单的不一致问题

  • 修复了详细报告的 Spark 使用情况摘要表中的 RDD 指标

  • 修复了报告中零和短划线符号的不一致问题

1.0.826

2023 年 3 月 29 日

Python 1.1.25

PythonSnowConvert Core 2.01.068

SparkCommon 1.3.131

已添加

  • 添加了对转换 DBC 文件的支持

    改进

  • 添加了 DataFrameReader.format 和 DataFrameReader.load 的转换

已修复

  • 修复了转置的 SnowConvert/Snowpark 版本值

1.0.725

2023 年 2 月 15 日

Python 1.1.11

PythonSnowConvert Core 2.01.022

SparkCommon 1.3.113

已添加

  • 添加了对 Databricks 存档文件(.dbc 扩展名)的支持

  • 添加了对 Databricks 笔记本文件(.python 扩展名)的支持

  • 添加了 Spark 使用情况识别过程的并行性

  • 添加了对 SnowPark API 版本 1.1.0 的支持

  • 添加了映射元素:

  • 12 个直接映射

  • 2 个转换(使用辅助程序进行)

改进

  • 改进了 SPRKPY1038 EWI 消息

  • 使用属性访问权限改进了列转换中 EWIs 的注册

  • 改进了本地报告名称

1.0.691

2023 年 2 月 1 日

Python 1.1.3

PythonSnowConvert Core 2.1.4

SparkCommon 1.3.105

已添加

  • 添加了 Net6 兼容性(内部)

  • 添加了 issues.csv 报告

  • 在详细报告中添加了尺寸表

  • 添加了对全局变量声明的支持

  • 添加了对继承符号识别的支持

  • 添加了对使用属性访问权限访问列的支持

  • 在遥测中添加了所使用的映射版本

  • 在 GenericScanner 中添加了对 Jupyter 笔记本的支持

  • 添加了映射元素:

    • 1 个直接映射

    • 1 个转换(使用辅助程序进行)

    • 6 种替代方案

    • 5 个不支持的识别

改进

  • 改进了报告、清单和遥测中的工具版本格式

  • 改进了本地和远程 HTML 报告的同步

  • 改进了 HTML 详细报告与 DOCX 详细报告的同步

  • 改进了按 EWI 代码分组的问题表

  • 改进了按包分组的导入表

  • 改进了注释输出代码

  • 改进了 UI 进度阶段标题

错误修复

  • 修复了复杂语句的 EWI 消息位置

  • 修复了取消执行时的 UI 措辞

  • 更正了报告中的拼写错误

1.0.594

2022 年 12 月 28 日

Python 1.0.457

PythonSnowConvert Core 2.0.280

已添加

  • 在 Generic Scanner 中添加了对 Jupyter 笔记本的支持

  • 在报告中添加了转化百分比

  • 在导入使用情况清单中添加了“ElementPackage”列

  • 添加了 1 个直接映射

  • 添加了 4 个辅助程序

  • 添加了 2 种替代方案

  • 为详细报告添加了细微的视觉改进

改进

  • 将 1 个映射从重命名改进为直接

  • 改进了详细报告中问题表的排序

错误

  • 修复了详细报告中问题表的列大小

  • 修复了为 Column.contains 函数使用说明添加 EWI 注释时出现的错误

  • 修复了 6 种在 Spark 使用情况清单中不匹配的映射状态

1.0.555

2022 年 12 月 21 日

Python 1.0.457

PythonSnowConvert Core 2.0.259

新功能

  • 添加了 3 种新的替代方案

  • 在详细报告描述中添加了误差幅度

改进

  • 将 2 个映射从重命名改进为直接

  • 改进了详细报告中问题表的排序

  • 改进了详细报告中百分比的显示

  • 改进了转换暂存区日志记录消息

错误

  • 修复了 2 个映射

  • 修复了不支持的元素的识别问题

1.0.515

2022 年 12 月 14 日

Python 1.0.457

PythonSnowConvert Core 2.0.241

新功能

  • 支持“snowpark_extensions”

  • 使用“snowpark_extensions”的 12 个转换

  • 添加了 2 种替代方案

  • 向表引用数据库添加了新的 Spark 引用,包括其状态。

  • 客户信息已添加到详细报告中

改进

  • EWI SPRKPY1038 措辞改进

  • Spark 引用状态从 重命名 改进为 直接

错误修复

  • 修复了映射中的一个错误

  • 修复了一个损坏的 Spark 核心映射表

1.0.492

2022 年 12 月 7 日

Python 1.0.455

PythonSnowConvert Core 2.0.233

新功能

  • 在就绪分数中添加了误差幅度

  • 添加了 2 个新映射

  • 为无法识别的 PySpark 元素添加了 EWI

改进

  • 改进了详细报告中附录 A 的措辞

  • 改进了工具转换数据库中未定义的 PySpark 元素的 EWI 消息

错误修复

  • 修复了清单中的“alias”列名称

1.0.457

2022 年 12 月 1 日

Python 1.0.452

Python SnowConvert Core 2.0.217

新功能

  • 添加了对 SnowPark API 版本 1.0.0 的支持

  • 添加了 5 个新的替代方案文档

  • 在遥测中添加了执行信息

  • 为就绪分数添加了误差幅度

改进

  • 提高了代码符号识别的准确性

  • 记录消息时的评估步骤有所改进。

1.0.441

2022 年 11 月 23 日

Python 1.0.449

PythonSnowConvert Core 2.0.210

新功能

  • 为未定义 PySpark 元素的输出代码添加了 EWI 注释

  • 添加了对继承符号的支持

  • 添加了 3 个新映射

  • 添加了 1 种替代方案

改进

  • 改进了所有文件都有错误时的就绪分数

  • 改进了加载符号表时的错误消息

  • 改进了对通用类型的处理

  • 一种映射状态从重命名更改为直接

  • 一种转换状态从替代方案更改为直接映射

错误修复

  • 修复了 Markdown 转换问题

  • 修复了 PySpark_Mappings_Core 表和工具之间的同步问题

1.0.425

2022 年 11 月 17 日

Python 1.0.445

PythonSnowConvert Core 2.0.203

改进

  • 加载符号表的稳健性

错误修复

  • 修复了关于 Spark 使用值的详细报告摘要表

  • 修复了一些解析错误

  • 修复了工具与 PySpark_Mappings_Core Snowflake DB 表之间的 EWI 代码同步问题

1.0.415

2022 年 11 月 15 日

Python 1.0.441

PythonSnowConvert Core 2.0.199

新功能

  • 添加了加载符号表时检测到错误时的 EWI 记录

错误修复

  • 修复了转换 Jupyter 笔记本文件时出现的新行问题

1.0.404

2022 年 11 月 11 日

Python 1.0.436

PythonSnowConvert Core 2.0.195

新功能

  • 添加了对转换 Jupyter 笔记本文件的基本支持

  • 添加了用于以清单形式追踪导入使用情况的值

  • 改进详细报告(按支持类别和 Python 导入调用摘要分组的 Spark 使用情况)

  • 添加了新映射

  • 为“SparkSession.Builder.appName”添加了新的替代方案

  • 在输出代码中添加了新的 EWIs 作为注释

  • 添加了对将非 Python 文件复制到输出目录的支持

  • 为 id 表达式添加了 PySpark 使用情况识别

  • 添加了当符号表加载失败时的错误消息

改进

  • 改进了导入映射

  • 改进了类型提示映射

  • 将重命名映射改进为直接映射

错误修复

  • 解析错误

  • 存在解析错误的文件的输出目录结构

  • 修复了“pyspark.streaming”全名

  • 修复了 CLI 崩溃问题

1.0.315

2022 年 10 月 21 日

Python 1.0.422

PythonSnowConvert Core 2.0.152

已添加

  • 添加了类型推断

  • 支持 5 种新映射

改进

  • 详细报告

  • 导入语句转换

  • 转换文档

已修复

  • 与项目 ID 日志相关的 EWIs

  • 4 种 Pyspark 元素转换状态

1.0.280

2022 年 10 月 12 日

Python 1.0.417

PythonSnowConvert Core 2.0.135

已添加

  • 新的转换

  • 处理导入中使用的不受支持的 Pyspark 元素

  • 日志记录消息方面的改进

1.0.271

2022 年 10 月 5 日

Python 1.0.417

PythonSnowConvert Core 2.0.132

已添加

  • 符号识别的稳健性

  • 改进类型解决方案

已修复

  • 许可证更改后,设置按钮无法刷新

  • Python 版本参考中的文档链接

1.0.247

2022 年 9 月 27 日

Python 1.0.410

PythonSnowConvert Core 2.0.126

已添加

  • 解析 Jupypter 笔记本文件时的稳健性

  • 使用通用解析符号方面的改进

  • 新的转换

已修复

  • 报告中的 Python 文件总数

1.0.220

2022 年 9 月 15 日

Python 1.0.399

PythonSnowConvert Core 2.0.112

已添加

  • 对导入的新支持

  • 导入清单中的别名

已修复

  • macOS 文件清单中的行号错误

  • html 报告中已识别的使用情况表百分比

  • 显示零个 PySpark 参考的认证工具

  • 更新电子邮件模板中的联系信息

1.0.190

2022 年 9 月 6 日

Python 1.0.392

PythonSnowConvert Core 2.0.100
\

已添加

  • “SnowConvert Version”和“Snowpark Version”列到 SparkUsagesInventory

  • 支持 pyspark 的更多功能

  • 对速度分析的改进

\ 已修复

  • 直接映射更新

1.0.148

2022 年 8 月 31 日

Python 1.0.381

PythonSnowConvert Core 2.0.71

已添加

  • 支持 10 种新映射

  • 检测到 17 种新的替代方案转换

  • 支持识别 Jupyter 笔记本文件中的 PySpark 使用情况

  • “Automated”列和“Status”列已添加到 SparkReferenceInventory.csv

  • 摘要和详细的 html 报告上传到 Snowflake

已修复

  • 摘要和详细报告措辞修复

  • 电子邮件模板措辞修复

1.0.107

2022 年 8 月 24 日

Python 1.0.380

PythonSnowConvert Core 2.0.30

已添加

  • 支持 30 种新映射

  • 识别 pyspark.streaming 和 pyspark.rdd 包

  • 识别已导入符号方面的改进

  • 电子邮件模板更新

  • 在摘要报告中添加“版本信息”部分

  • 在详细报告中添加“资源”部分

  • 最终屏幕 UI 更改

  • 对 SparkReferenceInventory 报告文件进行排序

已修复

  • 设置按钮已移除

  • 详细报告徽标更新

  • 摘要和详细评估报告的百分比值精度

1.0.66

2022 年 8 月 17 日

Python 1.0.377

PythonSnowConvert Core 1.0.61

已添加

  • 支持 136 种新映射

  • 更新了共享电子表格中列为“已更正”的所有函数的支持状态

  • 从 requirements.txt 文件中收集的信息

  • 识别链式符号方面的改进

已修复

  • SparkReferenceInventory 报告中的行号

1.0.30

2022 年 8 月 9 日

Python 1.0.373

PythonSnowConvert Core 1.0.29

已添加

  • 收集所有导入使用情况

  • 识别 PySpark 使用情况方面的改进(不带模块的导入,带有星号的导入)

  • 确定更多受支持的 DataFrame 函数

已修复

记录解析错误

0.1.172

2022 年 7 月 20 日

Python 0.1.172

已添加

  • 命令行界面。

  • Python 代码认证工具功能。

语言: 中文