Snowpark Migration Accelerator : Notes de version¶
Notez que les notes de version ci-dessous sont organisées par date de sortie. Les numéros de version de l’application et de Snowpark Conversion Core apparaissent ci-dessous.
Version 2.10.0 (Sep 24, 2025)¶
Application & CLI Version 2.10.0¶
Included SMA Core Versions¶
Snowpark Conversion Core 8.0.62
Ajouté¶
Added functionality to migrate SQL embedded with Python format interpolation.
Added support for
DataFrame.selectandDataFrame.sorttransformations for greater data processing flexibility.
Modifications¶
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.
Correction¶
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
Ajouté¶
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
Modifications¶
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.
Correction¶
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
Ajouté¶
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.
Modifications¶
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.
Correction¶
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
Ajouté¶
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.
Modifications¶
Bumped the version of Snowpark Pandas API supported by the SMA from
1.27.0to1.30.0.
Correction¶
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
Modifications¶
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.
Correction¶
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
Ajouté¶
Added telemetry improvements.
Correction¶
Fix documentation links in conversion settings pop-up and Pandas EWIs.
Included SMA Core Versions¶
Snowpark Conversion Core 8.0.16
Ajouté¶
Transforming Spark XML to Snowpark
Databricks SQL option in the SQL source language
Transform JDBC read connections.
Modifications¶
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.
Correction¶
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
Correction¶
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
Ajouté¶
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
Correction¶
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
Modifications¶
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.
Correction¶
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
Modifications¶
Updated DataFramesInventory to fill EntryPoints column
Version 2.6.6 (Apr 7, 2025)¶
Application & CLI Version 2.6.6¶
Desktop App¶
Ajouté¶
Update DBx EWI link in the UI results page
Included SMA Core Versions¶
Snowpark Conversion Core 7.2.39
Ajouté¶
Added Execution Flow inventory generation.
Added implicit session setup in every DBx notebook transformation
Modifications¶
Renamed the DbUtilsUsagesInventory.csv to DbxElementsInventory.csv
Correction¶
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¶
Ajouté¶
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
Ajouté¶
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.
Modifications¶
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
Correction¶
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
Ajouté
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)¶
Correctif : Application et CLI version 2.5.2¶
Desktop App¶
Correction d’un problème lors de la conversion dans l’option de l’exemple de projet.
Included SMA Core Versions¶
Snowpark Conversion Core 5.3.0
Version 2.5.1 (Feb 4, 2025)¶
Application et CLI version 2.5.1¶
Desktop App¶
Ajout d’une nouvelle fenêtre modale lorsque l’utilisateur ne dispose pas de l’autorisation d’écriture.
Mise à jour de l’accord de licence, l’acceptation est exigée.
CLI¶
Correction de l’année dans l’écran CLI lors de l’affichage de « –version » ou « -v »
Versions de SMA Core incluses¶
Snowpark Conversion Core 5.3.0
Ajouté¶
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:
aifctableauastasynchatasyncioasyncoreatexitaudioopbase64bdbbinasciibitsectbuiltinsbz2calendriercgicgitbchunkcmathcmdcodecodecscodeopcolorsyscompileallconcurrentcontextlibcontextvarscopycopyregcprofilecryptcsvctypescursesdbmdifflibdisdistutilsdoctestemailensurepipenumerrnofaulthandlerfcntlfilecmpfileinputfnmatchfractionsftplibfunctoolsgcgetoptgetpassgettextgraphlibgrpgziphashlibheapqhmachtmlhttpidlelibimaplibimghdrimpimportlibinspectipaddressitertoolskeywordlinecachelocalelzmamailboxmailcapmarshalmathmimetypesmmapmodulefindermsilibmultiprocessingnetrcnisnntplibnumbersoperatoroptparseossaudiodevpdbpicklepickletoolspipespkgutilplatformplistlibpoplibposixpprintprofilepstatsptypwdpy_compilepyclbrpydocqueuequoprirandomrereprlibresourcerlcompleterrunpyschedsecretsselectselectorsshelveshlexsignalsitesitecustomizesmtpdsmtplibsndhdrsocketsocketserverspwdsqlite3sslstatstringstringprepstructsubprocesssunausymtablesysconfigsyslogtabnannytarfiletelnetlibtempfiletermiostesttextwrapthreadingtimeittkinterjetontokenizetomllibtracetracebacktracemallocttyturtleturtledemotypesunicodedataurllibuuuuidvenvavertissementswaveweakrefwebbrowserwsgirefxdrlibxmlxmlrpczipappzipfilezipimportzoneinfo
Added the following Python BuiltIn libraries with NotSupported status:
msvcrtwinregwinsound
Modifications¶
Mise à jour de .NET version sur v9.0.0.
Amélioration de l’EWI SPRKPY1068.
Mise à jour de la version de l’API Snowpark Python prise en charge par l’outil SMA de 1.24.0 à 1.25.0.
Mise à jour du modèle de rapport détaillé, avec désormais la version Snowpark pour Pandas.
Modification des bibliothèques suivantes de BuiltIn en ThirdPartyLib.
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
Problème connu¶
Cette version inclut un problème lors de la conversion de l’exemple de projet qui ne fonctionnera pas sur cette version. Il sera corrigé dans la prochaine version.
Version 2.4.3 (Jan 9, 2025)¶
Application et CLI version 2.4.3¶
Desktop App¶
Ajout d’un lien vers le guide de dépannage dans la fenêtre modale du rapport de panne.
Included SMA Core Versions¶
Snowpark Conversion Core 4.15.0
Ajouté¶
Ajout des éléments PySpark suivants au fichier .csv ConversionStatusPySpark en tant que
NotSupported :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
Modifications¶
Mise à jour du format des EWIs Hive SQL.
SPRKHVSQL1001
SPRKHVSQL1002
SPRKHVSQL1003
SPRKHVSQL1004
SPRKHVSQL1005
SPRKHVSQL1006
Mise à jour du format des EWIs Spark SQL .
SPRKSPSQL1001
SPRKSPSQL1002
SPRKSPSQL1003
SPRKSPSQL1004
SPRKSPSQL1005
SPRKSPSQL1006
Correction¶
Correction d’un bogue qui faisait que certains éléments PySpark n’étaient pas identifiés par l’outil.
Correction de l’erreur de correspondance entre le nombre d’appels ThirdParty identifiés et le nombre d’appels ThirdParty importés.
Version 2.4.2 (Dec 13, 2024)¶
Application & CLI Version 2.4.2¶
Included SMA Core Versions¶
Snowpark Conversion Core 4.14.0
Ajout¶
Ajout des éléments Spark suivants à ConversionStatusPySpark. csv :
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
Modifications¶
Mise à jour de la documentation des EWIs Pandas,
PNDSPY1001,PNDSPY1002etPNDSPY1003SPRKSCL1137pour s’aligner sur un format standardisé, garantissant la cohérence et la clarté de l’ensemble des EWIs.Mise à jour de la documentation des EWIs Scala suivants :
SPRKSCL1106etSPRKSCL1107. S’aligner sur un format standardisé, garantissant la cohérence et la clarté sur l’ensemble des EWIs.
Correction¶
Correction du bogue qui provoquait l’affichage des symboles UserDefined dans l’inventaire des utilisations tierces.
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¶
Modifications
Ajout d’un horodatage au dossier de sortie.
Snowpark Conversion Core 4.13.1¶
Ajouté¶
Ajout d’une colonne « Langue source » dans la table de mappages de la bibliothèque
Ajout de la catégorie
Autrescomme nouvelle catégorie dans la table Résumé de l’API Pandas de DetailedReport. docx
Modifications¶
Mise à jour de la documentation pour Python EWI
SPRKPY1058.Mise à jour du message des EWI Pandas
PNDSPY1002afin d’afficher l’élément pandas associé.Mise à jour de la façon dont nous créons les rapports .csv, qui sont maintenant écrasés après une deuxième exécution.
Correction¶
Correction d’un bogue qui faisait que les fichiers notebooks n’étaient pas générés dans la sortie.
Correction du remplacement des méthodes
getetsetà partir depyspark.sql.conf.RuntimeConfig, le remplacement correspond maintenant aux noms complets corrects.Correction de la version incorrecte de la balise de requête.
Correction des paquets UserDefined signalés comme ThirdPartyLib.
\
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¶
Correction
Correction des problèmes de casse dans les options –sql.
Supprimé
Supprimez le nom de la plateforme dans le message show-ac.
Snowpark Conversion Core 4.12.0¶
Ajouté¶
Ajout de la prise en charge de Snowpark Python 1.23.0 et 1.24.0.
Ajout d’un nouveau EWI pour la fonction
pyspark.sql.dataframe.DataFrame.writeTo. Toutes les utilisations de cette fonction ont maintenant l’élément EWI SPRKPY1087.
Modifications¶
Mise à jour de la documentation des EWIs Scala de
SPRKSCL1137àSPRKSCL1156pour s’aligner sur un format standardisé, garantissant la cohérence et la clarté de l’ensemble des EWIs.Mise à jour de la documentation des EWIs Scala de
SPRKSCL1117àSPRKSCL1136pour s’aligner sur un format standardisé, garantissant la cohérence et la clarté de l’ensemble des EWIs.Mise à jour du message qui s’affiche pour les EWIs suivants :
SPRKPY1082
SPRKPY1083
Mise à jour de la documentation des EWIs Scala de
SPRKSCL1100àSPRKSCL1105, deSPRKSCL1108àSPRKSCL1116, deSPRKSCL1157àSPRKSCL1175, pour s’aligner sur un format standardisé, assurant la cohérence et la clarté de l’ensemble des EWIs.Mise à jour du statut de mappage des éléments PySpark suivants de NotSupported à Direct avec EWI :
pyspark.sql.readwriter.DataFrameWriter.option=>snowflake.snowpark.DataFrameWriter.option: Toutes les utilisations de cette fonction ont maintenant l’élément EWI SPRKPY1088pyspark.sql.readwriter.DataFrameWriter.options=>snowflake.snowpark.DataFrameWriter.options:Toutes les utilisations de cette fonction ont maintenant l’élément EWI SPRKPY1089
Mise à jour du statut de mappage des éléments PySpark suivants de Contournement en Renommer :
pyspark.sql.readwriter.DataFrameWriter.partitionBy=>snowflake.snowpark.DataFrameWriter.partition_by
Mise à jour de la documentation de l’EWI : SPRKSCL1000, SPRKSCL1001, SPRKSCL1002, SPRKSCL1100, SPRKSCL1101, SPRKSCL1102, SPRKSCL1103, SPRKSCL1104, SPRKSCL1105.
Removed¶
Suppression de l’élément
pyspark.sql.dataframe.DataFrameStatFunctions.writeTodu statut de conversion, cet élément n’existe pas.
Obsolète¶
Les codes EWI suivants sont obsolètes :
SPRKPY1081
SPRKPY1084
Version 2.3.0 (Oct 30, 2024)¶
Application et CLI version 2.3.0¶
Snowpark Conversion Core 4.11.0
Snowpark Conversion Core 4.11.0¶
Ajouté¶
Ajout d’une nouvelle colonne appelée
Urlau fichierIssues.csv, qui redirige vers la documentation EWI correspondante.Ajout d’EWIs pour les éléments Spark suivants :
[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
Ajout de 38 nouveaux éléments 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¶
Correction¶
Correction d’un bogue qui entraînait l’affichage par SMA de l’étiquette SnowConvert au lieu de Snowpark Migration Accelerator dans la barre de menu de la version Windows.
Correction d’un bogue qui entraînait le plantage de SMA lorsqu’il ne disposait pas des autorisations de lecture et d’écriture sur le répertoire
.configdans macOS et sur le répertoireAppDatadans Windows.
Command Line Interface¶
Modifications
Attribution d’un nouveau nom à l’exécutable CLI de
snowctàsma.Suppression de l’argument de la langue source, de sorte que vous n’avez plus besoin de spécifier si vous exécutez une évaluation / conversion Python ou Scala.
Les arguments de ligne de commande pris en charge par CLI ont été élargis par l’ajout des nouveaux arguments suivants :
--enableJupyter|-j: Indicateur signalant si la conversion des notebooks Databricks vers Jupyter est activée ou non.--sql|-f: Syntaxe du moteur de base de données à utiliser lorsqu’une commande SQL est détectée.--customerEmail|-e: Configurez l’e-mail du client.--customerCompany|-c: Configurez la société cliente.--projectName|-p: Configurez le projet client.
Mise à jour de certains textes pour refléter le nom correct de l’application, afin d’assurer la cohérence et la clarté de tous les messages.
Mise à jour des conditions d’utilisation de l’application.
Mise à jour et développement de la documentation de CLI afin de refléter les dernières fonctions, améliorations et modifications.
Mise à jour du texte qui s’affiche avant de procéder à l’exécution de l’outil SMA afin d’améliorer la qualité de l’information
Mise à jour de CLI pour accepter « Oui » comme argument valide lors de la demande de confirmation de l’utilisateur.
Permet à CLI de poursuivre l’exécution sans attendre l’interaction de l’utilisateur en spécifiant l’argument
-you--yes.Mise à jour des informations d’aide de l’argument
--sqlpour indiquer les valeurs attendues par cet argument.
Snowpark Conversion Core Version 4.10.0¶
Ajouté¶
Ajout d’un nouveau EWI pour la fonction
pyspark.sql.readwriter.DataFrameWriter.partitionBy. Toutes les utilisations de cette fonction ont maintenant l’élément EWI SPRKPY1081.Ajout d’une nouvelle colonne appelée
Technologieau fichierImportUsagesInventory.csv.
Modifications¶
Mise à jour du score de préparation des bibliothèques tierces afin de prendre également en compte les bibliothèques
inconnues.Mise à jour du fichier
AssessmentFiles.zippour inclure les fichiers.jsonau lieu des fichiers.pam.Amélioration du mécanisme de conversion de CSV en JSON pour rendre le traitement des inventaires plus performant.
Amélioration de la documentation des EWIs suivants :
SPRKPY1029
SPRKPY1054
SPRKPY1055
SPRKPY1063
SPRKPY1075
SPRKPY1076
Mise à jour du statut de mappage des éléments Spark Scala suivants de
DirectenRenommer.org.apache.spark.sql.functions.shiftLeft=>com.snowflake.snowpark.functions.shiftleftorg.apache.spark.sql.functions.shiftRight=>com.snowflake.snowpark.functions.shiftright
Mise à jour du statut de mappage des éléments Spark Scala suivants de
Non pris en chargeenDirect.org.apache.spark.sql.functions.shiftleft=>com.snowflake.snowpark.functions.shiftleftorg.apache.spark.sql.functions.shiftright=>com.snowflake.snowpark.functions.shiftright
Correction¶
Correction d’un bogue ayant entraîné SMA à remplir incorrectement la colonne
Originedu fichierImportUsagesInventory.csv.Correction d’un bogue ayant entraîné SMA à classer les importations des bibliothèques
io,json,loggingetunittestcomme importations Python intégrées dans le fichierImportUsagesInventory.csvet dans le fichierDetailedReport.docx.
Version 2.2.2 (Oct 11, 2024)¶
Version de l’application 2.2.2¶
Les mises à jour des fonctions comprennent :
Snowpark Conversion Core 4.8.0
Snowpark Conversion Core Version 4.8.0¶
Ajouté¶
Ajout de fichiers
EwiCatalog.csvet .md pour réorganiser la documentationAjout du statut de mappage de
pyspark.sql.functions.lnDirect.Ajout d’une transformation pour
pyspark.context.SparkContext.getOrCreateVeuillez vérifier l’EWI SPRKPY1080 pour plus de détails.
Une amélioration a été apportée à SymbolTable, qui permet de déterminer le type des paramètres dans les fonctions.
La SymbolTable ajoutée prend en charge les méthodes statiques et ne part pas du principe que le premier paramètre sera automatique pour celles-ci.
Ajout d’une documentation pour les EWIs manquants
SPRKHVSQL1005
SPRKHVSQL1006
SPRKSPSQL1005
SPRKSPSQL1006
SPRKSCL1002
SPRKSCL1170
SPRKSCL1171
SPRKPY1057
SPRKPY1058
SPRKPY1059
SPRKPY1060
SPRKPY1061
SPRKPY1064
SPRKPY1065
SPRKPY1066
SPRKPY1067
SPRKPY1069
SPRKPY1070
SPRKPY1077
SPRKPY1078
SPRKPY1079
SPRKPY1101
Modifications¶
Mise à jour du statut de mappage de :
pyspark.sql.functions.array_removedeNotSupportedàDirect.
Correction¶
Correction de la table de dimensionnement des fichiers de code dans le rapport détaillé afin d’exclure les fichiers .sql et .hql et ajout de la ligne Extra Large dans la table.
Correction de l’absence de
update_query_taglorsqueSparkSessionest défini en plusieurs lignes surPython.Correction de l’absence de
update_query_taglorsqueSparkSessionest défini en plusieurs lignes surScala.Correction de l’absence de l’EWI
SPRKHVSQL1001dans certaines instructions SQL présentant des erreurs d’analyse.Correction de la conservation des valeurs de lignes nouvelles à l’intérieur des littéraux de chaînes
Correction de l’affichage du nombre total de lignes de code dans la table de résumé des types de fichiers
Correction de l’affichage sur 0 du score d’analyse alors que les fichiers sont reconnus avec succès
Correction du nombre de LOC dans l’inventaire des cellules pour les cellules Databricks Magic SQL
Version 2.2.0 (Sep 26, 2024)¶
Application Version 2.2.0¶
Les mises à jour des fonctions comprennent :
Snowpark Conversion Core 4.6.0
Snowpark Conversion Core Version 4.6.0¶
Ajouté¶
Ajout d’une transformation pour
pyspark.sql.readwriter.DataFrameReader.parquet.Ajout d’une transformation pour
pyspark.sql.readwriter.DataFrameReader.optionlorsqu’il s’agit d’une méthode Parquet.
Modifications¶
Mise à jour du statut de mappage de :
pyspark.sql.types.StructType.fieldsdeNotSupportedenDirect.pyspark.sql.types.StructType.namesdeNotSupportedenDirect.pyspark.context.SparkContext.setLogLeveldeContournementenTransformation.Pour plus de détails, consultez les EWIs SPRKPY1078 et SPRKPY1079
org.apache.spark.sql.functions.rounddeWorkAroundenDirect.org.apache.spark.sql.functions.udfdeNotDefinedenTransformation.Pour plus de détails, consultez les EWIs SPRKSCL1174 et SPRKSCL1175
Mise à jour du statut de mappage des éléments Spark suivants de
DirectHelperenDirect: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
Correction¶
Correction de la valeur affichée dans le pourcentage du nombre total d’API Pandas
Correction du pourcentage total dans la table ImportCalls du DetailReport
Obsolète¶
Le code EWI suivant est obsolète
SPRKSCL1115
Version 2.1.7 (Sep 12, 2024)¶
Version de l’application 2.1.7¶
Les mises à jour des fonctions comprennent :
Snowpark Conversion Core 4.5.7
Snowpark Conversion Core 4.5.2
Snowpark Conversion Core Version 4.5.7¶
Hotfixed¶
Correction de l’ajout du nombre total de lignes dans les résumés d’utilisations Spark alors qu’il n’y a pas d’utilisation
Mise à jour de l’assemblage Python sur la version
1.3.111Analyse de la virgule de fin dans les arguments multilignes
Snowpark Conversion Core Version 4.5.2¶
Ajouté¶
Ajout d’une transformation pour
pyspark.sql.readwriter.DataFrameReader.option:Lorsque la chaîne provient d’un appel de méthode CSV.
Lorsque la chaîne provient d’un appel de méthode JSON.
Ajout d’une transformation pour
pyspark.sql.readwriter.DataFrameReader.json.
Modifications¶
Exécution de SMA sur les chaînes SQL transmises aux fonctions Python/Scala
Création de l’AST dans Scala/Python pour émettre une unité temporaire SQL
Création de l’inventaire SqlEmbeddedUsages.csv
Obsolescence des fichiers SqlStatementsInventroy.csv et SqlExtractionInventory.csv
Intégration de l’EWI lorsque le littéral SQL n’a pas pu être traité
Création d’une nouvelle tâche pour traiter me code SQL intégré
Collecte d’informations pour l’inventaire SqlEmbeddedUsages.csv dans Python
Remplacement du code transformé SQL par du code littéral dans Python
Mise à jour des cas de test après la mise en œuvre
Création de tables et de vues pour la télémétrie dans l’inventaire SqlEmbeddedUsages
Collecte d’informations pour le rapport SqlEmbeddedUsages.csv dans Scala
Remplacement du code transformé SQL par du code littéral dans Scala
Vérification de l’ordre des numéros de ligne pour le rapport SQL intégré
Renseignement du fichier
SqlFunctionsInfo.csvavec les fonctions SQL documentées pour SparkSQL et HiveSQLMise à jour du statut du mappage pour :
org.apache.spark.sql.SparkSession.sparkContextde NotSupported en Transformation.org.apache.spark.sql.Builder.configdeNotSupportedenTransformation. Avec ce nouveau statut de mappage, l’outil SMA supprime toutes les utilisations de cette fonction du code source.
Version 2.1.6 (Sep 5, 2024)¶
Version de l’application 2.1.6¶
Changement de correctif pour Snowpark Engines Core version 4.5.1
Spark Conversion Core Version 4.5.1¶
Correctif
Ajout d’un mécanisme permettant de convertir les notebooks Databricks temporels générés par SMA en notebooks Databricks exportés
Version 2.1.5 (Aug 29, 2024)¶
Version de l’application 2.1.5¶
Les mises à jour des fonctions comprennent :
Mise à jour de Spark Conversion Core: 4.3.2
Spark Conversion Core Version 4.3.2¶
Ajouté¶
Ajout du mécanisme (via la décoration) permettant d’obtenir la ligne et la colonne des éléments identifiés dans les cellules des notebooks
Ajout d’une page EWI pour pyspark.sql.functions.from_json.
Ajout d’une transformation pour pyspark.sql.readwriter.DataFrameReader.csv.
Activation du mécanisme de balise de requête pour les fichiers Scala.
Ajout du score de l’analyse du code et de liens supplémentaires vers le rapport détaillé.
Ajout d’une colonne appelée OriginFilePath dans le fichier InputFilesInventory.csv
Modifications¶
Mise à jour du statut du mappage de pyspark.sql.functions.from_json de Non pris en charge à Transformation.
Mise à jour du statut de mappage des éléments Spark suivants de Contournement à 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
Obsolète¶
Les codes EWI suivants sont obsolètes :
SPRKSCL1135
SPRKSCL1136
SPRKSCL1153
SPRKSCL1155
Correction¶
Correction d’un bogue ayant entraîné un calcul incorrect du score Spark API.
Correction d’une erreur pour éviter de copier les fichiers vides ou commentés SQL dans le dossier de sortie.
Correction d’un bogue dans le DetailedReport, le nombre de statistiques notebook LOC et de cellules n’est pas exact.
Version 2.1.2 (Aug 14, 2024)¶
Version de l’application 2.1.2¶
Les mises à jour des fonctions comprennent :
Mise à jour de Spark Conversion Core: 4.2.0
Spark Conversion Core Version 4.2.0¶
Ajouté¶
Ajout d’une colonne Technologie dans SparkUsagesInventory
Ajout d’un EWI pour les éléments SQL non définis.
Ajout de l’inventaire SqlFunctions
Collecte d’informations pour l’inventaire SqlFunctions
Modifications¶
Le moteur traite et imprime désormais les fichiers Python partiellement analysés au lieu de laisser le fichier original sans modifications.
Les cellules du notebook Python qui présentent des erreurs d’analyse seront également traitées et imprimées.
Correction¶
Correction de l’erreur dans
pandas.core.indexes.datetimes.DatetimeIndex.strftime.Correction de la non-concordance entre le score de préparation SQL et les utilisations SQL par statut de prise en charge.
Correction d’un bogue ayant entraîné SMA à signaler
pandas.core.series.Series.emptyavec un statut de mappage incorrect.La correction d’une incohérence entre les utilisations prêtes pour la conversion Spark API dans DetailedReport.docx est différente de la ligne UsagesReadyForConversion dans Assessment.json.
Version 2.1.1 (Aug 8, 2024)¶
Version de l’application 2.1.1¶
Les mises à jour des fonctions comprennent :
Updated Spark Conversion Core: 4.1.0
Spark Conversion Core Version 4.1.0¶
Ajouté¶
Ajout des informations suivantes au fichier
AssessmentReport.jsonScore de préparation des bibliothèques tierces.
Nombre d’appels de bibliothèques tierces qui ont été identifiés.
Nombre d’appels de bibliothèques tierces pris en charge par Snowpark.
Le code couleur associé au score de préparation tiers, le score de préparation Spark API et le score de préparation SQL.
Transformation de
SqlSimpleDataTypedans les tables de création Spark.Ajout du mappage de
pyspark.sql.functions.getcomme direct.Ajout du mappage de
pyspark.sql.functions.to_varcharcomme direct.Dans le cadre des modifications apportées après l’unification, l’outil génère désormais un fichier d’informations sur l’exécution dans le moteur.
Ajout d’un remplaçant pour
pyspark.sql.SparkSession.builder.appName.
Modifications¶
Mise à jour du statut du mappage pour les éléments Spark suivants
De Non pris en charge à Mappage direct :
pyspark.sql.functions.signpyspark.sql.functions.signum
Modification du rapport Inventaire des cellules de notebook pour indiquer le type de contenu de chaque cellule dans l’élément de colonne
Ajout d’une colonne
SCALA_READINESS_SCOREqui indique le score de préparation comme étant lié uniquement aux références de Spark API dans les fichiers Scala.Prise en charge partielle de la transformation des propriétés des tables dans
ALTER TABLEetALTER VIEWMise à jour du statut de conversion du nœud
SqlSimpleDataTypede En attente à Transformation dans les tables de création SparkMise à jour de la version de Snowpark Scala API prise en charge par l’outil SMA de
1.7.0à1.12.1:Mise à jour du statut de mappage de :
org.apache.spark.sql.SparkSession.getOrCreatede Renommer à Directorg.apache.spark.sql.functions.sumde Contournement à Direct
Mise à jour de la version de Python Snowpark API prise en charge par l’outil SMA de
1.15.0à1.20.0:Mise à jour du statut de mappage de :
pyspark.sql.functions.arrays_zipde Non pris en charge à Pris en charge
Mise à jour du statut du mappage pour les éléments Pandas suivants :
Mappages directs :
pandas.core.frame.DataFrame.anypandas.core.frame.DataFrame.applymap
Mise à jour du statut du mappage pour les éléments Pandas suivants :
De Non pris en charge à Mappage direct :
pandas.core.frame.DataFrame.groupbypandas.core.frame.DataFrame.indexpandas.core.frame.DataFrame.Tpandas.core.frame.DataFrame.to_dict
De Non pris en charge à Renommer :
pandas.core.frame.DataFrame.map
Mise à jour du statut du mappage pour les éléments Pandas suivants :
Mappages directs :
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
Mappages non pris en charge :
pandas.core.frame.DataFrame.to_parquetpandas.core.generic.NDFrame.to_csvpandas.core.generic.NDFrame.to_excelpandas.core.generic.NDFrame.to_sql
Mise à jour du statut du mappage pour les éléments Pandas suivants :
Mappages directs :
pandas.core.series.Series.emptypandas.core.series.Series.applypandas.core.reshape.tile.qcut
Mappages directs avec l’EWI :
pandas.core.series.Series.fillnapandas.core.series.Series.astypepandas.core.reshape.melt.meltpandas.core.reshape.tile.cutpandas.core.reshape.pivot.pivot_table
Mise à jour du statut du mappage pour les éléments Pandas suivants :
Mappages directs :
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
Mappages non pris en charge :
pandas.core.series.Series.dt.strftime
Mise à jour du statut du mappage pour les éléments Pandas suivants :
De Non pris en charge à Mappage direct :
pandas.io.parquet.read_parquetpandas.io.parsers.readers.read_csv
Mise à jour du statut du mappage pour les éléments Pandas suivants :
De Non pris en charge à Mappage direct :
pandas.io.pickle.read_picklepandas.io.sql.read_sqlpandas.io.sql.read_sql_query
Mise à jour de la description de Compréhension du score de préparation SQL.
Mise à jour de
PyProgramCollectorpour collecter les paquets et renseigner l’inventaire actuel des paquets avec les données du code source Python.Mise à jour du statut de mappage de
pyspark.sql.SparkSession.builder.appNamede Renommer à Transformation.Suppression des tests d’intégration Scala suivants :
AssesmentReportTest_AssessmentMode.ValidateReports_AssessmentModeAssessmentReportTest_PythonAndScala_Files.ValidateReports_PythonAndScalaAssessmentReportTestWithoutSparkUsages.ValidateReports_WithoutSparkUsages
Mise à jour du statut de mappage de
pandas.core.generic.NDFrame.shapede Non pris en charge à Direct.Mise à jour du statut de mappage de
pandas.core.seriesde Non pris en charge à Direct.
Obsolète¶
Obsolescence du code EWI
SPRKSCL1160carorg.apache.spark.sql.functions.sumest désormais un mappage direct.
Correction¶
Correction d’un bogue relatif à la non prise en charge de Custom Magics sans arguments dans les cellules de Jupyter Notebook.
Correction de la génération incorrecte des EWIs dans le rapport issues.csv en cas d’erreurs d’analyse.
Correction d’un bogue ayant entraîné SMA à ne pas traiter les notebooks exportés Databricks comme des notebooks Databricks.
Correction d’une erreur de débordement de pile lors du traitement des noms de types de conflit des déclarations créées à l’intérieur des objets du paquet.
Correction du traitement des noms de types lambda complexes impliquant des génériques, par exemple,
def func[X,Y](f: (Map[Option[X], Y] => Map[Y, X]))...Correction d’un bogue ayant entraîné SMA à ajouter un code EWI PySpark au lieu d’un code EWI Pandas aux éléments Pandas qui ne sont pas encore reconnus.
Correction d’une coquille dans le modèle de rapport détaillé : Modification de Pourcentage de tous les fichiers Python en Pourcentage de tous les fichiers.
Correction d’un bogue où
pandas.core.series.Series.shapea été mal rapporté.