Snowpark Migration Accelerator: Notas de versão¶
Observe que as notas de versão abaixo estão organizadas por data de lançamento. Os números das versões do aplicativo e do núcleo de conversão serão exibidos abaixo.
Version 2.10.0 (Sep 24, 2025)¶
Application & CLI Version 2.10.0¶
Included SMA Core Versions¶
Snowpark Conversion Core 8.0.62
Adicionado¶
Added functionality to migrate SQL embedded with Python format interpolation.
Added support for
DataFrame.selectandDataFrame.sorttransformations for greater data processing flexibility.
Alterado¶
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.
Corrigido¶
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
Adicionado¶
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
Alterado¶
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.
Corrigido¶
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
Adicionado¶
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.
Alterado¶
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.
Corrigido¶
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
Adicionado¶
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.
Alterado¶
Bumped the version of Snowpark Pandas API supported by the SMA from
1.27.0to1.30.0.
Corrigido¶
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
Alterado¶
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.
Corrigido¶
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
Adicionado¶
Added telemetry improvements.
Corrigido¶
Fix documentation links in conversion settings pop-up and Pandas EWIs.
Included SMA Core Versions¶
Snowpark Conversion Core 8.0.16
Adicionado¶
Transforming Spark XML to Snowpark
Databricks SQL option in the SQL source language
Transform JDBC read connections.
Alterado¶
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.
Corrigido¶
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
Corrigido¶
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
Adicionado¶
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
Corrigido¶
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
Alterado¶
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.
Corrigido¶
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
Alterado¶
Updated DataFramesInventory to fill EntryPoints column
Version 2.6.6 (Apr 7, 2025)¶
Application & CLI Version 2.6.6¶
Desktop App¶
Adicionado¶
Update DBx EWI link in the UI results page
Included SMA Core Versions¶
Snowpark Conversion Core 7.2.39
Adicionado¶
Added Execution Flow inventory generation.
Added implicit session setup in every DBx notebook transformation
Alterado¶
Renamed the DbUtilsUsagesInventory.csv to DbxElementsInventory.csv
Corrigido¶
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¶
Adicionado¶
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
Adicionado¶
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.
Alterado¶
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
Corrigido¶
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
Adicionado
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)¶
Hotfix: Aplicativo e CLI Versão 2.5.2¶
Desktop App¶
Foi corrigido um problema durante a conversão na opção de projeto de amostra.
Included SMA Core Versions¶
Snowpark Conversion Core 5.3.0
Version 2.5.1 (Feb 4, 2025)¶
Aplicativo e CLI Versão 2.5.1¶
Desktop App¶
Adicionado um novo modal quando o usuário não tem permissão de gravação.
Atualizado o acordo de licenciamento, a aceitação é necessária.
CLI¶
Foi corrigido o ano na tela CLI ao mostrar «–version» ou «-v»
Incluídas versões de núcleo do SMA included-sma-core-versions¶
Snowpark Conversion Core 5.3.0
Adicionado¶
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:
aifcarrayastasynchatasyncioasyncoreatexitaudioopbase64bdbbinasciibitsectbuiltinsbz2calendarcgicgitbchunkcmathcmdcodecodecscodeopcolorsyscompileallconcurrentcontextlibcontextvarscopycopyregcprofilecryptcsvctypescursesdbmdifflibdisdistutilsdoctestemailensurepipenumerrnofaulthandlerfcntlfilecmpfileinputfnmatchfractionsftplibfunctoolsgcgetoptgetpassgettextgraphlibgrpgziphashlibheapqhmachtmlhttpidlelibimaplibimghdrimpimportlibinspectipaddressitertoolskeywordlinecachelocalelzmamailboxmailcapmarshalmathmimetypesmmapmodulefindermsilibmultiprocessingnetrcnisnntplibnumbersoperatoroptparseossaudiodevpdbpicklepickletoolspipespkgutilplatformplistlibpoplibposixpprintprofilepstatsptypwdpy_compilepyclbrpydocqueuequoprirandomrereprlibresourcerlcompleterrunpyschedsegredosselectselectorsshelveshlexsignalsitesitecustomizesmtpdsmtplibsndhdrsocketsocketserverspwdsqlite3sslstatstringstringprepstructsubprocesssunausymtablesysconfigsyslogtabnannytarfiletelnetlibtempfiletermiostesttextwrapthreadingtimeittkintertokentokenizetomllibtracetracebacktracemallocttyturtleturtledemotypesunicodedataurllibuuuuidvenvwarningswaveweakrefwebbrowserwsgirefxdrlibxmlxmlrpczipappzipfilezipimportzoneinfo
Added the following Python BuiltIn libraries with NotSupported status:
msvcrtwinregwinsound
Alterado¶
Atualizada a versão do .NET para v9.0.0.
Aprimorado EWI SPRKPY1068.
Aumentada a versão da API do Snowpark Python suportada pelo SMA de 1.24.0 para 1.25.0.
Atualizamos o modelo de relatório detalhado, agora com a versão Snowpark para Pandas.
As seguintes bibliotecas foram alteradas de ThirdPartyLib para 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
Problema conhecido¶
Esta versão inclui um problema quando a conversão do projeto de amostra não funciona nesta versão, que será corrigido na próxima versão
Version 2.4.3 (Jan 9, 2025)¶
Aplicativo e CLI Versão 2.4.3¶
Desktop App¶
Foi adicionado um link para o guia de solução de problemas no modal de relatório de falhas.
Included SMA Core Versions¶
Snowpark Conversion Core 4.15.0
Adicionado¶
Você adicionou os seguintes elementos PySpark ao arquivo ConversionStatusPySpark. csv como
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
Alterado¶
Formato atualizado do Hive SQL EWIs.
SPRKHVSQL1001
SPRKHVSQL1002
SPRKHVSQL1003
SPRKHVSQL1004
SPRKHVSQL1005
SPRKHVSQL1006
Formato atualizado do Spark SQL EWIs.
SPRKSPSQL1001
SPRKSPSQL1002
SPRKSPSQL1003
SPRKSPSQL1004
SPRKSPSQL1005
SPRKSPSQL1006
Corrigido¶
Foi corrigido um bug que fazia com que alguns elementos do PySpark não fossem identificados pela ferramenta.
Foi corrigida a incompatibilidade entre as chamadas identificadas em ThirdParty e o número de chamadas de importação em ThirdParty.
Version 2.4.2 (Dec 13, 2024)¶
Application & CLI Version 2.4.2¶
Included SMA Core Versions¶
Snowpark Conversion Core 4.14.0
Adicionado added¶
Foram adicionados os seguintes elementos do Spark a 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
Alterado¶
Atualizada a documentação dos Pandas EWIs,
PNDSPY1001,PNDSPY1002ePNDSPY1003SPRKSCL1137para alinhar com um formato padronizado, garantindo consistência e clareza em todos os EWIs.Atualizada a documentação dos seguintes Scala EWIs:
SPRKSCL1106eSPRKSCL1107. Para estar alinhado com um formato padronizado, garantindo consistência e clareza em todos os EWIs.
Corrigido¶
Foi corrigido o erro que estava causando a exibição dos símbolos UserDefined no inventário de usos de terceiros.
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¶
Alterado
Adicionado o registro de data e hora à pasta de saída.
Snowpark Conversion Core 4.13.1¶
Adicionado¶
Adicionada a coluna “Source Language” à tabela de mapeamentos de bibliotecas
Adicionado
Otherscomo uma nova categoria na tabela Pandas API Summary do DetailedReport.docx
Alterado¶
Atualização da documentação do Python EWI
SPRKPY1058.Atualizada a mensagem para o Pandas EWI
PNDSPY1002para mostrar o elemento pandas relacionado.Atualizamos a forma como criamos os relatórios .csv, que agora são sobrescritos após uma segunda execução.
Corrigido¶
Foi corrigido um erro que fazia com que os arquivos do Notebook não fossem gerados na saída.
Corrigido o substituto dos métodos
getesetdopyspark.sql.conf.RuntimeConfig, o substituto agora corresponde aos nomes completos corretos.Correção da versão incorreta da tag de consulta.
Correção dos pacotes UserDefined relatados como 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¶
Corrigido
Correção de problemas de distinção entre maiúsculas e minúsculas nas opções –sql.
Removido
Removido o nome da plataforma da mensagem show-ac.
Snowpark Conversion Core 4.12.0¶
Adicionado¶
Adicionado suporte ao Snowpark Python 1.23.0 e 1.24.0.
Adicionado novo EWI para a função
pyspark.sql.dataframe.DataFrame.writeTo. Todos os usos dessa função agora terão o EWI SPRKPY1087.
Alterado¶
Atualizada a documentação dos Scala EWIs de
SPRKSCL1137paraSPRKSCL1156para alinhar-se a um formato padronizado, garantindo consistência e clareza em todos os EWIs.Atualizada a documentação dos Scala EWIs de
SPRKSCL1117paraSPRKSCL1136para alinhar-se a um formato padronizado, garantindo consistência e clareza em todos os EWIs.Atualizada a mensagem que é exibida nos seguintes EWIs:
SPRKPY1082
SPRKPY1083
Atualização da documentação dos Scala EWIs de
SPRKSCL1100paraSPRKSCL1105, deSPRKSCL1108paraSPRKSCL1116; deSPRKSCL1157paraSPRKSCL1175; para alinhar-se a um formato padronizado, garantindo consistência e clareza em todos os EWIs.Atualizado o status de mapeamento dos seguintes elementos PySpark de NotSupported para . Direto com EWI:
pyspark.sql.readwriter.DataFrameWriter.option=>snowflake.snowpark.DataFrameWriter.option: Todos os usos dessa função agora têm o EWI SPRKPY1088pyspark.sql.readwriter.DataFrameWriter.options=>snowflake.snowpark.DataFrameWriter.options: Todos os usos dessa função agora têm o EWI SPRKPY1089
Atualizado o status de mapeamento dos seguintes elementos PySpark de Solução alternativa para Renomear:
pyspark.sql.readwriter.DataFrameWriter.partitionBy=>snowflake.snowpark.DataFrameWriter.partition_by
Documentação EWI atualizada: SPRKSCL1000, SPRKSCL1001, SPRKSCL1002, SPRKSCL1100, SPRKSCL1101, SPRKSCL1102, SPRKSCL1103, SPRKSCL1104, SPRKSCL1105.
Removed¶
Removido o elemento
pyspark.sql.dataframe.DataFrameStatFunctions.writeTodo status de conversão, pois esse elemento não existe.
Obsoleto¶
Depreciados os seguintes códigos EWI:
SPRKPY1081
SPRKPY1084
Version 2.3.0 (Oct 30, 2024)¶
Aplicativo e CLI Versão 2.3.0¶
Snowpark Conversion Core 4.11.0
Snowpark Conversion Core 4.11.0¶
Adicionado¶
Foi adicionada uma nova coluna chamada
Urlao arquivoIssues.csv, que redireciona para a documentação correspondente do EWI.Adicionados novos EWIs para os seguintes elementos do Spark:
[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
Foram adicionados 38 novos elementos 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¶
Corrigido¶
Foi corrigido um erro que fazia com que o SMA mostrasse o rótulo SnowConvert em vez de Snowpark Migration Accelerator na barra de menus da versão Windows.
Foi corrigido um bug que fazia com que o SMA travasse quando não tinha permissões de leitura e gravação no diretório
.configno macOS e no diretórioAppDatano Windows.
Command Line Interface¶
Alterado
O nome do executável da CLI foi renomeado de
snowctparasma.Removido o argumento da linguagem de origem para que o usuário não precise mais especificar se está executando uma avaliação/conversão de Python ou Scala.
Expandidos os argumentos de linha de comando suportados pela CLI, adicionando os seguintes novos argumentos:
--enableJupyter|-j: Sinalizador para indicar se a conversão de notebooks do Databricks para o Jupyter está ativada ou não.--sql|-f: Sintaxe do mecanismo de banco de dados a ser usada quando um comando SQL for detectado.--customerEmail|-e: Configurar o e-mail do cliente.--customerCompany|-c: Configurar a empresa do cliente.--projectName|-p: Configure o projeto do cliente.
Atualização de alguns textos para refletir o nome correto do aplicativo, garantindo consistência e clareza em todas as mensagens.
Atualizados os termos de uso do aplicativo.
Atualizada e ampliada a documentação da CLI para refletir os recursos, aprimoramentos e alterações mais recentes.
Atualizado o texto que é mostrado antes de prosseguir com a execução do SMA para melhorar
Atualizado a CLI para aceitar «Yes» como um argumento válido ao solicitar a confirmação do usuário.
Permitimos que a CLI continue a execução sem esperar pela interação do usuário, especificando o argumento
-you--yes.Atualizadas as informações de ajuda do argumento
--sqlpara mostrar os valores que esse argumento espera.
Snowpark Conversion Core Versão 4.10.0¶
Adicionado¶
Adicionado um novo EWI para a função
pyspark.sql.readwriter.DataFrameWriter.partitionBy. Todos os usos dessa função agora terão o EWI SPRKPY1081.Adicionada uma nova coluna chamada
Technologyao arquivoImportUsagesInventory. csv.
Alterado¶
Atualizada a pontuação de preparação das bibliotecas de terceiros para levar em conta também as bibliotecas
Unknown.Atualizado o arquivo
AssessmentFiles.zippara incluir os arquivos.jsonem vez dos arquivos.pam.Aprimorado o mecanismo de conversão de CSV para JSON para tornar o processamento de inventários mais eficiente.
Aprimorada a documentação dos seguintes EWIs:
SPRKPY1029
SPRKPY1054
SPRKPY1055
SPRKPY1063
SPRKPY1075
SPRKPY1076
Atualização do status de mapeamento dos seguintes elementos Spark Scala de
DiretoparaRenomear.org.apache.spark.sql.functions.shiftLeft=>com.snowflake.snowpark.functions.shiftleftorg.apache.spark.sql.functions.shiftRight=>com.snowflake.snowpark.functions.shiftright
Atualizado o status de mapeamento dos seguintes elementos do Spark Scala foi atualizado de
Não suportadoparaDireto.org.apache.spark.sql.functions.shiftleft=>com.snowflake.snowpark.functions.shiftleftorg.apache.spark.sql.functions.shiftright=>com.snowflake.snowpark.functions.shiftright
Corrigido¶
Foi corrigido um erro que fazia com que o SMA preenchesse incorretamente a coluna
Origindo arquivoImportUsagesInventory.csv.Foi corrigido um bug que fazia com que o SMA não classificasse as importações das bibliotecas
io,json,loggingeunittestcomo importações incorporadas do Python no arquivoImportUsagesInventory.csve no arquivoDetailedReport.docx.
Version 2.2.2 (Oct 11, 2024)¶
Versão do aplicativo 2.2.2¶
As atualizações de recursos incluem:
Snowpark Conversion Core 4.8.0
Snowpark Conversion Core Versão 4.8.0¶
Adicionado¶
Adicionados os arquivos
EwiCatalog.csve .md para reorganizar a documentaçãoAdicionado o status de mapeamento de Direto
pyspark.sql.functions.ln.Adicionada uma transformação para
pyspark.context.SparkContext.getOrCreateConsulte o EWI SPRKPY1080 para obter mais detalhes.
Adicionado um aprimoramento para SymbolTable, inferir o tipo de parâmetros em funções.
SymbolTable adicionada suporta métodos estáticos e não assume que o primeiro parâmetro será self para eles.
Foi adicionada documentação sobre a falta de EWIs
SPRKHVSQL1005
SPRKHVSQL1006
SPRKSPSQL1005
SPRKSPSQL1006
SPRKSCL1002
SPRKSCL1170
SPRKSCL1171
SPRKPY1057
SPRKPY1058
SPRKPY1059
SPRKPY1060
SPRKPY1061
SPRKPY1064
SPRKPY1065
SPRKPY1066
SPRKPY1067
SPRKPY1069
SPRKPY1070
SPRKPY1077
SPRKPY1078
SPRKPY1079
SPRKPY1101
Alterado¶
Atualizado o status de mapeamento de:
pyspark.sql.functions.array_removedeNotSupportedparaDireto.
Corrigido¶
Corrigida a tabela de dimensionamento de arquivos de código no relatório de detalhes para excluir arquivos .sql e .hql e adicionada a linha Extra Large na tabela.
Foi corrigida a falta da tag
update_query_tagquandoSparkSessioné definido em várias linhas emPython.Foi corrigida a falta da tag
update_query_tagquandoSparkSessioné definido em várias linhas emScala.Foi corrigida a falta do EWI
SPRKHVSQL1001em algumas instruções SQL com erros de análise.Correção da manutenção de valores de novas linhas dentro de literais de cadeia de caracteres
Corrigido o total de linhas de código mostrado na tabela de resumo do tipo de arquivo
Corrigido o Parsing Score mostrado como 0 quando os arquivos eram reconhecidos com sucesso
Corrigida a contagem de LOC no inventário de células para Databricks Magic SQL Cells
Version 2.2.0 (Sep 26, 2024)¶
Application Version 2.2.0¶
As atualizações de recursos incluem:
Snowpark Conversion Core 4.6.0
Snowpark Conversion Core Versão 4.6.0¶
Adicionado¶
Adicionada transformação para
pyspark.sql.readwriter.DataFrameReader.parquet.Adicionada transformação para
pyspark.sql.readwriter.DataFrameReader.optionquando for um método Parquet.
Alterado¶
Atualizado o status de mapeamento de:
pyspark.sql.types.StructType. fieldsdeNotSupportedparaDireto.pyspark.sql.types.StructType. namesdeNotSupportedparaDireto.pyspark.context.SparkContext.setLogLeveldeSolução alternativaparaTransformação.Mais detalhes podem ser encontrados nos EWIs SPRKPY1078 e SPRKPY1079
org.apache.spark.sql.functions.rounddeWorkAroundparaDireto.org.apache.spark.sql.functions.udfdeNotDefinedparaTransformação.Mais detalhes podem ser encontrados nos EWIs SPRKSCL1174 e SPRKSCL1175
Atualização do status de mapeamento dos seguintes elementos Spark de
DirectHelperparaDireto: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
Corrigido¶
Corrigido valor mostrado na Porcentagem do total da Api do Pandas
Corrigido percentual total na tabela ImportCalls no DetailReport
Obsoleto¶
Desativado o seguinte código EWI:
SPRKSCL1115
Version 2.1.7 (Sep 12, 2024)¶
Versão do aplicativo 2.1.7¶
As atualizações de recursos incluem:
Snowpark Conversion Core 4.5.7
Snowpark Conversion Core 4.5.2
Snowpark Conversion Core Versão 4.5.7¶
Hotfixed¶
Corrigida linha Total adicionada nos resumos de usos do Spark quando não há usos
Aumento do Python Assembly para Version=
1.3.111Analisar vírgula de trilha em argumentos de várias linhas
Snowpark Conversion Core Versão 4.5.2¶
Adicionado¶
Adicionada transformação para
pyspark.sql.readwriter.DataFrameReader.option:Quando a cadeia é de uma chamada de método CSV.
Quando a cadeia é de uma chamada de método JSON.
Adicionada transformação para
pyspark.sql.readwriter.DataFrameReader.json.
Alterado¶
Executado SMA em cadeias de caracteres SQL passadas para funções Python/Scala
Criar AST em Scala/Python para emitir a unidade temporária SQL
Criar inventário em SqlEmbeddedUsages.csv
Desativar SqlStatementsInventroy.csv e SqlExtractionInventory.csv
Integrar EWI quando o literal SQL não puder ser processado
Criar nova tarefa para processar código SQL incorporado
Coletar informações para o inventário SqlEmbeddedUsages.csv em Python
Substituir código transformado SQL para Literal em Python
Atualizar os casos de teste após a implementação
Criar tabela e exibições para telemetria no inventário SqlEmbeddedUsages
Coletar informações para o relatório SqlEmbeddedUsages.csv em Scala
Substituir código transformado SQL para Literal em Scala
Verificar a ordem do número da linha para o relatório SQL incorporado
Preenchido o arquivo
SqlFunctionsInfo.csvcom as funções SQL documentadas para SparkSQL e HiveSQLAtualizado o status do mapeamento para:
org.apache.spark.sql.SparkSession.sparkContextde NotSupported para Transformação.org.apache.spark.sql.Builder.configdeNotSupportedparaTransformação. Com esse novo status de mapeamento, o SMA removerá todos os usos dessa função do código-fonte.
Version 2.1.6 (Sep 5, 2024)¶
Versão do aplicativo 2.1.6¶
Mudança de hotfix para a versão 4.5.1 do Snowpark Engines Core
Spark Conversion Core Versão 4.5.1¶
Hotfix
Foi adicionado um mecanismo para converter os notebooks temporais do Databricks gerados pelo SMA em notebooks exportados do Databricks
Version 2.1.5 (Aug 29, 2024)¶
Versão do aplicativo 2.1.5¶
As atualizações de recursos incluem:
Updated Spark Conversion Core: 4.3.2
Spark Conversion Core Versão 4.3.2¶
Adicionado¶
Foi adicionado o mecanismo (via decoração) para obter a linha e a coluna dos elementos identificados nas células dos notebooks
Adicionado um EWI para pyspark.sql.functions.from_json.
Adicionada uma transformação para pyspark.sql.readwriter.DataFrameReader.csv.
Ativado o mecanismo de tag de consulta para arquivos Scala.
Adicionada a pontuação da análise de código e links adicionais para o relatório detalhado.
Foi adicionada uma coluna chamada OriginFilePath ao arquivo InputFilesInventory.csv
Alterado¶
Atualizamos o status do mapeamento de pyspark.sql.functions.from_json de Não suportado para Transformação.
Atualizamos o status de mapeamento dos seguintes elementos Spark de Solução alternativa para Direto:
org.apache.spark.sql.functions.countDistinct
org.apache.spark.sql.functions.max
org.apache.spark.sql.functions.min
org.apache.spark.sql.functions.mean
Obsoleto¶
Depreciados os seguintes códigos EWI:
SPRKSCL1135
SPRKSCL1136
SPRKSCL1153
SPRKSCL1155
Corrigido¶
Foi corrigido um bug que causava um cálculo incorreto da pontuação da API do Spark.
Foi corrigido um erro que evitava a cópia de SQL arquivos vazios ou comentados na pasta de saída.
Corrigido um bug no DetailedReport, o LOC das estatísticas do notebook e a contagem de células não são precisas.
Version 2.1.2 (Aug 14, 2024)¶
Versão do aplicativo 2.1.2¶
As atualizações de recursos incluem:
Updated Spark Conversion Core: 4.2.0
Spark Conversion Core Versão 4.2.0¶
Adicionado¶
Adicionar coluna de tecnologia ao SparkUsagesInventory
Foi adicionado um EWI para elementos SQL não definidos.
Adicionado inventário de SqlFunctions
Coletar informações para inventário de SqlFunctions
Alterado¶
O mecanismo agora processa e imprime arquivos Python parcialmente analisados em vez de deixar o arquivo original sem modificações.
As células do notebook Python que apresentarem erros de análise também serão processadas e impressas.
Corrigido¶
Corrigido
pandas.core.indexes.datetimes.DatetimeIndex.strftimeestava sendo relatado erroneamente.Corrigir a incompatibilidade entre a pontuação de preparação de SQL e usos de SQL por status de suporte.
Foi corrigido um bug que fazia com que o SMA informasse
pandas.core.series.Series.emptycom um status de mapeamento incorreto.Corrigir a incompatibilidade entre o Spark API Usages Ready for Conversion em DetailedReport.docx; é diferente da linha UsagesReadyForConversion em Assessment.json.
Version 2.1.1 (Aug 8, 2024)¶
Versão do aplicativo 2.1.1¶
As atualizações de recursos incluem:
Atualizado Spark Conversion Core: 4.1.0
Spark Conversion Core Versão 4.1.0¶
Adicionado¶
Foram adicionadas as seguintes informações ao arquivo
AssessmentReport.jsonA pontuação de preparação das bibliotecas de terceiros.
O número de chamadas de bibliotecas de terceiros que foram identificadas.
O número de chamadas de bibliotecas de terceiros que são compatíveis com o Snowpark.
O código de cores associado à pontuação de preparação de terceiros, à pontuação de preparação da API do Spark e à pontuação de preparação de SQL.
Transformado
SqlSimpleDataTypeno Spark para criar tabelas.Adicionado o mapeamento de
pyspark.sql.functions.getcomo direto.Adicionado o mapeamento de
pyspark.sql.functions.to_varcharcomo direto.Como parte das alterações após a unificação, a ferramenta agora gera um arquivo de informações de execução no Engine.
Adicionado um substituto para
pyspark.sql.SparkSession.builder.appName.
Alterado¶
Atualização do status de mapeamento dos seguintes elementos Spark
De Não suportado para mapeamento Direto:
pyspark.sql.functions.signpyspark.sql.functions.signum
Alterado o relatório Notebook Cells Inventory para indicar o tipo de conteúdo de cada célula na coluna Element
Foi adicionada uma coluna
SCALA_READINESS_SCOREque informa a pontuação de preparação relacionada apenas a referências à API do Spark em arquivos Scala.Suporte parcial para transformar as propriedades da tabela em
ALTER TABLEeALTER VIEWAtualização do status de conversão do nó
SqlSimpleDataTypede Pending para Transformation nas tabelas de criação do SparkAtualizada a versão da API do Snowpark Scala suportada pelo SMA de
1.7.0para1.12.1:Atualizado o status de mapeamento de:
org.apache.spark.sql.SparkSession.getOrCreatede Renomear para Diretoorg.apache.spark.sql.functions.sumde Solução alternativa para Direto
Atualizada a versão da API do Snowpark Python suportada pelo SMA de
1.15.0para1.20.0:Atualizado o status de mapeamento de:
pyspark.sql.functions.arrays_zipde Não suportado para Direto
Atualização do status de mapeamento dos seguintes elementos do Pandas:
Mapeamentos diretos:
pandas.core.frame.DataFrame.anypandas.core.frame.DataFrame.applymap
Atualização do status de mapeamento dos seguintes elementos do Pandas:
De Não suportado para mapeamento Direto:
pandas.core.frame.DataFrame.groupbypandas.core.frame.DataFrame.indexpandas.core.frame.DataFrame.Tpandas.core.frame.DataFrame.to_dict
De Não suportado para Renomear mapeamento:
pandas.core.frame.DataFrame.map
Atualização do status de mapeamento dos seguintes elementos do Pandas:
Mapeamentos diretos:
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
Mapeamentos não suportados:
pandas.core.frame.DataFrame.to_parquetpandas.core.generic.NDFrame.to_csvpandas.core.generic.NDFrame.to_excelpandas.core.generic.NDFrame.to_sql
Atualização do status de mapeamento dos seguintes elementos do Pandas:
Mapeamentos diretos:
pandas.core.series.Series.emptypandas.core.series.Series.applypandas.core.reshape.tile.qcut
Direct mappings with EWI:
pandas.core.series.Series.fillnapandas.core.series.Series.astypepandas.core.reshape.melt.meltpandas.core.reshape.tile.cutpandas.core.reshape.pivot.pivot_table
Atualização do status de mapeamento dos seguintes elementos do Pandas:
Mapeamentos diretos:
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
Mapeamentos não suportados:
pandas.core.series.Series.dt.strftime
Atualização do status de mapeamento dos seguintes elementos do Pandas:
De Não suportado para mapeamento Direto:
pandas.io.parquet.read_parquetpandas.io.parsers.readers.read_csv
Atualização do status de mapeamento dos seguintes elementos do Pandas:
De Não suportado para mapeamento Direto:
pandas.io.pickle.read_picklepandas.io.sql.read_sqlpandas.io.sql.read_sql_query
Atualizada a descrição como entender a pontuação de preparação de SQL.
Atualizado o
PyProgramCollectorpara coletar os pacotes e preencher o inventário de pacotes atual com dados do código-fonte do Python.Atualizado o status de mapeamento de
pyspark.sql.SparkSession.builder.appNamede Renomear para Transformação.Removidos os seguintes testes de integração do Scala:
AssesmentReportTest_AssessmentMode.ValidateReports_AssessmentModeAssessmentReportTest_PythonAndScala_Files.ValidateReports_PythonAndScalaAssessmentReportTestWithoutSparkUsages.ValidateReports_WithoutSparkUsages
Atualização do status de mapeamento de
pandas.core.generic.NDFrame.shapede Não suportado para Direto.Atualizado o status de mapeamento de
pandas.core.seriesde Não suportado para Direto.
Obsoleto¶
O código EWI
SPRKSCL1160foi descontinuado, poisorg.apache.spark.sql.functions.sumagora é um mapeamento direto.
Corrigido¶
Foi corrigido um erro que impedia o suporte a Custom Magics sem argumentos nas células do Jupyter Notebook.
Foi corrigida a geração incorreta de EWIs no relatório issues.csv quando ocorriam erros de análise.
Foi corrigido um erro que fazia com que o SMA não processasse o notebook exportado do Databricks como Databricks Notebooks.
Foi corrigido um erro de estouro de pilha ao processar nomes de tipos conflitantes de instruções criadas dentro de objetos de pacotes.
Corrigido o processamento de nomes de tipos lambda complexos envolvendo genéricos, por exemplo,
def func[X,Y](f: (Map[Option[X], Y] => Map[Y, X]))...Foi corrigido um bug que fazia com que o SMA adicionasse um código PySpark EWI em vez de um código Pandas EWI aos elementos Pandas que ainda não eram reconhecidos.
Corrigido um erro de digitação no modelo de relatório detalhado: renomeando uma coluna de «Percentage of all Python Files» para «Percentage of all files».
Foi corrigido um bug em que
pandas.core.series.Series.shapeera relatado erroneamente.