Snowpark Migration Accelerator: SC Spark Scala 版本说明¶
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
已添加
添加笔记本尺寸清单。(SCT-3876)
添加 Snowflake.SparkCommon.MappingLoader 项目(使用新的 Snowflake.SnowMapGrammar)。(SCT-4281)
更改
将 Mobilize.Python 从 1.1.59 升级到 1.1.62
在 Python 符号解析的 GetSymbol 方法中添加超时机制。
将 Mobilize.SparkCommon.Utils 从 1.3.186 升级到 1.3.187
更新 Mobilize.SparkCommon.Utils.FilesHelper.CopyFilesRecursively 方法以处理隐藏的文件。
已修复
修复运行后无法收到电子邮件的问题(通过避免默认日志记录调试消息来减小日志文件的大小)。(SCT-5320)
已移除
移除 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.306¶
2023 年 2 月 14 日
Scala 0.2.13
SparkSnowConvert Core 1.1.27
\
新功能
Jupyter 笔记本 (.ipynb) 处理
无法将依赖项添加到项目配置文件时生成 EWI
改进
Lambda 范围的打开和关闭
\ 错误修复
错误 680497:剩余到完全符合功能条件的功能无法正常工作
错误 681704:无法生成最终报告
\
1.0.273¶
2023 年 2 月 2 日
Scala 0.2.4
SparkSnowConvert Core 1.1.8.0
Hotfix
API 终端更新
1.0.263¶
2023 年 1 月 31 日
Scala 0.2.4
SparkSnowConvert Core 1.1.8.0
\ 已添加
.NETCore 6 升级
ElementPackage 列已添加到导入清单
尺寸表已添加到评估报告中
在与 BDS 同步的报告中添加转换百分比
在输出中添加 issues.csv 文件
在“Reports”文件夹本地生成 SummaryReport.html 和 DetailedReport.html(镜像 docx html)
将 ConversionStatus 关键字添加到 GenericScanner
支持全名转换
改进
org.apache.spark.mllib 映射已添加到核心参考表中
[UI] 修复取消执行时的措辞
[UI] 更改 UI 阶段标题
按 EWI 代码对问题进行分组
更新执行信息表上的 TOOL_VERSION 列值格式
简化了问题摘要表,使其不至于过大
错误修复
解决了反斜杠的问题
已解决 BreakLine 问题
解决了 Lambda 块的极端情况
移除 AssessmentReport.html 生成(本地 html 报告)
1.0.191¶
2022 年 12 月 27 日
Scala 0.1.493
SparkSnowConvert Core 1.0.117.0
已添加
将包清单上传到云遥测
改进
详细报告
轻微的视觉改进
按以下方式对问题表进行排序:
实例
代码
描述
1.0.166¶
2022 年 12 月 21 日
Scala 0.1.492
SparkSnowConvert Core 1.0.105.0
已添加
在详细报告中添加了误差幅度描述
改进
改进了详细报告中问题表的排序
改进了详细报告中百分比的显示
错误修复
<#> 字符出现问题
无法将 Compose 识别为关键字
解析器无法处理 'join' 实参
Scala 代码处理器抛出严重错误
1.0.132¶
2022 年 12 月 13 日
Scala 0.1.487
SparkSnowConvert Core 1.0.88
改进
客户信息已添加到详细评估报告中
转换日志记录消息
错误修复
处理类似 (a, b) => val c 的表达式时出现的问题
compose 未被识别为关键字
1.0.107¶
2022 年 12 月 7 日
Scala 0.1.484
SparkSnowConvert Core 1.0.77
已添加
Snowpark 映射更新至 1.6.2 版本
改进了评估阶段对无括号函数的收集处理
Maven 项目 (pom.xml) 文件处理
ClassName 列已重命名为 SparkUsagesInventory.pam 和 ImportUsagesInventory.pam 上的“别名”
为就绪分数添加了误差幅度
已修复
Snowpark Python 和 Scala 发布了版本更新
在函数名称后添加新行时出现问题
1.0.59¶
2022 年 11 月 29 日
Scala 0.1.478
SparkSnowConvert Core 1.0.60
已添加
基本配套对象支持
更新 org.apache.spark.sql.Column 的映射。
更新 org.apache.spark.sql.Expression 的映射
更新 org.apache.spark.sql.functions 的映射
引用项目配置文件 (SBT) 中的扩展依赖关系
引用项目配置文件 (Gradle) 中的扩展依赖关系
已修复
不支持 "Script" 代码
1.0.17¶
2022 年 11 月 23 日
Scala 0.1.472
SparkSnowConvert Core 1.0.44
已添加
Spark 映射更新
修剪所有 .pam 文件上的“FileId”列值
ConversionStatus 和 scala_spark_mappings_core.csv 统一
1.0.1¶
2022 年 11 月 17 日
Scala 0.1.472
SparkSnowConvert Core 1.0.37
已添加
SparkSession、DataFrameReader 和 DataFrameWriter 映射更新
为一元和二进制表达式生成 EWI
已修复
写入替换器支持 csv、parquet、json 和选项
阅读者替换器不支持不带括号的函数
写入替换器不支持不带括号的函数
目前,InsertInto 的转换不是有效代码。
写入替换器不包括所有函数。
0.1.873¶
2022 年 11 月 11 日
Scala 0.1.468
SparkSnowConvert Core 1.0.23
已添加:
不带括号的函数调用的符号解析
范围打开/关闭异常处理(在替换器处)
为不支持的导入(复杂情况)生成 EWI
为未定义的导入生成 EWI
SparkSession 转换改进
DataFrame 读取器/写入器转换改进
详细报告中添加了 "Spark Usages by Support Category"、"Scala Import Call Summary" 部分
RDD 映射更新
已修复:
堆栈溢出,未生成输出文件
Spark 会话替换器转换时不带括号的表达式
0.1.770¶
2022 年 10 月 21 日
Scala 0.1.458
SparkSnowConvert Core 0.1.530
已添加:
将 helper/extension .jar 更新到最新版本
更新了评估 .docx 报告模板
导入使用情况清单生成
为不支持的导入生成 EWIs(简单案例)
已修复:
有关 SymblTable 的不确定性问题
对 Spark 使用情况清单文件进行排序时出错
SclSingleExprPath 不得包含空成员
集合已修改;枚举操作可能无法执行
当连续有多个闭合多行时,解析无法完成
表达式问题
错误 FileNotGenerated
0.1.705¶
2022 年 10 月 4 日
Scala 0.1.442
SparkSnowConvert Core 0.1.499
已修复:
更改许可证后,设置按钮不会刷新。
0.1.702¶
2022 年 9 月 28 日
Scala 0.1.442
SparkSnowConvert Core 0.1.498
已添加:
符号表内置加载改进
为符号表加载器增加稳健性
已修复:
AssessmentReport 中的 Scala 文件总数出现错误
使用星号解析泛型函数的符号
注释中的注释和 id 前缀和插值解析错误
标识符解析错误后的逗号
当第一条语句采用第二条语句的模式时,表达式的解析错误
"and"、"::"、"++" 和 "or" 运算符解析错误
0.1.687¶
2022 年 9 月 20 日
Scala 0.1.430
SparkSnowConvert Core 0.1.491.0
已添加
符号加载/解析 – 添加对带星号参数 s** 的泛型方法的支持。**
符号加载/解析 – 为类型定义添加类型推断。
符号加载/解析总体改进
已修复
与没有 Spark 引用时无法存储导入用法相关的问题。
0.1.677¶
2022 年 9 月 15 日
Scala 0.1.427
SparkSnowConvert Core 0.1.486.0
已添加
云遥测和发送电子邮件机制现已在转换模式下可用
更新电子邮件模板中的联系信息
0.1.653¶
2022 年 9 月 6 日
Scala 0.1.426
SparkSnowConvert Core 0.1.476.0
已添加
“SnowConvert Version”和“Snowpark Version”列到 SparkUsagesInventory
对速度分析的改进
0.1.624¶
2022 年 8 月 31 日
Scala 0.1.422
SparkSnowConvert Core 0.1.454.0
已添加
“Automated”列和“Status”列已添加到 SparkReferenceInventory.csv
摘要和详细的 html 报告上传到 Snowflake
映射更新
已修复:
摘要和详细报告措辞修复
电子邮件模板措辞修复。
0.1.579¶
2022 年 8 月 23 日
Scala 0.1.421 Spark
SnowConvert Core 0.1.414
已添加
电子邮件模板更新
在摘要报告中添加“版本信息”部分
在详细报告中添加“资源”部分
最终屏幕 UI 更改
已修复
报告 sparkUsagesInventory.pam 上缺少的 Spark 函数
详细报告徽标更新
摘要和详细评估报告的百分比值精度
0.1.595¶
2022 年 8 月 17 日
Scala 0.1.421
SparkSnowConvert Core 0.1.396
已添加
Spark 读写转换改进
在 Spark 使用清单中添加会话 ID 列。
0.1.479¶
2022 年 6 月 30 日
Scala 0.1.411
SparkSnowConvert Core 0.1.279
已添加
Spark 读写转换
Spark trim、rtrim 和 ltrim 函数转换
字符串插值解析
增加 sql 提取匹配模式
0.1.447¶
2022 年 6 月 14 日
Scala 0.1.402
SparkSnowConvert Core 0.1.274
已添加
文件操作稳健性
输出文件夹重组
SparkSession 生成器转换
在评估报告中添加“包含嵌入式 SQL 的 Scala 文件”计数。
已修复
符号表的循环依赖性问题
空白大小写子句解析
关于 lambda 块解析的多个语句
案例条款模式解析
0.1.380¶
2022 年 6 月 1 日
Scala 0.1.391
SparkSnowConvert Core 0.1.229
已添加
解析稳健性
.sbt 配置文件处理
在评估 html 报告中添加了问题细分部分
评估 html 报告中的外观和感觉改进
使用 RapidScanner 清单计算 Spark 使用量评估
macOS CLI 和 UI 支持
改进了导入语句映射
0.1.7¶
2022 年 5 月 17 日
Scala 0.1.380
已添加
Scala 解析器
支持双感叹号
转换工具
Sql 提取
object_struct 函数转换
avg 函数转换
Snowpark 扩展名 .jar 更新
代码行报告
导入映射
Docx 和 html 评估报告
RapidScan 集成
Linux OS 支持
已修复
二进制表达式特殊情况解析
0.1.3¶
2022 年 3 月 18 日
Scala 0.1.358
已添加
Scala 解析器
解析表达式时支持下划线后跟换行符
改进解析错误处理
符号
改善对未解析符号的支持
改进通用符号的创建以重用现有符号
支持 Lambda 表达式的加载和解析
映射:
支持通过 .map 文件对函数和类型进行自定义映射
添加了自定义地图目录参数
已修复
填写通知 .pam 文件中缺失的列。
将指标数据文件 (.pam) 生成到指定的报告文件夹
0.1.2¶
2022 年 3 月 4 日
Scala 0.1.351
已添加
更新了 UI 和文档中的徽标和文本
符号
在泛型符号的类型参数上支持泛型标识符
排除不需要的依赖关系
ScalaParser:
反引号标识
ArgAssign 表达式
已修复
ScalaParser:
ExprLambda,标识旁边有 ColonType
处理 “try” 不是关键字时的 try 表达式。
带有 args 的空 lambda expr
TypeArgs 中的下划线(“_”)
所有注释掉来源的文件
SimpleExpr、SingleExpr、TailExpr 节点处的换行
ConversionTool:
修复由于 javap 解析错误导致的转换崩溃(与 jar 依赖关系有关)
0.1.1¶
2022 年 2 月 14 日
Scala 0.1.333
功能
命令行界面。
Scala 代码评估功能。
使用多个文件或包含多个对象的单个文件。
根据函数和语法定义的基本 Scala 程序的转换,将在前 3 个开发冲刺期间相互商定。
Scala 代码中的注释会以内联方式重新插入。
根据任何错误/警告/评论插入注释。
基本报告包括
已处理的 Spark 元素数量
转换后的元素、文件和位置摘要
遇到的错误/警告/评论摘要。
不支持的 Spark APIs 摘要
展示了以下已定义场景的包含情况:
API 映射
将项目重新创建为 SnowPark 项目
设置正确的项目结构
更新到 SnowPark 支持的 Scala 版本
创建辅助函数以减少阻抗不匹配
定义一些模式重写
非自动概念的文档指南(例如:文件使用模式、数据源配置或没有直接等效项的 Spark 库,例如 Kafka 流读取)
Snowflake 将在生效之日向 Mobilize 提供的初始两个客户代码库(上述场景的基本代码)的成功转换率超过 90%。
根据 Snowflake 中可编译对象的数量进行测量
不计算具有不支持/不可翻译函数的对象
代码的转换率将基于包含所有依赖对象的完整代码库进行评估。
Snowflake 将提供所有可用的私有预览版功能的访问权限,以获得 Mobilize 开发权益