Snowpark Migration Accelerator: リリースノート¶
以下のリリースノートは、リリース日順に整理されていますのでご注意ください。アプリケーションと変換コアの両方のバージョン番号は以下に表示されます。
Version 2.10.0 (Sep 24, 2025)¶
Application & CLI Version 2.10.0¶
Included SMA Core Versions¶
Snowpark Conversion Core 8.0.62
追加済み¶
Added functionality to migrate SQL embedded with Python format interpolation.
Added support for
DataFrame.selectandDataFrame.sorttransformations for greater data processing flexibility.
変更済み¶
Bumped the supported versions of Snowpark Python API and Snowpark Pandas API to 1.36.0.
Updated the mapping status of
pandas.core.frame.DataFrame.boxplotfrom Not Supported to Direct.Updated the mapping status of
DataFrame.select,Dataset.select,DataFrame.sortandDataset.sortfrom Direct to Transformation.Snowpark Scala allows a sequence of columns to be passed directly to the select and sort functions, so this transformation changes all the usages such as
df.select(cols: _*)todf.select(cols)anddf.sort(cols: _*)todf.sort(cols).Bumped Python AST and Parser version to 149.1.9.
Updated the status to Direct for pandas functions:
pandas.core.frame.DataFrame.to_excelpandas.core.series.Series.to_excelpandas.io.feather_format.read_featherpandas.io.orc.read_orcpandas.io.stata.read_stata
Updated the status for
pyspark.sql.pandas.map_ops.PandasMapOpsMixin.mapInPandasto workaround using the EWI SPRKPY1102.
修正済み¶
Fixed issue that affected SqlEmbedded transformations when using chained method calls.
Fixed transformations involving PySqlExpr using the new PyLiteralSql to avoid losing Tails.
Resolved internal stability issues to improve tool robustness and reliability.
Version 2.7.7 (Aug 28, 2025)¶
Application & CLI Version 2.7.7¶
Included SMA Core Versions¶
Snowpark Conversion Core 8.0.46
追加済み¶
Added new Pandas EWI documentation PNDSPY1011.
Added support to the following Pandas functions:
pandas.core.algorithms.unique
pandas.core.dtypes.missing.isna
pandas.core.dtypes.missing.isnull
pandas.core.dtypes.missing.notna
pandas.core.dtypes.missing.notnull
pandas.core.resample.Resampler.count
pandas.core.resample.Resampler.max
pandas.core.resample.Resampler.mean
pandas.core.resample.Resampler.median
pandas.core.resample.Resampler.min
pandas.core.resample.Resampler.size
pandas.core.resample.Resampler.sum
pandas.core.arrays.timedeltas.TimedeltaArray.total_seconds
pandas.core.series.Series.get
pandas.core.series.Series.to_frame
pandas.core.frame.DataFrame.assign
pandas.core.frame.DataFrame.get
pandas.core.frame.DataFrame.to_numpy
pandas.core.indexes.base.Index.is_unique
pandas.core.indexes.base.Index.has_duplicates
pandas.core.indexes.base.Index.shape
pandas.core.indexes.base.Index.array
pandas.core.indexes.base.Index.str
pandas.core.indexes.base.Index.equals
pandas.core.indexes.base.Index.identical
pandas.core.indexes.base.Index.unique
Added support to the following Spark Scala functions:
org.apache.spark.sql.functions.format_number
org.apache.spark.sql.functions.from_unixtime
org.apache.spark.sql.functions.instr
org.apache.spark.sql.functions.months_between
org.apache.spark.sql.functions.pow
org.apache.spark.sql.functions.to_unix_timestamp
org.apache.spark.sql.Row.getAs
変更済み¶
Bumped the version of Snowpark Pandas API supported by the SMA to 1.33.0.
Bumped the version of Snowpark Scala API supported by the SMA to 1.16.0.
Updated the mapping status of pyspark.sql.group.GroupedData.pivot from Transformation to Direct.
Updated the mapping status of org.apache.spark.sql.Builder.master from NotSupported to Transformation. This transformation removes all the identified usages of this element during code conversion.
Updated the mapping status of org.apache.spark.sql.types.StructType.fieldIndex from NotSupported to Direct.
Updated the mapping status of org.apache.spark.sql.Row.fieldIndex from NotSupported to Direct.
Updated the mapping status of org.apache.spark.sql.SparkSession.stop from NotSupported to Rename. All the identified usages of this element are renamed to com.snowflake.snowpark.Session.close during code conversion.
Updated the mapping status of org.apache.spark.sql.DataFrame.unpersist and org.apache.spark.sql.Dataset.unpersist from NotSupported to Transformation. This transformation removes all the identified usages of this element during code conversion.
修正済み¶
Fixed continuation backslash on removed tailed functions.
Fix the LIBRARY_PREFIX column in the ConversionStatusLibraries.csv file to use the right identifier for scikit-learn library family (scikit-*).
Fixed bug not parsing multiline grouped operations.
Version 2.9.0 (Sep 09, 2025)¶
Included SMA Core Versions¶
Snowpark Conversion Core 8.0.53
追加済み¶
The following mappings are now performed for
org.apache.spark.sql.Dataset[T]:org.apache.spark.sql.Dataset.unionis nowcom.snowflake.snowpark.DataFrame.unionAllorg.apache.spark.sql.Dataset.unionByNameis nowcom.snowflake.snowpark.DataFrame.unionAllByName
Added support for
org.apache.spark.sql.functions.broadcastas a transformation.
変更済み¶
Increased the supported Snowpark Python API version for SMA from
1.27.0to1.33.0.The status for the
pyspark.sql.function.randnfunction has been updated to Direct.
修正済み¶
Resolved an issue where
org.apache.spark.SparkContext.parallelizewas not resolving and now supports it as a transformation.Fixed the
Dataset.persisttransformation to work with any type of Dataset, not justDataset[Row].
Version 2.7.6 (Jul 17, 2025)¶
Included SMA Core Versions¶
Snowpark Conversion Core 8.0.30
追加済み¶
Adjusted mappings for spark.DataReader methods.
DataFrame.unionis nowDataFrame.unionAll.DataFrame.unionByNameis nowDataFrame.unionAllByName.Added multi-level artifact dependency columns in artifact inventory
Added new Pandas EWIs documentation, from
PNDSPY1005toPNDSPY1010.Added a specific EWI for
pandas.core.series.Series.apply.
変更済み¶
Bumped the version of Snowpark Pandas API supported by the SMA from
1.27.0to1.30.0.
修正済み¶
Fixed an issue with missing values in the formula to get the SQL readiness score.
Fixed a bug that was causing some Pandas elements to have the default EWI message from PySpark.
Version 2.7.5 (Jul 2, 2025)¶
Application & CLI Version 2.7.5¶
Included SMA Core Versions¶
Snowpark Conversion Core 8.0.19
変更済み¶
Refactored Pandas Imports: Pandas imports now use `modin.pandas` instead of
snowflake.snowpark.modin.pandas.Improved `dbutils` and Magic Commands Transformation:
A new
sfutils.pyfile is now generated, and alldbutilsprefixes are replaced withsfutils.For Databricks (DBX) notebooks, an implicit import for
sfutilsis automatically added.The
sfutilsmodule simulates variousdbutilsmethods, including file system operations (dbutils.fs) via a defined Snowflake FileSystem (SFFS) stage, and handles notebook execution (dbutils.notebook.run) by transforming it toEXECUTE NOTEBOOKSQL functions.dbutils.notebook.exitis removed as it is not required in Snowflake.
修正済み¶
Updates in SnowConvert Reports: SnowConvert reports now include the CellId column when instances originate from SMA, and the FileName column displays the full path.
Updated Artifacts Dependency for SnowConvert Reports: The SMA's artifact inventory report, which was previously impacted by the integration of SnowConvert, has been restored. This update enables the SMA tool to accurately capture and analyze Object References and Missing Object References directly from SnowConvert reports, thereby ensuring the correct retrieval of SQL dependencies for the inventory.
Version 2.7.4 (Jun 26, 2025)¶
Application & CLI Version 2.7.4¶
Desktop App
追加済み¶
Added telemetry improvements.
修正済み¶
Fix documentation links in conversion settings pop-up and Pandas EWIs.
Included SMA Core Versions¶
Snowpark Conversion Core 8.0.16
追加済み¶
Transforming Spark XML to Snowpark
Databricks SQL option in the SQL source language
Transform JDBC read connections.
変更済み¶
All the SnowConvert reports are copied to the backup Zip file.
The folder is renamed from
SqlReportstoSnowConvertReports.SqlFunctionsInventoryis moved to the folderReports.All the SnowConvert Reports are sent to Telemetry.
修正済み¶
Non-deterministic issue with SQL Readiness Score.
Fixed a false-positive critical result that made the desktop crash.
Fixed issue causing the Artifacts dependency report not to show the SQL objects.
Version 2.7.2 (Jun 10, 2025)¶
Application & CLI Version 2.7.2¶
Included SMA Core Versions¶
Snowpark Conversion Core 8.0.2
修正済み¶
Addressed an issue with SMA execution on the latest Windows OS, as previously reported. This fix resolves the issues encountered in version 2.7.1.
Version 2.7.1 (Jun 9, 2025)¶
Application & CLI Version 2.7.1¶
Included SMA Core Versions¶
Snowpark Conversion Core 8.0.1
追加済み¶
The Snowpark Migration Accelerator (SMA) now orchestrates SnowConvert to process SQL found in user workloads, including embedded SQL in Python / Scala code, Notebook SQL cells, .sql files, and .hql files.
The SnowConvert now enhances the previous SMA capabilities:
A new folder in the Reports called SQL Reports contains the reports generated by SnowConvert.
Known Issues¶
The previous SMA version for SQL reports will appear empty for the following:
For
Reports/SqlElementsInventory.csv, partially covered by theReports/SqlReports/Elements.yyyymmdd.hhmmss.csv.For
Reports/SqlFunctionsInventory.csvrefer to the new location with the same name atReports/SqlReports/SqlFunctionsInventory.csv
The artifact dependency inventory:
In the
ArtifactDependencyInventorythe column for the SQL Object will appear empty
Version 2.6.10 (May 5, 2025)¶
Application & CLI Version 2.6.10¶
Included SMA Core Versions¶
Snowpark Conversion Core 7.4.0
修正済み¶
Fixed wrong values in the 'checkpoints.json' file.
The 'sample' value was without decimals (for integer values) and quotes.
The 'entryPoint' value had dots instead of slashes and was missing the file extension.
Updated the default value to TRUE for the setting 'Convert DBX notebooks to Snowflake notebooks'
Version 2.6.8 (Apr 28, 2025)¶
Application & CLI Version 2.6.8¶
Desktop App¶
Added checkpoints execution settings mechanism recognition.
Added a mechanism to collect DBX magic commands into DbxElementsInventory.csv
Added 'checkpoints.json' generation into the input directory.
Added a new EWI for all not supported magic command.
Added the collection of dbutils into DbxElementsInventory.csv from scala source notebooks
Included SMA Core Versions¶
Snowpark Conversion Core 7.2.53
変更済み¶
Updates made to handle transformations from DBX Scala elements to Jupyter Python elements, and to comment the entire code from the cell.
Updates made to handle transformations from dbutils.notebook.run and “r" commands, for the last one, also comment out the entire code from the cell.
Updated the name and the letter of the key to make the conversion of the notebook files.
修正済み¶
Fixed the bug that was causing the transformation of DBX notebooks into .ipynb files to have the wrong format.
Fixed the bug that was causing .py DBX notebooks to not be transformable into .ipynb files.
Fixed a bug that was causing comments to be missing in the output code of DBX notebooks.
Fixed a bug that was causing raw Scala files to be converted into ipynb files.
Version 2.6.7 (Apr 21, 2025)¶
Application & CLI Version 2.6.7¶
Included SMA Core Versions¶
Snowpark Conversion Core 7.2.42
変更済み¶
Updated DataFramesInventory to fill EntryPoints column
Version 2.6.6 (Apr 7, 2025)¶
Application & CLI Version 2.6.6¶
Desktop App¶
追加済み¶
Update DBx EWI link in the UI results page
Included SMA Core Versions¶
Snowpark Conversion Core 7.2.39
追加済み¶
Added Execution Flow inventory generation.
Added implicit session setup in every DBx notebook transformation
変更済み¶
Renamed the DbUtilsUsagesInventory.csv to DbxElementsInventory.csv
修正済み¶
Fixed a bug that caused a Parsing error when a backslash came after a type hint.
Fixed relative imports that do not start with a dot and relative imports with a star.
Version 2.6.5 (Mar 27, 2025)¶
Application & CLI Version 2.6.5¶
Desktop App¶
追加済み¶
Added a new conversion setting toggle to enable or disable Sma-Checkpoints feature.
Fix report issue to not crash when post api returns 500
Included SMA Core Versions¶
Snowpark Conversion Core 7.2.26
追加済み¶
Added generation of the checkpoints.json file into the output folder based on the DataFramesInventory.csv.
Added "disableCheckpoints" flag into the CLI commands and additional parameters of the code processor.
Added a new replacer for Python to transform the dbutils.notebook.run node.
Added new replacers to transform the magic %run command.
Added new replacers (Python and Scala) to remove the dbutils.notebook.exit node.
Added Location column to artifacts inventory.
変更済み¶
Refactored the normalized directory separator used in some parts of the solution.
Centralized the DBC extraction working folder name handling.
Updated Snowpark and Pandas version to v1.27.0
Updated the artifacts inventory columns to:
Name -> Dependency
File -> FileId
Status -> Status_detail
Added new column to the artifacts inventory:
Success
修正済み¶
Dataframes inventory was not being uploaded to the stage correctly.
Version 2.6.4 (Mar 12, 2025)¶
Application & CLI Version 2.6.4¶
Included SMA Core Versions ¶
Snowpark Conversion Core 7.2.0
Added ¶
An Artifact Dependency Inventory
A replacer and EWI for pyspark.sql.types.StructType.fieldNames method to snowflake.snowpark.types.StructType.fieldNames attribute.
The following PySpark functions with the status:
Direct Status
pyspark.sql.functions.bitmap_bit_positionpyspark.sql.functions.bitmap_bucket_numberpyspark.sql.functions.bitmap_construct_aggpyspark.sql.functions.equal_nullpyspark.sql.functions.ifnullpyspark.sql.functions.localtimestamppyspark.sql.functions.max_bypyspark.sql.functions.min_bypyspark.sql.functions.nvlpyspark.sql.functions.regr_avgxpyspark.sql.functions.regr_avgypyspark.sql.functions.regr_countpyspark.sql.functions.regr_interceptpyspark.sql.functions.regr_slopepyspark.sql.functions.regr_sxxpyspark.sql.functions.regr_sxypyspark.sql.functions.regr
NotSupported
pyspark.sql.functions.map_contains_keypyspark.sql.functions.positionpyspark.sql.functions.regr_r2pyspark.sql.functions.try_to_binary
The following Pandas functions with status
pandas.core.series.Series.str.ljustpandas.core.series.Series.str.centerpandas.core.series.Series.str.padpandas.core.series.Series.str.rjust
Update the following Pyspark functions with the status
From WorkAround to Direct
pyspark.sql.functions.acoshpyspark.sql.functions.asinhpyspark.sql.functions.atanhpyspark.sql.functions.instrpyspark.sql.functions.log10pyspark.sql.functions.log1ppyspark.sql.functions.log2
From NotSupported to Direct
pyspark.sql.functions.bit_lengthpyspark.sql.functions.cbrtpyspark.sql.functions.nth_valuepyspark.sql.functions.octet_lengthpyspark.sql.functions.base64pyspark.sql.functions.unbase64
Updated the folloing Pandas functions with the status
From NotSupported to Direct
pandas.core.frame.DataFrame.poppandas.core.series.Series.betweenpandas.core.series.Series.pop
Version 2.6.3 (Mar 6, 2025)¶
Application & CLI Version 2.6.3¶
Included SMA Core Versions ¶
Snowpark Conversion Core 7.1.13
Added ¶
Added csv generator class for new inventory creation.
Added "full_name" column to import usages inventory.
Added transformation from pyspark.sql.functions.concat_ws to snowflake.snowpark.functions._concat_ws_ignore_nulls.
Added logic for generation of checkpoints.json.
Added the inventories:
DataFramesInventory.csv.
CheckpointsInventory.csv
Version 2.6.0 (Feb 21, 2025)¶
Application & CLI Version 2.6.0¶
Desktop App ¶
Updated the licensing agreement, acceptance is required.
Included SMA Core Versions¶
Snowpark Conversion Core 7.1.2
追加済み
Updated the mapping status for the following PySpark elements, from NotSupported to Direct
pyspark.sql.types.ArrayType.jsonpyspark.sql.types.ArrayType.jsonValuepyspark.sql.types.ArrayType.simpleStringpyspark.sql.types.ArrayType.typeNamepyspark.sql.types.AtomicType.jsonpyspark.sql.types.AtomicType.jsonValuepyspark.sql.types.AtomicType.simpleStringpyspark.sql.types.AtomicType.typeNamepyspark.sql.types.BinaryType.jsonpyspark.sql.types.BinaryType.jsonValuepyspark.sql.types.BinaryType.simpleStringpyspark.sql.types.BinaryType.typeNamepyspark.sql.types.BooleanType.jsonpyspark.sql.types.BooleanType.jsonValuepyspark.sql.types.BooleanType.simpleStringpyspark.sql.types.BooleanType.typeNamepyspark.sql.types.ByteType.jsonpyspark.sql.types.ByteType.jsonValuepyspark.sql.types.ByteType.simpleStringpyspark.sql.types.ByteType.typeNamepyspark.sql.types.DecimalType.jsonpyspark.sql.types.DecimalType.jsonValuepyspark.sql.types.DecimalType.simpleStringpyspark.sql.types.DecimalType.typeNamepyspark.sql.types.DoubleType.jsonpyspark.sql.types.DoubleType.jsonValuepyspark.sql.types.DoubleType.simpleStringpyspark.sql.types.DoubleType.typeNamepyspark.sql.types.FloatType.jsonpyspark.sql.types.FloatType.jsonValuepyspark.sql.types.FloatType.simpleStringpyspark.sql.types.FloatType.typeNamepyspark.sql.types.FractionalType.jsonpyspark.sql.types.FractionalType.jsonValuepyspark.sql.types.FractionalType.simpleStringpyspark.sql.types.FractionalType.typeNamepyspark.sql.types.IntegerType.jsonpyspark.sql.types.IntegerType.jsonValuepyspark.sql.types.IntegerType.simpleStringpyspark.sql.types.IntegerType.typeNamepyspark.sql.types.IntegralType.jsonpyspark.sql.types.IntegralType.jsonValuepyspark.sql.types.IntegralType.simpleStringpyspark.sql.types.IntegralType.typeNamepyspark.sql.types.LongType.jsonpyspark.sql.types.LongType.jsonValuepyspark.sql.types.LongType.simpleStringpyspark.sql.types.LongType.typeNamepyspark.sql.types.MapType.jsonpyspark.sql.types.MapType.jsonValuepyspark.sql.types.MapType.simpleStringpyspark.sql.types.MapType.typeNamepyspark.sql.types.NullType.jsonpyspark.sql.types.NullType.jsonValuepyspark.sql.types.NullType.simpleStringpyspark.sql.types.NullType.typeNamepyspark.sql.types.NumericType.jsonpyspark.sql.types.NumericType.jsonValuepyspark.sql.types.NumericType.simpleStringpyspark.sql.types.NumericType.typeNamepyspark.sql.types.ShortType.jsonpyspark.sql.types.ShortType.jsonValuepyspark.sql.types.ShortType.simpleStringpyspark.sql.types.ShortType.typeNamepyspark.sql.types.StringType.jsonpyspark.sql.types.StringType.jsonValuepyspark.sql.types.StringType.simpleStringpyspark.sql.types.StringType.typeNamepyspark.sql.types.StructType.jsonpyspark.sql.types.StructType.jsonValuepyspark.sql.types.StructType.simpleStringpyspark.sql.types.StructType.typeNamepyspark.sql.types.TimestampType.jsonpyspark.sql.types.TimestampType.jsonValuepyspark.sql.types.TimestampType.simpleStringpyspark.sql.types.TimestampType.typeNamepyspark.sql.types.StructField.simpleStringpyspark.sql.types.StructField.typeNamepyspark.sql.types.StructField.jsonpyspark.sql.types.StructField.jsonValuepyspark.sql.types.DataType.jsonpyspark.sql.types.DataType.jsonValuepyspark.sql.types.DataType.simpleStringpyspark.sql.types.DataType.typeNamepyspark.sql.session.SparkSession.getActiveSessionpyspark.sql.session.SparkSession.versionpandas.io.html.read_htmlpandas.io.json._normalize.json_normalizepyspark.sql.types.ArrayType.fromJsonpyspark.sql.types.MapType.fromJsonpyspark.sql.types.StructField.fromJsonpyspark.sql.types.StructType.fromJsonpandas.core.groupby.generic.DataFrameGroupBy.pct_changepandas.core.groupby.generic.SeriesGroupBy.pct_change
Updated the mapping status for the following Pandas elements, from NotSupported to Direct
pandas.io.html.read_htmlpandas.io.json._normalize.json_normalizepandas.core.groupby.generic.DataFrameGroupBy.pct_changepandas.core.groupby.generic.SeriesGroupBy.pct_change
Updated the mapping status for the following PySpark elements, from Rename to Direct
pyspark.sql.functions.collect_listpyspark.sql.functions.size
Fixed ¶
Standardized the format of the version number in the inventories.
Version 2.5.2 (Feb 5, 2025)¶
ホットフィックス: アプリケーションと CLI バージョン2.5.2¶
Desktop App¶
サンプルプロジェクトオプションで変換する際の問題を修正しました。
Included SMA Core Versions¶
Snowpark Conversion Core 5.3.0
Version 2.5.1 (Feb 4, 2025)¶
アプリケーションと CLI バージョン2.5.1¶
Desktop App¶
ユーザーに書き込み権限がない場合の新しいモーダルを追加しました。
ライセンス契約の更新には、承諾が必要です。
CLI¶
「--version」または「-v」を表示した際の CLI 画面の年号を修正しました。
含まれる SMA コアバージョンincluded-sma-core-versions¶
Snowpark Conversion Core 5.3.0
追加済み¶
Added the following Python Third-Party libraries with Direct status:
about-timeaffinegapaiohappyeyeballsalibi-detectalive-progressallure-nose2allure-robotframeworkanaconda-cloud-clianaconda-mirrorastropy-iers-dataasynchasyncsshautotsautovimlaws-msk-iam-sasl-signer-pythonazure-functionsbackports.tarfileblasbottlebsoncairocapnprotocaptumcategorical-distancecensusclickhouse-driverclustergramcmaconda-anaconda-telemetryconfigspacecpp-expecteddask-exprdata-science-utilsdatabricks-sdkdatetime-distancedb-dtypesdedupededupe-variable-datetimededupe_lehvenshtein_searchdedupe_levenshtein_searchdiff-coverdiptestdmglibdocstring_parserdoublemetaphonedspy-aieconmlemceeemojienvironseth-abieth-hasheth-typingeth-utilsexpatfiletypefitterflask-corsfpdf2frozendictgcabgeojsongettextglib-toolsgoogle-adsgoogle-ai-generativelanguagegoogle-api-python-clientgoogle-auth-httplib2google-cloud-bigquerygoogle-cloud-bigquery-coregoogle-cloud-bigquery-storagegoogle-cloud-bigquery-storage-coregoogle-cloud-resource-managergoogle-generativeaigooglemapsgraphemegraphenegraphql-relaygravisgreykitegrpc-google-iam-v1harfbuzzhatch-fancy-pypi-readmehaversinehiclasshicolor-icon-themehigheredhmmlearnholidays-exthttplib2icuimbalanced-ensembleimmutabledictimportlib-metadataimportlib-resourcesinquirerpyiterative-telemetryjaraco.contextjaraco.testjiterjiwerjoserfcjsoncppjsonpathjsonpath-ngjsonpath-pythonkagglehubkeplerglkt-legacylangchain-communitylangchain-experimentallangchain-snowflakelangchain-text-splitterslibabseillibflaclibgfortran-nglibgfortran5libgliblibgomplibgrpclibgsflibmagiclibogglibopenblaslibpostallibprotobuflibsentencepiecelibsndfilelibstdcxx-nglibtheoralibtifflibvorbislibwebplightweight-mmmlitestarlitestar-with-annotated-typeslitestar-with-attrslitestar-with-cryptographylitestar-with-jinjalitestar-with-jwtlitestar-with-prometheuslitestar-with-structloglunarcalendar-extmatplotlib-vennmetricksmimesismodin-raymomepympg123msgspecmsgspec-tomlmsgspec-yamlmsitoolsmultipartnamexnbconvert-allnbconvert-corenbconvert-pandocnlohmann_jsonnumba-cudanumpyrooffice365-rest-python-clientopenapi-pydanticopentelemetry-distroopentelemetry-instrumentationopentelemetry-instrumentation-system-metricsoptreeosmnxpathlibpdf2imagepfzypgpyplumbumpm4pypolarspolyfactorypoppler-cpppostalpre-commitprompt-toolkitpropcachepy-partiql-parserpy_stringmatchingpyatlanpyfakefspyfhelpyhacrf-datamadepyicebergpykrb5pylbfgspymilvuspymoopynisherpyomopypdfpypdf-with-cryptopypdf-with-fullpypdf-with-imagepypngpyprindpyrfrpysoundfilepytest-codspeedpytest-triopython-barcodepython-boxpython-docxpython-gssapipython-iso639python-magicpython-pandocpython-zstdpyucapyvinecopulibpyxirrqrcoderai-sdkray-clientray-observabilityreadlinerich-clickrouge-scoreruffscikit-criteriascikit-mobilitysentencepiece-pythonsentencepiece-spmsetuptools-markdownsetuptools-scmsetuptools-scm-git-archiveshareplumsimdjsonsimplecosinesis-extrasslack-sdksmacsnowflake-sqlalchemysnowflake_legacysocrata-pyspdlogsphinxcontrib-imagessphinxcontrib-jquerysphinxcontrib-youtubesplunk-opentelemetrysqlfluffsquarifyst-themestatisticsstreamlit-antd-componentsstreamlit-condition-treestreamlit-echartsstreamlit-feedbackstreamlit-keplerglstreamlit-mermaidstreamlit-navigation-barstreamlit-option-menustrictyamlstringdistsybiltensorflow-cputensorflow-texttiledb-ptorchaudiotorchevaltrio-websockettrulens-connectors-snowflaketrulens-coretrulens-dashboardtrulens-feedbacktrulens-otel-semconvtrulens-providers-cortextsdownsampletypingtyping-extensionstyping_extensionsunittest-xml-reportinguritemplateusuuid6wfdbwsprotozlibzope.index
Added the following Python BuiltIn libraries with Direct status:
aifc配列astasynchatasyncioasyncoreatexitaudioopbase64bdbbinasciibitsectbuiltinsbz2calendarcgicgitbchunkcmathcmdcodecodecscodeopcolorsyscompileallconcurrentcontextlibcontextvarscopycopyregcprofilecryptcsvctypescursesdbmdifflibdisdistutilsdoctestemailensurepipenumerrnofaulthandlerfcntlfilecmpfileinputfnmatchfractionsftplibfunctoolsgcgetoptgetpassgettextgraphlibgrpgziphashlibheapqhmachtmlhttpidlelibimaplibimghdrimpimportlibinspectipaddressitertoolskeywordlinecachelocalelzmamailboxmailcapmarshalmathmimetypesmmapmodulefindermsilibmultiprocessingnetrcnisnntplibnumbersoperatoroptparseossaudiodevpdbpicklepickletoolspipespkgutilplatformplistlibpoplibposixpprintprofilepstatsptypwdpy_compilepyclbrpydocqueuequoprirandomrereprlibresourcerlcompleterrunpyschedシークレットselectselectorsshelveshlexsignalsitesitecustomizesmtpdsmtplibsndhdrsocketsocketserverspwdsqlite3sslstat文字列stringprepstructsubprocesssunausymtablesysconfigsyslogtabnannytarfiletelnetlibtempfiletermiostesttextwrapthreadingtimeittkinterトークンtokenizetomllibtracetracebacktracemallocttyturtleturtledemotypesunicodedataurllibuuuuidvenvwarningswaveweakrefwebbrowserwsgirefxdrlibxmlxmlrpczipappzipfilezipimportzoneinfo
Added the following Python BuiltIn libraries with NotSupported status:
msvcrtwinregwinsound
変更済み¶
.NET バージョンをv9.0.0に更新。
EWI SPRKPY1068 を改善。
SMA でサポートされるSnowpark Python API のバージョンを1.24.0 から 1.25.0に引き上げました。
パンダのSnowparkバージョンを追加しました。
以下のライブラリを ThirdPartyLib から BuiltIn に変更。
configparserdataclassespathlibreadlinestatisticszlib
Updated the mapping status for the following Pandas elements, from Direct to Partial:
pandas.core.frame.DataFrame.addpandas.core.frame.DataFrame.aggregatepandas.core.frame.DataFrame.allpandas.core.frame.DataFrame.applypandas.core.frame.DataFrame.astypepandas.core.frame.DataFrame.cumsumpandas.core.frame.DataFrame.divpandas.core.frame.DataFrame.dropnapandas.core.frame.DataFrame.eqpandas.core.frame.DataFrame.ffillpandas.core.frame.DataFrame.fillnapandas.core.frame.DataFrame.floordivpandas.core.frame.DataFrame.gepandas.core.frame.DataFrame.groupbypandas.core.frame.DataFrame.gtpandas.core.frame.DataFrame.idxmaxpandas.core.frame.DataFrame.idxminpandas.core.frame.DataFrame.infpandas.core.frame.DataFrame.joinpandas.core.frame.DataFrame.lepandas.core.frame.DataFrame.locpandas.core.frame.DataFrame.ltpandas.core.frame.DataFrame.maskpandas.core.frame.DataFrame.mergepandas.core.frame.DataFrame.modpandas.core.frame.DataFrame.mulpandas.core.frame.DataFrame.nepandas.core.frame.DataFrame.nuniquepandas.core.frame.DataFrame.pivot_tablepandas.core.frame.DataFrame.powpandas.core.frame.DataFrame.raddpandas.core.frame.DataFrame.rankpandas.core.frame.DataFrame.rdivpandas.core.frame.DataFrame.renamepandas.core.frame.DataFrame.replacepandas.core.frame.DataFrame.resamplepandas.core.frame.DataFrame.rfloordivpandas.core.frame.DataFrame.rmodpandas.core.frame.DataFrame.rmulpandas.core.frame.DataFrame.rollingpandas.core.frame.DataFrame.roundpandas.core.frame.DataFrame.rpowpandas.core.frame.DataFrame.rsubpandas.core.frame.DataFrame.rtruedivpandas.core.frame.DataFrame.shiftpandas.core.frame.DataFrame.skewpandas.core.frame.DataFrame.sort_indexpandas.core.frame.DataFrame.sort_valuespandas.core.frame.DataFrame.subpandas.core.frame.DataFrame.to_dictpandas.core.frame.DataFrame.transformpandas.core.frame.DataFrame.transposepandas.core.frame.DataFrame.truedivpandas.core.frame.DataFrame.varpandas.core.indexes.datetimes.date_rangepandas.core.reshape.concat.concatpandas.core.reshape.melt.meltpandas.core.reshape.merge.mergepandas.core.reshape.pivot.pivot_tablepandas.core.reshape.tile.cutpandas.core.series.Series.addpandas.core.series.Series.aggregatepandas.core.series.Series.allpandas.core.series.Series.anypandas.core.series.Series.cumsumpandas.core.series.Series.divpandas.core.series.Series.dropnapandas.core.series.Series.eqpandas.core.series.Series.ffillpandas.core.series.Series.fillnapandas.core.series.Series.floordivpandas.core.series.Series.gepandas.core.series.Series.gtpandas.core.series.Series.ltpandas.core.series.Series.maskpandas.core.series.Series.modpandas.core.series.Series.mulpandas.core.series.Series.multiplypandas.core.series.Series.nepandas.core.series.Series.powpandas.core.series.Series.quantilepandas.core.series.Series.raddpandas.core.series.Series.rankpandas.core.series.Series.rdivpandas.core.series.Series.renamepandas.core.series.Series.replacepandas.core.series.Series.resamplepandas.core.series.Series.rfloordivpandas.core.series.Series.rmodpandas.core.series.Series.rmulpandas.core.series.Series.rollingpandas.core.series.Series.rpowpandas.core.series.Series.rsubpandas.core.series.Series.rtruedivpandas.core.series.Series.samplepandas.core.series.Series.shiftpandas.core.series.Series.skewpandas.core.series.Series.sort_indexpandas.core.series.Series.sort_valuespandas.core.series.Series.stdpandas.core.series.Series.subpandas.core.series.Series.subtractpandas.core.series.Series.truedivpandas.core.series.Series.value_countspandas.core.series.Series.varpandas.core.series.Series.wherepandas.core.tools.numeric.to_numeric
Updated the mapping status for the following Pandas elements, from NotSupported to Direct:
pandas.core.frame.DataFrame.attrspandas.core.indexes.base.Index.to_numpypandas.core.series.Series.str.lenpandas.io.html.read_htmlpandas.io.xml.read_xmlpandas.core.indexes.datetimes.DatetimeIndex.meanpandas.core.resample.Resampler.indicespandas.core.resample.Resampler.nuniquepandas.core.series.Series.itemspandas.core.tools.datetimes.to_datetimepandas.io.sas.sasreader.read_saspandas.core.frame.DataFrame.attrspandas.core.frame.DataFrame.stylepandas.core.frame.DataFrame.itemspandas.core.groupby.generic.DataFrameGroupBy.headpandas.core.groupby.generic.DataFrameGroupBy.medianpandas.core.groupby.generic.DataFrameGroupBy.minpandas.core.groupby.generic.DataFrameGroupBy.nuniquepandas.core.groupby.generic.DataFrameGroupBy.tailpandas.core.indexes.base.Index.is_booleanpandas.core.indexes.base.Index.is_floatingpandas.core.indexes.base.Index.is_integerpandas.core.indexes.base.Index.is_monotonic_decreasingpandas.core.indexes.base.Index.is_monotonic_increasingpandas.core.indexes.base.Index.is_numericpandas.core.indexes.base.Index.is_objectpandas.core.indexes.base.Index.maxpandas.core.indexes.base.Index.minpandas.core.indexes.base.Index.namepandas.core.indexes.base.Index.namespandas.core.indexes.base.Index.renamepandas.core.indexes.base.Index.set_namespandas.core.indexes.datetimes.DatetimeIndex.day_namepandas.core.indexes.datetimes.DatetimeIndex.month_namepandas.core.indexes.datetimes.DatetimeIndex.timepandas.core.indexes.timedeltas.TimedeltaIndex.ceilpandas.core.indexes.timedeltas.TimedeltaIndex.dayspandas.core.indexes.timedeltas.TimedeltaIndex.floorpandas.core.indexes.timedeltas.TimedeltaIndex.microsecondspandas.core.indexes.timedeltas.TimedeltaIndex.nanosecondspandas.core.indexes.timedeltas.TimedeltaIndex.roundpandas.core.indexes.timedeltas.TimedeltaIndex.secondspandas.core.reshape.pivot.crosstabpandas.core.series.Series.dt.roundpandas.core.series.Series.dt.timepandas.core.series.Series.dt.weekdaypandas.core.series.Series.is_monotonic_decreasingpandas.core.series.Series.is_monotonic_increasing
Updated the mapping status for the following Pandas elements, from NotSupported to Partial:
pandas.core.frame.DataFrame.alignpandas.core.series.Series.alignpandas.core.frame.DataFrame.tz_convertpandas.core.frame.DataFrame.tz_localizepandas.core.groupby.generic.DataFrameGroupBy.fillnapandas.core.groupby.generic.SeriesGroupBy.fillnapandas.core.indexes.datetimes.bdate_rangepandas.core.indexes.datetimes.DatetimeIndex.stdpandas.core.indexes.timedeltas.TimedeltaIndex.meanpandas.core.resample.Resampler.asfreqpandas.core.resample.Resampler.quantilepandas.core.series.Series.mappandas.core.series.Series.tz_convertpandas.core.series.Series.tz_localizepandas.core.window.expanding.Expanding.countpandas.core.window.rolling.Rolling.countpandas.core.groupby.generic.DataFrameGroupBy.aggregatepandas.core.groupby.generic.SeriesGroupBy.aggregatepandas.core.frame.DataFrame.applymappandas.core.series.Series.applypandas.core.groupby.generic.DataFrameGroupBy.bfillpandas.core.groupby.generic.DataFrameGroupBy.ffillpandas.core.groupby.generic.SeriesGroupBy.bfillpandas.core.groupby.generic.SeriesGroupBy.ffillpandas.core.frame.DataFrame.backfillpandas.core.frame.DataFrame.bfillpandas.core.frame.DataFrame.comparepandas.core.frame.DataFrame.unstackpandas.core.frame.DataFrame.asfreqpandas.core.series.Series.backfillpandas.core.series.Series.bfillpandas.core.series.Series.comparepandas.core.series.Series.unstackpandas.core.series.Series.asfreqpandas.core.series.Series.argmaxpandas.core.series.Series.argminpandas.core.indexes.accessors.CombinedDatetimelikeProperties.microsecondpandas.core.indexes.accessors.CombinedDatetimelikeProperties.nanosecondpandas.core.indexes.accessors.CombinedDatetimelikeProperties.day_namepandas.core.indexes.accessors.CombinedDatetimelikeProperties.month_namepandas.core.indexes.accessors.CombinedDatetimelikeProperties.month_startpandas.core.indexes.accessors.CombinedDatetimelikeProperties.month_endpandas.core.indexes.accessors.CombinedDatetimelikeProperties.is_year_startpandas.core.indexes.accessors.CombinedDatetimelikeProperties.is_year_endpandas.core.indexes.accessors.CombinedDatetimelikeProperties.is_quarter_startpandas.core.indexes.accessors.CombinedDatetimelikeProperties.is_quarter_endpandas.core.indexes.accessors.CombinedDatetimelikeProperties.is_leap_yearpandas.core.indexes.accessors.CombinedDatetimelikeProperties.floorpandas.core.indexes.accessors.CombinedDatetimelikeProperties.ceilpandas.core.groupby.generic.DataFrameGroupBy.idxmaxpandas.core.groupby.generic.DataFrameGroupBy.idxminpandas.core.groupby.generic.DataFrameGroupBy.stdpandas.core.indexes.timedeltas.TimedeltaIndex.meanpandas.core.tools.timedeltas.to_timedelta
既知の問題¶
このバージョンでは、サンプルプロジェクトを変換する際に動作しない問題が含まれています。 次のリリースで修正される予定です
Version 2.4.3 (Jan 9, 2025)¶
アプリケーションと CLI バージョン2.4.3¶
Desktop App¶
クラッシュレポートモーダル内にトラブルシューティングガイドへのリンクを追加しました。
Included SMA Core Versions¶
Snowpark Conversion Core 4.15.0
追加済み¶
ConversionStatusPySpark.csvファイルに
NotSupportedとして以下の PySpark 要素を追加しましたpyspark.sql.streaming.readwriter.DataStreamReader.tablepyspark.sql.streaming.readwriter.DataStreamReader.schemapyspark.sql.streaming.readwriter.DataStreamReader.optionspyspark.sql.streaming.readwriter.DataStreamReader.optionpyspark.sql.streaming.readwriter.DataStreamReader.loadpyspark.sql.streaming.readwriter.DataStreamReader.formatpyspark.sql.streaming.query.StreamingQuery.awaitTerminationpyspark.sql.streaming.readwriter.DataStreamWriter.partitionBypyspark.sql.streaming.readwriter.DataStreamWriter.toTablepyspark.sql.streaming.readwriter.DataStreamWriter.triggerpyspark.sql.streaming.readwriter.DataStreamWriter.queryNamepyspark.sql.streaming.readwriter.DataStreamWriter.outputModepyspark.sql.streaming.readwriter.DataStreamWriter.formatpyspark.sql.streaming.readwriter.DataStreamWriter.optionpyspark.sql.streaming.readwriter.DataStreamWriter.foreachBatchpyspark.sql.streaming.readwriter.DataStreamWriter.start
変更済み¶
Hive SQL EWIs 形式を更新しました。
SPRKHVSQL1001
SPRKHVSQL1002
SPRKHVSQL1003
SPRKHVSQL1004
SPRKHVSQL1005
SPRKHVSQL1006
Spark SQL EWIs 形式を更新しました。
SPRKSPSQL1001
SPRKSPSQL1002
SPRKSPSQL1003
SPRKSPSQL1004
SPRKSPSQL1005
SPRKSPSQL1006
修正済み¶
ツールによって識別されない PySpark 要素があったバグを修正しました。
ThirdParty が識別した呼び出しと ThirdParty のインポート呼び出し番号との不一致を修正しました。
Version 2.4.2 (Dec 13, 2024)¶
Application & CLI Version 2.4.2¶
Included SMA Core Versions¶
Snowpark Conversion Core 4.14.0
追加済み¶
ConversionStatusPySpark.csvに以下のSpark要素を追加しました。
pyspark.broadcast.Broadcast.valuepyspark.conf.SparkConf.getAllpyspark.conf.SparkConf.setAllpyspark.conf.SparkConf.setMasterpyspark.context.SparkContext.addFilepyspark.context.SparkContext.addPyFilepyspark.context.SparkContext.binaryFilespyspark.context.SparkContext.setSystemPropertypyspark.context.SparkContext.versionpyspark.files.SparkFilespyspark.files.SparkFiles.getpyspark.rdd.RDD.countpyspark.rdd.RDD.distinctpyspark.rdd.RDD.reduceByKeypyspark.rdd.RDD.saveAsTextFilepyspark.rdd.RDD.takepyspark.rdd.RDD.zipWithIndexpyspark.sql.context.SQLContext.udfpyspark.sql.types.StructType.simpleString
変更済み¶
Pandas EWIs、
PNDSPY1001、PNDSPY1002、PNDSPY1003、およびSPRKSCL1137のドキュメントを更新し、標準化された形式に合わせることで、すべての EWIs の一貫性と明瞭性を確保しました。以下のScala EWIs のドキュメントを更新しました:
SPRKSCL1106とSPRKSCL1107。標準形式に合わせることで、すべての EWIs で一貫性と明瞭性を確保。
修正済み¶
UserDefined シンボルがサードパーティの使用インベントリに表示されるバグを修正しました。
Version 2.4.1 (Dec 4, 2024)¶
Application & CLI Version 2.4.1¶
Included SMA Core Versions¶
Snowpark Conversion Core 4.13.1
Command Line Interface¶
変更済み
出力フォルダーにタイムスタンプを追加しました。
Snowpark Conversion Core 4.13.1¶
追加済み¶
ライブラリマッピングテーブルに「Source Language」列を追加しました
DetailedReport.docxのPandas API 概要テーブルに新しいカテゴリとして
Othersを追加しました。
変更済み¶
Python EWI
SPRKPY1058のドキュメントを更新しました。pandas EWI
PNDSPY1002のメッセージを更新し、関連するpandas要素を表示するようにしました。.csvレポートの作成方法が更新され、2回目の実行で上書きされるようになりました。
修正済み¶
Notebooksファイルが出力されない原因となっていたバグを修正しました。
pyspark.sql.conf.RuntimeConfigからget、setメソッドのリプレイサーを修正しました。リプレイサーが正しいフルネームと一致するようになりました。クエリタグのバージョンが間違っていたのを修正しました。
ThirdPartyLib として報告された UserDefined パッケージを修正。
\
Version 2.3.1 (Nov 14, 2024)¶
Application & CLI Version 2.3.1¶
Included SMA Core Versions¶
Snowpark Conversion Core 4.12.0
Desktop App¶
修正済み
--sqlオプションの大文字と小文字を区別する問題を修正。
削除済み
show-acメッセージからプラットフォーム名を削除。
Snowpark Conversion Core 4.12.0¶
追加済み¶
Snowpark Python 1.23.0と1.24.0のサポートを追加しました。
pyspark.sql.dataframe.DataFrame.writeTo関数の新しい EWI を追加しました。この関数の使用すべてに EWI SPRKPY1087 が指定されるようになりました。
変更済み¶
Scala EWIs のドキュメントを
SPRKSCL1137からSPRKSCL1156に更新して標準化された形式に合わせることで、すべての EWIs で一貫性と明瞭性を確保しました。Scala EWIs のドキュメントを
SPRKSCL1117からSPRKSCL1136に更新して標準化された形式に合わせることで、すべての EWIs で一貫性と明瞭性を確保しました。以下の EWIs に表示されるメッセージを更新しました。
SPRKPY1082
SPRKPY1083
Scala EWIs のドキュメントを
SPRKSCL1100からSPRKSCL1105に、SPRKSCL1108からSPRKSCL1116に、SPRKSCL1157からSPRKSCL1175に更新して標準化された形式に合わせることで、すべての EWIs で一貫性と明瞭性を確保しました。以下の PySpark 要素のマッピングステータスを、 EWI を使用して NotSupported から Direct に更新しました。
pyspark.sql.readwriter.DataFrameWriter.option=>snowflake.snowpark.DataFrameWriter.option: この関数の使用はすべて EWI SPRKPY1088 を使用するようになりましたpyspark.sql.readwriter.DataFrameWriter.options=>snowflake.snowpark.DataFrameWriter.options: この関数の使用は全て EWI SPRKPY1089 を使用するようになりました
以下の PySpark 要素のマッピングステータスを Workaround から Rename に更新しました。
pyspark.sql.readwriter.DataFrameWriter.partitionBy=>snowflake.snowpark.DataFrameWriter.partition_by
EWI ドキュメントを更新しました: SPRKSCL1000、 SPRKSCL1001、 SPRKSCL1002、 SPRKSCL1100、 SPRKSCL1101、 SPRKSCL1102、 SPRKSCL1103、 SPRKSCL1104、 SPRKSCL1105。
Removed¶
pyspark.sql.dataframe.DataFrameStatFunctions.writeTo要素を変換ステータスから削除しました。この要素は存在しません。
非推奨¶
以下の EWI コードを非推奨としました:
SPRKPY1081
SPRKPY1084
Version 2.3.0 (Oct 30, 2024)¶
アプリケーションと CLI バージョン2.3.0¶
Snowpark Conversion Core 4.11.0
Snowpark Conversion Core 4.11.0¶
追加済み¶
Issues.csvファイルに、対応する EWI ドキュメントにリダイレクトするUrlという新しい列を追加しました。以下のSpark要素に新しい EWIs を追加しました:
[SPRKPY1082] pyspark.sql.readwriter.DataFrameReader.load
[SPRKPY1083] pyspark.sql.readwriter.DataFrameWriter.save
[SPRKPY1084] pyspark.sql.readwriter.DataFrameWriter.option
[SPRKPY1085] pyspark.ml.feature.VectorAssembler
[SPRKPY1086] pyspark.ml.linalg.VectorUDT
38の新しいPandas要素を追加しました:
pandas.core.frame.DataFrame.select
andas.core.frame.DataFrame.str
pandas.core.frame.DataFrame.str.replace
pandas.core.frame.DataFrame.str.upper
pandas.core.frame.DataFrame.to_list
pandas.core.frame.DataFrame.tolist
pandas.core.frame.DataFrame.unique
pandas.core.frame.DataFrame.values.tolist
pandas.core.frame.DataFrame.withColumn
pandas.core.groupby.generic._SeriesGroupByScalar
pandas.core.groupby.generic._SeriesGroupByScalar[S1].agg
pandas.core.groupby.generic._SeriesGroupByScalar[S1].aggregate
pandas.core.indexes.datetimes.DatetimeIndex.year
pandas.core.series.Series.columns
pandas.core.tools.datetimes.to_datetime.date
pandas.core.tools.datetimes.to_datetime.dt.strftime
pandas.core.tools.datetimes.to_datetime.strftime
pandas.io.parsers.readers.TextFileReader.apply
pandas.io.parsers.readers.TextFileReader.astype
pandas.io.parsers.readers.TextFileReader.columns
pandas.io.parsers.readers.TextFileReader.copy
pandas.io.parsers.readers.TextFileReader.drop
pandas.io.parsers.readers.TextFileReader.drop_duplicates
pandas.io.parsers.readers.TextFileReader.fillna
pandas.io.parsers.readers.TextFileReader.groupby
pandas.io.parsers.readers.TextFileReader.head
pandas.io.parsers.readers.TextFileReader.iloc
pandas.io.parsers.readers.TextFileReader.isin
pandas.io.parsers.readers.TextFileReader.iterrows
pandas.io.parsers.readers.TextFileReader.loc
pandas.io.parsers.readers.TextFileReader.merge
pandas.io.parsers.readers.TextFileReader.rename
pandas.io.parsers.readers.TextFileReader.shape
pandas.io.parsers.readers.TextFileReader.to_csv
pandas.io.parsers.readers.TextFileReader.to_excel
pandas.io.parsers.readers.TextFileReader.unique
pandas.io.parsers.readers.TextFileReader.values
pandas.tseries.offsets
Version 2.2.3 (Oct 24, 2024)¶
Application Version 2.2.3¶
Included SMA Core Versions¶
Snowpark Conversion Core 4.10.0
Desktop App¶
修正済み¶
Windowsバージョンのメニューバーで、 SMA に Snowpark Migration Accelerator ではなく SnowConvert というラベルが表示される原因となっていたバグを修正しました。
macOS の
.configディレクトリ、およびWindowsのAppDataディレクトリに対する読み取り権限と書き込み権限がない場合に、 SMA がクラッシュする原因となっていたバグを修正しました。
Command Line Interface¶
変更済み
CLI の実行ファイル名を
snowctからsmaに変更しました。ソース言語の引数が削除され、PythonかScalaの評価/変換を実行するかどうかを指定する必要がなくなりました。
以下の新しい引数を追加することにより、 CLI がサポートするコマンドライン引数を拡張しました:
--enableJupyter|-j: DatabricksノートブックのJupyterへの変換を有効にするかどうかを示すフラグ。--sql|-f: SQL コマンドが検出されたときに使用されるデータベースエンジンの構文。--customerEmail|-e: 顧客メールを構成します。--customerCompany|-c: 顧客企業を構成します。--projectName|-p: 顧客プロジェクトを構成します。
アプリケーションの正しい名称を反映し、すべてのメッセージの一貫性と明瞭性を確保するために、一部のテキストを更新しました。
アプリケーションの利用規約を更新しました。
CLI のドキュメントを更新および拡充し、最新の機能、拡張、変更を反映させました。
SMA の実行に移る前に表示されるテキストを更新しました。
CLI を更新し、 「Yes」 を有効な引数として受け付けるようにしました。
引数
-yまたは--yesを指定することで、ユーザーの操作を待たずに CLI の実行を継続できるようにしました。--sql引数のヘルプ情報を更新し、この引数が期待する値を表示するようにしました。
Snowpark Conversion Core Version 4.10.0¶
追加済み¶
pyspark.sql.readwriter.DataFrameWriter.partitionBy関数の新しい EWI を追加しました。この関数の使用すべてに EWI SPRKPY1081 が指定されるようになりました。ImportUsagesInventory.csvファイルに、Technologyという新しい列を追加しました。
変更済み¶
サードパーティライブラリのレディネススコアが更新され、
Unknownライブラリも考慮されるようになりました。AssessmentFiles.zipファイルを更新し、.pamファイルの代わりに.jsonファイルを含めるようにしました。CSV から JSON への変換メカニズムを改善し、在庫処理のパフォーマンスを向上しました。
以下の EWIs のドキュメントを改善しました:
SPRKPY1029
SPRKPY1054
SPRKPY1055
SPRKPY1063
SPRKPY1075
SPRKPY1076
以下のSpark Scala要素のマッピングステータスを
DirectからRenameに更新しました。org.apache.spark.sql.functions.shiftLeft=>com.snowflake.snowpark.functions.shiftleftorg.apache.spark.sql.functions.shiftRight=>com.snowflake.snowpark.functions.shiftright
以下のSpark Scala要素のマッピングステータスを
Not SupportedからDirectに更新しました。org.apache.spark.sql.functions.shiftleft=>com.snowflake.snowpark.functions.shiftleftorg.apache.spark.sql.functions.shiftright=>com.snowflake.snowpark.functions.shiftright
修正済み¶
ImportUsagesInventory.csvファイルのOrigin列に SMA が正しく入力されない原因となっていたバグを修正しました。SMA が
io、json、logging、およびunittestのライブラリのインポートをPython組み込みインポートとしてImportUsagesInventory.csvファイルとDetailedReport.docxファイルで分類しない原因となっていたバグを修正しました
Version 2.2.2 (Oct 11, 2024)¶
アプリケーションバージョン2.2.2¶
機能アップデートは以下の通りです:
Snowpark Conversion Core 4.8.0
Snowpark Conversion Core バージョン4.8.0¶
追加済み¶
EwiCatalog.csvと.mdファイルを追加し、ドキュメントを再編成しました。pyspark.sql.functions.lnDirectのマッピングステータスを追加しました。pyspark.context.SparkContext.getOrCreate用の変換を追加しました。詳細は EWI SPRKPY1080 をご確認ください。
関数内のパラメーターの型推論、 SymbolTable を改善しました。
静的メソッドの SymbolTable サポートを追加し、最初のパラメーターが自身であると仮定しないように動作を更新しました。
不足していた EWIs のドキュメントを追加しました。
SPRKHVSQL1005
SPRKHVSQL1006
SPRKSPSQL1005
SPRKSPSQL1006
SPRKSCL1002
SPRKSCL1170
SPRKSCL1171
SPRKPY1057
SPRKPY1058
SPRKPY1059
SPRKPY1060
SPRKPY1061
SPRKPY1064
SPRKPY1065
SPRKPY1066
SPRKPY1067
SPRKPY1069
SPRKPY1070
SPRKPY1077
SPRKPY1078
SPRKPY1079
SPRKPY1101
変更済み¶
以下のマッピングステータスを更新しました:
pyspark.sql.functions.array_removeをNotSupportedからDirectへ。
修正済み¶
詳細レポートのCode File Sizingテーブルを修正し、.sqlと.hqlファイルを除外し、テーブルにExtra Large行を追加しました。
SparkSessionがPythonで複数行に定義されている場合にupdate_query_tagが欠落していたのを修正しました。SparkSessionがScalaで複数行に定義されている場合にupdate_query_tagが欠落していたのを修正しました。いくつかの SQL ステートメントで解析エラーが発生した場合に、 EWI
SPRKHVSQL1001が欠落していたのを修正しました。文字列リテラル内の改行値を保持するように修正しました
File Type Summaryテーブルに表示されるコード行数を修正しました
ファイル認識に成功した場合、解析スコアが0と表示されていた問題を修正しました
Databricks Magic SQL セルのセルインベントリで LOC のカウントを修正しました。
Version 2.2.0 (Sep 26, 2024)¶
Application Version 2.2.0¶
機能アップデートは以下の通りです:
Snowpark Conversion Core 4.6.0
Snowpark Conversion Core Version 4.6.0¶
追加済み¶
pyspark.sql.readwriter.DataFrameReader.parquetの変換を追加。pyspark.sql.readwriter.DataFrameReader.optionがParquetメソッドである場合の変換を追加しました。
変更済み¶
以下のマッピングステータスを更新しました:
pyspark.sql.types.StructType.fieldsをNotSupportedからDirectへ。pyspark.sql.types.StructType.namesをNotSupportedからDirectへ。pyspark.context.SparkContext.setLogLevelをWorkaroundからTransformationへ。詳細は EWIs SPRKPY1078 および SPRKPY1079 をご覧ください
org.apache.spark.sql.functions.roundをWorkAroundからDirectへ。org.apache.spark.sql.functions.udfをNotDefinedからTransformationへ。詳細は EWIs SPRKSCL1174 および SPRKSCL1175 をご覧ください
以下のSpark要素のマッピングステータスを
DirectHelperからDirectに更新しました:org.apache.spark.sql.functions.hexorg.apache.spark.sql.functions.unhexorg.apache.spark.sql.functions.shiftleftorg.apache.spark.sql.functions.shiftrightorg.apache.spark.sql.functions.reverseorg.apache.spark.sql.functions.isnullorg.apache.spark.sql.functions.unix_timestamporg.apache.spark.sql.functions.randnorg.apache.spark.sql.functions.signumorg.apache.spark.sql.functions.signorg.apache.spark.sql.functions.collect_listorg.apache.spark.sql.functions.log10org.apache.spark.sql.functions.log1porg.apache.spark.sql.functions.base64org.apache.spark.sql.functions.unbase64org.apache.spark.sql.functions.regexp_extractorg.apache.spark.sql.functions.exprorg.apache.spark.sql.functions.date_formatorg.apache.spark.sql.functions.descorg.apache.spark.sql.functions.ascorg.apache.spark.sql.functions.sizeorg.apache.spark.sql.functions.locateorg.apache.spark.sql.functions.ntile
修正済み¶
Pandas Api全体のパーセンテージに表示される値を修正しました
DetailReport の ImportCalls テーブルの合計パーセンテージを修正しました
非推奨¶
以下の EWI コードは非推奨となりました:
SPRKSCL1115
Version 2.1.7 (Sep 12, 2024)¶
アプリケーションバージョン2.1.7¶
機能アップデートは以下の通りです:
Snowpark Conversion Core 4.5.7
Snowpark Conversion Core 4.5.2
Snowpark Conversion Core Version 4.5.7¶
Hotfixed¶
Spark Usages Summariesにおいて、使用数がない場合に合計行が追加される問題を修正しました。
Pythonアセンブリのバージョンを
1.3.111にバンプしました複数行引数の後続カンマの解析
Snowpark Conversion Core Version 4.5.2¶
追加済み¶
pyspark.sql.readwriter.DataFrameReader.option用の変換を追加しました:チェーンが CSV メソッド呼び出しからの場合。
チェーンが JSON メソッド呼び出しからの場合。
pyspark.sql.readwriter.DataFrameReader.json用の変換を追加しました。
変更済み¶
Python/Scala関数に渡された SQL 文字列に対して SMA を実行しました
Scala/Pythonで AST を作成し、仮の SQL ユニットを生成
SqlEmbeddedUsages.csvインベントリを作成
SqlStatementsInventroy.csvおよび SqlExtractionInventory.csvを廃止
SQL リテラルが処理できなかった場合に EWI を統合
SQL が埋め込まれたコードを処理する新しいタスクを作成
Pythonで SqlEmbeddedUsages.csvインベントリの情報を収集
Pythonで SQL 変換コードをリテラルに置換
実装後のテストケースを更新
SqlEmbeddedUsages インベントリにテレメトリー用のテーブルと表示を作成
Scalaで SqlEmbeddedUsages.csvレポートの情報を収集
Scalaで SQL 変換コードをリテラルに置換
埋め込み SQL レポートの行番号順を確認
SqlFunctionsInfo.csvに、 SparkSQL と HiveSQL に対して文書化された SQL 関数を追加次のマッピングステータスを更新しました:
org.apache.spark.sql.SparkSession.sparkContextを NotSupported からTransformationへ。org.apache.spark.sql.Builder.configをNotSupportedからTransformationへ。この新しいマッピングステータスにより、 SMA はソースコードからこの関数の使用をすべて除します。
Version 2.1.6 (Sep 5, 2024)¶
アプリケーションバージョン2.1.6¶
Snowpark Engines Core version 4.5.1に対するホットフィックスの変更
Spark Conversion Core Version 4.5.1¶
ホットフィックス
エクスポートされたDatabricksノートブックに、 SMA によって生成された一時的なDatabricksノートブックを変換するメカニズムを追加しました
Version 2.1.5 (Aug 29, 2024)¶
アプリケーションバージョン2.1.5¶
機能アップデートは以下の通りです:
Spark Conversion Coreの更新: 4.3.2
Spark Conversion Core Version 4.3.2¶
追加済み¶
ノートブックセルで識別された要素の行と列を取得する(装飾による)メカニズムを追加しました。
pyspark.sql.functions.from_jsonの EWI を追加しました。
pyspark.sql.readwriter.DataFrameReader.csvの変換を追加しました。
Scalaファイルのクエリタグメカニズムを有効にしました。
コード分析スコアと詳細レポートへのリンクを追加しました。
InputFilesInventory.csvに OriginFilePath 列を追加しました。
変更済み¶
pyspark.sql.functions.from_jsonのマッピングステータスをNot SupportedからTransformationに更新しました。
以下のSpark要素のマッピングステータスをWorkaroundからDirectに更新しました:
org.apache.spark.sql.functions.countDistinct
org.apache.spark.sql.functions.max
org.apache.spark.sql.functions.min
org.apache.spark.sql.functions.mean
非推奨¶
以下の EWI コードを非推奨としました:
SPRKSCL1135
SPRKSCL1136
SPRKSCL1153
SPRKSCL1155
修正済み¶
Spark API スコアの計算に誤りがあったバグを修正しました。
出力フォルダー内の SQL の空のファイルやコメント付きファイルのコピーを回避するエラーを修正しました。
ノートブックの統計 LOC とセル数が正確でなかった DetailedReport のバグを修正しました。
Version 2.1.2 (Aug 14, 2024)¶
アプリケーションバージョン2.1.2¶
機能アップデートは以下の通りです:
Spark Conversion Coreの更新: 4.2.0
Spark Conversion Core Version 4.2.0¶
追加済み¶
技術列を SparkUsagesInventory に追加
定義されていない SQL 要素に対して EWI を追加しました。
SqlFunctions インベントリを追加しました
SqlFunctions インベントリの情報を収集
変更済み¶
このエンジンは、元のファイルを修正せずに残す代わりに、部分的に解析されたPythonファイルを処理して表示するようになりました。
Pythonノートブックのセルの解析エラーも処理され、表示されます。
修正済み¶
pandas.core.indexes.datetimes.DatetimeIndex.strftimeが誤って報告されていたのを修正しました。サポートステータス別の SQL レディネススコアと SQL 使用状況の不一致を修正。
SMA が
pandas.core.series.Series.emptyを不正なマッピングステータスで報告する原因となっていたバグを修正しました。DetailedReport.docxのSpark API Usages Ready for ConversionとAssessment.jsonの UsagesReadyForConversion 行の不一致を修正しました。
Version 2.1.1 (Aug 8, 2024)¶
アプリケーションバージョン2.1.1¶
機能アップデートは以下の通りです:
Spark Conversion Coreの更新: 4.1.0
Spark Conversion Core バージョン 4.1.0¶
追加済み¶
AssessmentReport.jsonファイルに以下の情報を追加しました。サードパーティライブラリのレディネススコア。
識別されたサードパーティライブラリ呼び出しの数。
Snowparkでサポートされているサードパーティライブラリの呼び出しの数。
サードパーティレディネススコア、Spark API レディネススコア、 SQL レディネススコアに関連付けられた色コード。
Sparkで
SqlSimpleDataTypeを変換するとテーブルが作成されます。pyspark.sql.functions.getのマッピングをDirectとして追加しました。pyspark.sql.functions.to_varcharのマッピングをDirectとして追加しました。統一後の変更の一部として、ツールはエンジンに実行情報ファイルを生成するようになりました。
pyspark.sql.SparkSession.builder.appNameのリプレイサーを追加しました。
変更済み¶
以下のSpark要素のマッピングステータスを更新しました。
Not SupportedからDirectマッピングへ:
pyspark.sql.functions.signpyspark.sql.functions.signum
Notebooks Cells Inventory(ノートブックセルインベントリ)レポートを変更し、Element(要素)列内のすべてのセルのコンテンツの種類を示すようにしました。
Scalaファイル内のSpark API への参照のみに関連するレディネススコアを報告する
SCALA_READINESS_SCORE列を追加しました。ALTER TABLEおよびALTER VIEWでテーブルプロパティを変換する部分サポートSparkt create tablesでノード
SqlSimpleDataTypeの変換ステータスを保留中から変換に更新しましたSMA のSnowpark Scala API 対応バージョンを
1.7.0から1.12.1に更新しました以下のマッピングステータスを更新しました:
org.apache.spark.sql.SparkSession.getOrCreateをRenameからDirectへorg.apache.spark.sql.functions.sumをWorkaroundからDirectへ
SMA のSnowpark Python API 対応バージョンを
1.15.0から1.20.0に更新しました以下のマッピングステータスを更新しました:
pyspark.sql.functions.arrays_zipをNot SupportedからDirectへ
以下のPandas要素のマッピングステータスを更新しました:
Directマッピング:
pandas.core.frame.DataFrame.anypandas.core.frame.DataFrame.applymap
以下のPandas要素のマッピングステータスを更新しました:
Not SupportedからDirectマッピングへ:
pandas.core.frame.DataFrame.groupbypandas.core.frame.DataFrame.indexpandas.core.frame.DataFrame.Tpandas.core.frame.DataFrame.to_dict
Not SupportedからRenameマッピングへ
pandas.core.frame.DataFrame.map
以下のPandas要素のマッピングステータスを更新しました:
Directマッピング:
pandas.core.frame.DataFrame.wherepandas.core.groupby.generic.SeriesGroupBy.aggpandas.core.groupby.generic.SeriesGroupBy.aggregatepandas.core.groupby.generic.DataFrameGroupBy.aggpandas.core.groupby.generic.DataFrameGroupBy.aggregatepandas.core.groupby.generic.DataFrameGroupBy.apply
Not Supportedマッピング:
pandas.core.frame.DataFrame.to_parquetpandas.core.generic.NDFrame.to_csvpandas.core.generic.NDFrame.to_excelpandas.core.generic.NDFrame.to_sql
以下のPandas要素のマッピングステータスを更新しました:
Directマッピング:
pandas.core.series.Series.emptypandas.core.series.Series.applypandas.core.reshape.tile.qcut
EWI を使ったDirectマッピング:
pandas.core.series.Series.fillnapandas.core.series.Series.astypepandas.core.reshape.melt.meltpandas.core.reshape.tile.cutpandas.core.reshape.pivot.pivot_table
以下のPandas要素のマッピングステータスを更新しました:
Directマッピング:
pandas.core.series.Series.dtpandas.core.series.Series.groupbypandas.core.series.Series.locpandas.core.series.Series.shapepandas.core.tools.datetimes.to_datetimepandas.io.excel._base.ExcelFile
Not Supportedマッピング:
pandas.core.series.Series.dt.strftime
以下のPandas要素のマッピングステータスを更新しました:
Not SupportedからDirectマッピングへ:
pandas.io.parquet.read_parquetpandas.io.parsers.readers.read_csv
以下のPandas要素のマッピングステータスを更新しました:
Not SupportedからDirectマッピングへ:
pandas.io.pickle.read_picklepandas.io.sql.read_sqlpandas.io.sql.read_sql_query
「SQL レディネススコアの理解」の説明を更新しました。
PyProgramCollectorを更新し、Pythonソースコードからパッケージを収集し、現在のパッケージインベントリにデータを入力するようにしました。pyspark.sql.SparkSession.builder.appNameのマッピングステータスをRenameからTransformationに更新しました。以下のScala統合テストを削除しました。
AssesmentReportTest_AssessmentMode.ValidateReports_AssessmentModeAssessmentReportTest_PythonAndScala_Files.ValidateReports_PythonAndScalaAssessmentReportTestWithoutSparkUsages.ValidateReports_WithoutSparkUsages
pandas.core.generic.NDFrame.shapeのマッピングステータスをNot SupportedからDirectに更新しました。pandas.core.seriesのマッピングステータスをNot SupportedからDirectに更新しました。
非推奨¶
org.apache.spark.sql.functions.sumがDirectマッピングになったため、 EWI コードSPRKSCL1160を非推奨としました。
修正済み¶
Jupyter Notebookのセルで引数のないカスタムマジックをサポートしないバグを修正しました。
解析エラーが発生した場合に、issues.csvレポートの EWIs が正しく生成されない問題を修正しました。
SMA がDatabricksノートブックとしてDatabricksがエクスポートしたノートブックを処理しない原因となっていたバグを修正しました
パッケージオブジェクトの内部で作成された宣言のタイプ名が衝突する処理中のスタックオーバーフローエラーを修正しました。
例えば
def func[X,Y](f: (Map[Option[X], Y] => Map[Y, X]))...など、ジェネリックを含む複雑なラムダ型名の処理を修正しましたまだ認識されていないPandas要素に SMA がPandas EWI コードではなく PySpark EWI コードを追加してしまうバグを修正しました。
詳細レポートのテンプレートのタイプミスを修正しました。列の名前を「Percentage of all Python Files」から「Percentage of all files」に変更しました。
pandas.core.series.Series.shapeが誤って報告されるバグを修正しました。