Snowpark Migration Accelerator: SMA-Inventare

Der Snowpark Migration Accelerator (SMA) analysiert Ihre Codebasis und erstellt detaillierte Daten, die im Berichtsordner als Tabellen (Inventare) gespeichert werden. Diese Daten werden verwendet, um zwei Arten von Berichten zu erstellen:

  1. Die Bewertungzusammenfassung

  2. Die kuratierten Berichte

Das Verständnis der Inventardateien mag auf den ersten Blick entmutigend erscheinen, aber sie bieten wertvolle Einblicke sowohl in Ihren Ursprungs-Workload als auch in den konvertierten Workload. Im Folgenden erklären wir jede Ausgabedatei und ihre Spalten im Detail.

Diese Inventare werden auch über die Telemetriedatenerfassung ausgetauscht. Weitere Einzelheiten finden Sie im Telemetrieabschnitt in dieser Dokumentation.

Details des Bewertungsberichts

Die Datei AssessmentReport.json speichert Daten, die sowohl im Abschnitt „Detaillierter Bericht“ als auch im Abschnitt „Zusammenfassung der Bewertung“ der Anwendung angezeigt werden. Diese Datei wird in erster Linie zum Auffüllen dieser Berichte verwendet und kann Informationen enthalten, die auch in anderen Tabellen verfügbar sind.

Inventar der DBX-Elemente

Die Datei DbxElementsInventory.csv listet die innerhalb von Notebooks gefundenen DBX-Elemente auf.

  • Element: Der DBX-Elementname.

  • ProjectId: Name des Projekts (Stammverzeichnis, in dem das Tool ausgeführt wurde)

  • FileId: Datei, in der das Element gefunden wurde, und der relative Pfad zu dieser Datei.

  • Anzahl: Die Häufigkeit, mit der dieses Element in einer einzelnen Zeile angezeigt wird.

  • Kategorie: Die Elementkategorie.

  • Alias: Der Alias des Elements (gilt nur für Importelemente).

  • Art: Eine Kategorie für jedes Element. Dazu könnten „Function“ oder „Magic“ gehören.

  • Zeile: Die Zeilennummer in den Quelldateien, in der das Element gefunden wurde.

  • PackageName: Der Name des Pakets, in dem das Element gefunden wurde.

  • Unterstützt: Gibt an, ob diese Referenz unterstützt wird oder nicht. Werte:wahr/falsch.

  • Automatisiert: Gibt an, ob das Tool das Element automatisch konvertieren kann oder nicht. Werte:wahr/falsch.

  • Status: Die Kategorisierung der einzelnen Elemente. Die Optionen sind „Rename“, „Direct“, „Helper“, „Transformation“, WorkAround, NotSupported, NotDefined.

  • Statement: Der Code, in dem das Element verwendet wurde. [NOTE: Diese Spalte wird nicht über Telemetrie gesendet.]

  • SessionId: Eindeutiger Bezeichner für jede Ausführung des Tools.

  • SnowConvertCoreVersion: Die Versionsnummer für den Kerncodeprozess des Tools.

  • SnowparkVersion: Die Version der Snowpark API, die für die angegebene Technologie und die Ausführung des Tools verfügbar ist.

  • CellId: Wenn dieses Element in einer Notebook-Datei gefunden wurde, ist dies der nummerierte Speicherort der Zelle, in der sich dieses Element in der Datei befand.

  • ExecutionId: Der eindeutige Bezeichner für diese Ausführung der SMA.

Inventar des Ausführungsablaufs

Die Datei ExecutionFlowInventory.csv listet die Beziehungen zwischen den verschiedenen Workload-Bereichen basierend auf den gefundenen Funktionsaufrufen auf. Der Hauptzweck dieses Inventars besteht darin, als Grundlage für die Identifizierung der Einstiegspunkte zu dienen.

  • Aufrufer: Der vollständige Name des Bereichs, in dem der Aufruf gefunden wurde.

  • CallerType: Der Typ des Bereichs, in dem der Aufruf gefunden wurde. Folgende Typen sind möglich: Funktion, Klasse oder Modul.

  • Aufgerufen: Der vollständige Name des Elements, das aufgerufen wurde.

  • InvokedType: Der Typ des Elements. Folgende Typen sind möglich: Funktion oder Klasse.

  • FileId: Der relative Pfad der Datei. (Beginnend mit dem Eingabeordner, den der Benutzer im SMA-Tool gewählt hat)

  • CellId: Die Zellennummer, in der der Aufruf in einer Notebook-Datei gefunden wurde, falls dies zutrifft.

  • Zeile: Die Zeilennummer, in der der Aufruf gefunden wurde.

  • Spalte: Die Spaltennummer, in der der Aufruf gefunden wurde.

  • ExecutionId: Die Ausführungs-ID.

Checkpoints-Inventar

Die Datei Checkpoints.csv listet die generierten Checkpoints für den Workload des Benutzenden auf. Diese Checkpoints können im Checkpoints-Feature der Snowflake-Erweiterung vollständig verwendet werden.

  • Name: Der Name des Checkpoints (in dem zuvor beschriebenen Format).

  • FileId: Der relative Pfad der Datei (beginnend mit dem Eingabeordner, den der Benutzer im SMA-Tool gewählt hat).

  • CellId: Die Zellennummer, in der der DataFrame-Vorgang in einer Notebook-Datei gefunden wurde.

  • Zeile: Die Zeilennummer, in der der DataFrame-Vorgang gefunden wurde.

  • Spalte: Die Spaltennummer, in der der DataFrame-Vorgang gefunden wurde.

  • Typ: Der Anwendungsfall der Checkpoints (Sammlung oder Validierung).

  • DataFrameName: Der Name des DataFrame.

  • Standort: Die Zuweisungsnummer des DataFrame-Namens.

  • Aktiviert: Gibt an, ob der Checkpoint aktiviert ist (wahr/falsch).

  • Modus: Die Modusnummer der Sammlung (Schema [1] oder DataFrame [2]).

  • Beispiel: Das Beispiel des DataFrame.

  • EntryPoint: Der Einstiegspunkt, der den Ablauf zur Ausführung des Checkpoints führt.

  • ExecutionId: Die Ausführungs-ID.

DataFrames-Inventar

Die Datei DataFramesInventory.csv listet die gefundenen Datenframe-Zuweisungen auf, um Checkpoints für den Benutzer-Workload zu generieren.

  • FullName: Der vollständige Name des DataFrame.

  • Name: Der einfache Name der Variable des DataFrame.

  • FileId: Der relative Pfad der Datei (beginnend mit dem Eingabeordner, den der Benutzende im SMA-Tool gewählt hat).

  • **CellId: ** Die Zellennummer, in der der DataFrame-Vorgang in einer Notebook-Datei gefunden wurde.

  • Zeile: Die Zeilennummer, in der der DataFrame-Vorgang gefunden wurde.

  • **Spalte: ** Die Spaltennummer, in der der DataFrame-Vorgang gefunden wurde.

  • AssignmentNumber: Die Anzahl der Zuweisungen für diesen bestimmten Bezeichner (nicht Symbol) in der Datei.

  • RelevantFunction: Die relevante Funktion, warum dies erfasst wurde.

  • **RelatedDataFrames:**Der vollständige qualifizierte Name des/der DataFrame(s), die am Vorgang beteiligt sind (durch Semikolon getrennt).

  • EntryPoints: Das Feld wird für diese Phase leer sein. In einer späteren Phase wird es gefüllt sein.

  • ExecutionId: Die Ausführungs-ID.

Inventar der Artefaktabhängigkeiten

Die Datei ArtifactDependencyInventory.csv listet die Artefaktabhängigkeiten jeder Datei auf, die von der SMA analysiert wurde. Anhand dieses Inventars kann der Benutzer feststellen, welche Artefakte benötigt werden, damit die Datei in Snowflake ordnungsgemäß funktioniert.

Das Folgende gilt als Artefakt: eine Bibliothek eines Drittanbieters, SQL-Entität, Quelle eines Lese- oder Schreibvorgangs und eine weitere Quellcodedatei im Workload.

  • ExecutionId: Der Bezeichner der Ausführung.

  • FileId: Der Bezeichner der Quellcodedatei.

  • Abhängigkeit: Die Artefaktabhängigkeit, die die aktuelle Datei aufweist.

  • Typ: Der Typ der Artefaktabhängigkeit.

    • UserCodeFile: Quellcode oder Notebook.

    • IOSources: Ressource für Eingabe- und Ausgabevorgang erforderlich.

    • ThirdPartyLibraries: Eine Bibliothek eines Drittanbieters.

    • UnknownLibraries: Eine Bibliothek, deren Herkunft nicht von SMA bestimmt wurde.

    • SQLObjects: Eine SQL-Entität: Tabelle oder Ansicht, zum Beispiel.

  • Erfolg: Wenn das Artefakt ein Eingreifen erfordert, wird FALSE angezeigt; andernfalls wird TRUE angezeigt.

  • Status_Detail: Der Status der Artefaktabhängigkeit, basierend auf dem Typ.

    • UserCodeFile:

      • Geparst: Die Datei wurde erfolgreich geparst.

      • NotParsed: Das Parsen der Datei ist fehlgeschlagen.

    • IOSources:

      • Vorhanden: Die Ressource des Vorgangs befindet sich im Workload.

      • DoesNotExists: Die Ressource des Vorgangs ist in der Eingabe nicht vorhanden.

    • ThirdPartyLibraries:

      • Unterstützt: Die Bibliothek wird von Snowpark Anaconda unterstützt.

      • NotSupported: Die Bibliothek wird von Snowpark Anaconda nicht unterstützt.

    • UnknownLibraries:

      • NotSupported: Die Herkunft wurde nicht von SMA bestimmt.

    • SQLObject

      • DoesNotExists: Die eingebettete Anweisung, mit der die Entität erstellt wird, ist nicht im Quellcode der Eingabe enthalten.

      • Vorhanden: Die eingebettete Anweisung, mit der die Entität erstellt wird, befindet sich im Quellcode der Eingabe.

  • Argumente: Zusätzliche Daten der Artefaktabhängigkeit, basierend auf dem Typ.

  • Standort: Die Sammlung der Zellen-ID und Zeilennummer, in der die Artefaktabhängigkeit in der Quellcodedatei verwendet wird.

  • IndirectDependencies: Eine Liste der anderen Dateien, auf die sich diese Datei stützt, auch wenn es nicht direkt ist.

  • TotalIndirectDependencies: Die Gesamtzahl dieser indirekten Abhängigkeiten.

  • DirectParents: Eine Liste von Dateien, die diese Datei direkt verwenden.

  • TotalDirectParents: Die Gesamtzahl dieser direkten übergeordneten Dateien.

  • IndirectParents: Eine Liste von Dateien, die diese Datei indirekt (über andere Dateien) verwenden.

  • TotalIndirectParents: Die Gesamtzahl dieser indirekten übergeordneten Dateien.

Dateiinventar

Die Datei files.csv enthält eine vollständige Liste aller während der Ausführung des Tools verarbeiteten Dateien, einschließlich ihrer Dateitypen und Größen.

  • Pfad: Der Speicherort der Datei relativ zum Stammverzeichnis. Bei Dateien im Stammverzeichnis wird zum Beispiel nur der Dateiname angezeigt.

  • Technologie: Die Programmiersprache des Quellcodes (Python oder Scala)

  • FileKind: Bezeichner, ob die Datei Quellcode enthält oder von einem anderen Typ ist (z. B. Text- oder Protokolldateien)

  • BinaryKind: Zeigt an, ob die Datei ein für Menschen lesbarer Text oder eine Binärdatei ist

  • Bytes: Die Dateigröße gemessen in Bytes

  • SupportedStatus: Zeigt immer „DoesNotApply“ an, da der Dateiunterstützungsstatus in diesem Zusammenhang nicht anwendbar ist

Inventar der Importverwendungen

Die Datei ImportUsagesInventory.csv enthält eine Liste aller externen Bibliotheksimporte, die in Ihrer Codebasis gefunden wurden. Eine externe Bibliothek ist jedes Paket oder Modul, das in Ihre Quellcode-Dateien importiert wird.

  • Element: Der eindeutige Bezeichner für die Spark-Referenz

  • ProjectId: Der Name des Stammverzeichnisses, in dem das Tool ausgeführt wurde

  • FileId: Der relative Pfad und Dateiname, der die Spark-Referenz enthält

  • Anzahl: Anzahl der Vorkommen des Elements in einer einzelnen Zeile

  • Alias: Optionaler alternativer Name für das Element

  • Art: Immer leer/null, da alle Elemente Importe sind

  • Zeile: Nummer der Quellcodezeile, in der das Element erscheint

  • PackageName: Paket, das das Element enthält

  • Unterstützt: Gibt an, ob die Referenz konvertiert werden kann (True/False)

  • Automatisiert: Leer/null (veraltete Spalte)

  • Status: Immer „Ungültig“ (veraltete Spalte)

  • Erklärung: Der aktuelle Code, der das Element verwendet [Nicht in der Telemetrie enthalten]

  • SessionId: Eindeutiger Bezeichner für jede Tool-Ausführung

  • SnowConvertCoreVersion: Versionsnummer der Haupt-Engine für die Verarbeitung des Tools

  • SnowparkVersion: Verfügbare Snowpark API-Version für die spezifische Technologie

  • ElementPackage: Paketname, der das importierte Element enthält (sofern verfügbar)

  • CellId: Gibt bei Notebook-Dateien die Zellennummer an, die das Element enthält

  • ExecutionId: Eindeutiger Bezeichner für diese SMA-Ausführung

  • Herkunft: Art der Quelle des Imports (BuiltIn, ThirdPartyLib oder leer)

Inventar der Eingabedateien

Die Datei InputFilesInventory.csv enthält eine detaillierte Liste aller Dateien, geordnet nach Dateityp und Größe.

  • Element: Der Dateiname, der identisch ist mit FileId

  • ProjectId: Der Name des Projekts, repräsentiert durch das Stammverzeichnis, in dem das Tool ausgeführt wurde

  • FileId: Der vollständige Pfad zur Datei, die die Spark-Referenz enthält, angezeigt als relativer Pfad

  • Anzahl: Die Anzahl der Dateien mit diesem Dateinamen

  • SessionId: Ein eindeutiger Bezeichner, der jeder Tool-Sitzung zugewiesen wird

  • Erweiterung: Der Typ der Dateierweiterung

  • Technologie: Die Programmiersprache oder der Technologietyp, bestimmt durch die Dateierweiterung

  • Bytes: Die Dateigröße gemessen in Bytes

  • CharacterLength: Die Gesamtzahl der Zeichen in der Datei

  • LinesOfCode: Die Gesamtzahl der Codezeilen in der Datei

  • ParsingResult: Zeigt an, ob die Zelle erfolgreich geparst wurde („Erfolgreich“) oder ob Fehler aufgetreten sind („Fehler“)

Inventar der Eingabe- und Ausgabedateien

Die Datei IOFilesInventory.csv enthält eine Liste aller externen Dateien und Ressourcen, aus denen Ihr Code liest oder in die er schreibt.

  • Element: Das spezifische Element (Datei, Variable oder Komponente), auf das für Lese- oder Schreibvorgänge zugegriffen wird

  • ProjectId: Der Name des Stammverzeichnisses, in dem das Tool ausgeführt wurde

  • FileId: Der vollständige Pfad und Dateiname, in dem Spark-Code entdeckt wurde

  • Anzahl: Die Anzahl der Vorkommen dieses Dateinamens

  • isLiteral: Gibt an, ob der Lese-/Schreibort als Literalwert angegeben ist

  • Format: Das erkannte Dateiformat (z. B. CSV, JSON ), wenn SMA es identifizieren kann

  • FormatType: Gibt an, ob das identifizierte Format explizit ist

  • Modus: Zeigt an, ob der Vorgang „Lesen“ oder „Schreiben“ ist

  • Unterstützt: Zeigt an, ob Snowpark diesen Vorgang unterstützt

  • Zeile: Die Zeilennummer in der Datei, in der der Lese- oder Schreibvorgang stattfindet

  • SessionId: Ein eindeutiger Bezeichner, der jeder Tool-Sitzung zugewiesen wird

  • OptionalSettings: Listet alle zusätzlichen Parameter auf, die für das Element definiert wurden

  • CellId: Bezeichnet bei Notebook-Dateien die spezifische Zellposition (null bei Nicht-Notebook-Dateien)

  • ExecutionId: Ein eindeutiger Bezeichner für jede Ausführung des Tools

Probleminventar

Die Datei Issues.csv enthält einen detaillierten Bericht über alle Konvertierungsprobleme, die in Ihrer Codebasis entdeckt wurden. Zu jedem Problem finden Sie:

  • Eine Beschreibung, die das Problem erklärt

  • Die genaue Stelle innerhalb der Datei, an der das Problem auftritt

  • Ein eindeutiger Bezeichner für den Problemtyp

Ausführlichere Informationen zu bestimmten Problemen finden Sie im Abschnitt issue analysis unserer Dokumentation.

  • Code: Ein eindeutiger Bezeichner, der jedem vom Tool erkannten Problem zugewiesen wird

  • Beschreibung: Eine detaillierte Erklärung des Problems, einschließlich des Spark-Referenznamens, falls zutreffend

  • Kategorie: Der Typ des gefundenen Problems, der einer der folgenden sein kann:

    • Warnung

    • Konvertierungsfehler

    • Parser-Fehler

    • Helper

    • Transformation

    • WorkAround

    • NotSupported

    • NotDefined

  • NodeType: Der Bezeichner des Syntaxknotens, in dem das Problem entdeckt wurde

  • FileId: Der relative Pfad und Dateiname, unter dem die Spark-Referenz gefunden wurde

  • ProjectId: Der Name des Stammverzeichnisses, in dem das Tool ausgeführt wurde

  • Zeile: Die spezifische Zeilennummer in der Quelldatei, in der das Problem auftritt

  • Spalte: Die spezifische Zeichenposition in der Zeile, in der das Problem auftritt

Fügt Inventar hinzu

Die Datei JoinsInventory.csv enthält eine umfassende Liste aller Verknüpfungsoperationen von Datenframe, die in der Codebase zu finden sind.

  • Element: Zeilennummer, die angibt, wo die Verknüpfung beginnt (und endet, wenn sie sich über mehrere Zeilen erstreckt)

  • ProjectId: Name des Stammverzeichnisses, in dem das Tool ausgeführt wurde

  • FileId: Pfad und Name der Datei, die die Spark-Referenz enthält

  • Anzahl: Anzahl der Dateien mit demselben Dateinamen

  • isSelfJoin TRUE wenn eine Tabelle mit sich selbst verbunden wird, sonst FALSE

  • HasLeftAlias TRUE wenn ein Alias für die linke Seite der Verknüpfung definiert ist, ansonsten FALSE

  • HasRightAlias TRUE wenn ein Alias für die rechte Seite der Verknüpfung definiert ist, ansonsten FALSE

  • Zeile: Nummer der Startzeile der Verbindung

  • SessionId: Eindeutiger Bezeichner, der jeder Tool-Sitzung zugewiesen wird

  • CellId: Bezeichner der Notebook-Zelle, die das Element enthält (null für Nicht-Notebook-Dateien)

  • ExecutionId: Eindeutiger Bezeichner für jede Tool-Ausführung

Inventar der Notebook-Zellen

Die Datei NotebookCellsInventory.csv enthält eine detaillierte Liste aller Zellen in einem Notebook, einschließlich des Inhalts des Quellcodes und der Anzahl der Codezeilen pro Zelle.

  • Element: Die im Quellcode verwendete Programmiersprache (Python, Scala oder SQL)

  • ProjectId: Der Name des Stammverzeichnisses, in dem das Tool ausgeführt wurde

  • FileId: Der vollständige Pfad und Dateiname, in dem Spark-Code entdeckt wurde

  • Anzahl: Die Anzahl der Dateien mit diesem bestimmten Dateinamen

  • CellId: Bei Notebook-Dateien der eindeutige Bezeichner der Zelle, die den Code enthält (null bei Nicht-Notebook-Dateien)

  • Argumente: Dieses Feld ist immer leer (null)

  • LOC: Die Gesamtzahl der Codezeilen in der Zelle

  • Größe: Die Gesamtzahl der Zeichen in der Zelle

  • SupportedStatus: Zeigt an, ob alle Elemente in der Zelle unterstützt werden (TRUE) oder ob es nicht unterstützte Elemente gibt (FALSE)

  • ParsingResult: Zeigt an, ob die Zelle erfolgreich geparst wurde („Erfolgreich“) oder ob es Fehler beim Parsen gab („Fehler“)

Inventar der Notebook-Größe

Die Datei NotebookSizeInventory.csv enthält eine Zusammenfassung der Codezeilen für jede Programmiersprache, die in den Notebook-Dateien gefunden wurde.

  • Dateiname: Der Name der Tabellendatei (identisch mit FileId)

  • ProjectId: Der Name des Stammverzeichnisses, in dem das Tool ausgeführt wurde

  • FileId: Der relative Pfad und Name der Datei, die Spark-Referenzen enthält

  • Anzahl: Die Anzahl der Dateien mit diesem bestimmten Dateinamen

  • PythonLOC: Anzahl der Python-Codezeilen in den Zellen des Notebooks (Null für reguläre Dateien)

  • ScalaLOC: Anzahl der Scala-Codezeilen in den Zellen des Notebooks (Null für reguläre Dateien)

  • SqlLOC: Anzahl der SQL Codezeilen in den Zellen des Notebooks (Null für reguläre Dateien)

  • Zeile: Dieses Feld ist immer leer (null)

  • SessionId: Ein eindeutiger Bezeichner, der jeder Tool-Sitzung zugewiesen wird

  • ExecutionId: Ein eindeutiger Bezeichner, der jeder Tool-Ausführung zugewiesen wird

Inventar der Pandas-Verwendungen

Die Datei PandasUsagesInventory.csv enthält eine umfassende Liste aller Pandas API-Referenzen, die während des Scanvorgangs in Ihrer Python-Codebasis gefunden wurden.

  • Element: Der eindeutige Bezeichner für die Pandas-Referenz

  • ProjectId: Der Name des Stammverzeichnisses, in dem das Tool ausgeführt wurde

  • FileId: Der relative Pfad zur Datei, die die Spark-Referenz enthält

  • Anzahl: Anzahl der Vorkommen des Elements in einer einzelnen Zeile

  • Alias: Der alternative Name, der für das Element verwendet wird (gilt nur für Importe)

  • Art: Der Typ des Elements, z. B. Klasse, Variable, Funktion, Import usw.

  • Zeile: Die Zeilennummer der Quelldatei, in der das Element gefunden wurde

  • PackageName: Das Paket, das das Element enthält

  • Unterstützt: Zeigt an, ob die Referenz unterstützt wird (True/False)

  • Automatisch: Gibt an, ob das Tool das Element automatisch konvertieren kann (True/False)

  • Status: Element-Klassifizierung: Umbenennen, Direkt, Helper, Transformation, WorkAround, NotSupported oder NotDefined

  • Erklärung: Der Kontext, in dem das Element verwendet wurde [Nicht in der Telemetrie enthalten]

  • SessionId: Ein eindeutiger Bezeichner für jede Tool-Ausführung

  • SnowConvertCoreVersion: Die Versionsnummer des Hauptverarbeitungscodes des Tools

  • SnowparkVersion: Die Snowpark API-Version, die für die jeweilige Technologie und das verwendete Tool verfügbar ist

  • PandasVersion: Die Version von pandas API, die zur Identifizierung von Elementen in der Codebasis verwendet wird

  • CellId: Der Bezeichner der Zelle in der FileId (nur für Notebooks, sonst null)

  • ExecutionId: Ein eindeutiger Bezeichner für jede Tool-Ausführung

Spark-Verwendungsinventar

Die SparkUsagesInventory.csv-Datei gibt an, wo und wie Spark API-Funktionen in Ihrem Code verwendet werden. Diese Informationen helfen bei der Berechnung der Bereitschaftsbewertung, die angibt, wie bereit Ihr Code für die Migration ist.

  • Element: Der eindeutige Bezeichner für die Spark-Referenz

  • ProjectId: Der Name des Stammverzeichnisses, in dem das Tool ausgeführt wurde

  • FileId: Der relative Pfad und Dateiname, der die Spark-Referenz enthält

  • Anzahl: Anzahl der Vorkommen des Elements in einer einzelnen Zeile

  • Alias: Der Alias des Elements (gilt nur für Importelemente)

  • Art: Die Kategorie des Elements (z. B. Klasse, Variable, Funktion, Import)

  • Zeile: Die Zeilennummer der Quelldatei, in der das Element gefunden wurde

  • PackageName: Der Name des Pakets, das das Element enthält

  • Unterstützt: Zeigt an, ob die Referenz unterstützt wird (True/False)

  • Automatisch: Gibt an, ob das Tool das Element automatisch konvertieren kann (True/False)

  • Status: Element-Kategorisierung (Umbenennen, Direkt, Helper, Transformation, WorkAround, NotSupported, NotDefined)

  • Anweisung: Der tatsächliche Code, in dem das Element verwendet wurde [NOTE: Diese Spalte wird nicht über die Telemetrie gesendet]

  • SessionId: Ein eindeutiger Bezeichner für jede Tool-Ausführung

  • SnowConvertCoreVersion: Die Versionsnummer des Kernprozesses des Tools

  • SnowparkVersion: Die verfügbare Version von Snowpark-API für die jeweilige Technologie und das verwendete Tool

  • CellId: Bei Notebook-Dateien, die numerische Position der Zelle, in der das Element gefunden wurde

  • ExecutionId: Ein eindeutiger Bezeichner für diese spezielle SMA-Ausführung

Die Datei SqlStatementsInventory.csv enthält eine Zählung der SQL-Schlüsselwörter, die in Spark SQL-Elementen gefunden wurden.

  • Element: Name des Code-Elements, das die SQL-Anweisung enthält

  • ProjectId: Name des Stammverzeichnisses, in dem das Tool ausgeführt wurde

  • FileId: Relativer Pfad zu der Datei, die die Spark-Referenz enthält

  • Anzahl: Anzahl der Vorkommen des Elements in einer einzelnen Zeile

  • InterpolationCount: Anzahl der in dieses Element eingefügten externen Elemente

  • Schlüsselwörter: Wörterbuch mit SQL-Schlüsselwörtern und deren Häufigkeit

  • Größe: Gesamtzahl der Zeichen in der Anweisung SQL

  • LiteralCount: Anzahl der Zeichenfolgeliterale im Element

  • NonLiteralCount: Anzahl der Komponenten von SQL, die keine String-Literale sind

  • Zeile: Zeilennummer, in der das Element erscheint

  • SessionId: Eindeutiger Bezeichner für jede Tool-Sitzung

  • CellId: Bezeichner der Notebook-Zelle, die das Element enthält (null, wenn nicht in einem Notebook)

  • ExecutionId: Eindeutiger Bezeichner für jede Tool-Ausführung

SQL-Elementeinventar

Die SQLElementsInventory.csv-Datei enthält eine Zählung der SQL-Anweisungen, die innerhalb der Spark SQL-Elemente gefunden wurden.

Hier sind die Felder, die im SQL-Analysebericht enthalten sind:

  • Element: SQL-Codeelementtyp (Beispiel: SqlSelect, SqlFromClause)

  • ProjectId: Name des Stammverzeichnisses, in dem das Tool ausgeführt wurde

  • FileId: Pfad zur Datei, die den SQL-Code enthält

  • Anzahl: Anzahl der Vorkommen des Elements in einer einzelnen Zeile

  • NotebookCellId: ID der Notebook-Zelle

  • Zeile: Zeilennummer, in der das Element erscheint

  • Spalte: Nummer der Spalte, in der das Element angezeigt wird

  • SessionId: Einzigartige ID für jede Tool-Sitzung

  • ExecutionId: Einzigartige ID für jede Tool-Ausführung

  • SqlFlavor: Typ von SQL, der analysiert wird (Beispiel: Spark SQL, Hive SQL)

  • RootFullName: Vollständiger Name des Hauptcodeelements

  • RootLine: Zeilennummer des Hauptelements

  • RootColumn: Spaltennummer des Hauptelements

  • TopLevelFullName: Vollständiger Name der SQL-Anweisung höchster Ebene

  • TopLevelLine: Zeilennummer der Anweisung höchster Ebene

  • TopLevelColumn: Spaltennummer der Anweisung höchster Ebene

  • ConversionStatus: Ergebnis der SQL-Konvertierung (Beispiel: Erfolg, Fehlgeschlagen)

  • Kategorie: Typ der Anweisung SQL (Beispiel: DDL, DML, DQL)

  • EWI: Fehlerwarnung-Informationscode

  • ObjectReference: Name des SQL-Objekts, auf das verwiesen wird (Beispiel: Tabellenname, Ansichtsname)

SQL Eingebettetes Verwendungsinventar

Die SqlEmbeddedUsageInventory.csv-Datei enthält eine Zählung der SQL-Schlüsselwörter, die in Spark SQL-Elementen gefunden wurden.

  • Element: Der Typ der SQL-Komponente, die im Code gefunden wird (z. B. Select-Anweisung, From-Klausel oder numerisches Literal)

  • ProjectId: Der Name des Stammverzeichnisses, in dem das Tool ausgeführt wurde

  • FileId: Der Speicherort und der relative Pfad der Datei, die den SQL-Verweis enthält

  • Anzahl: Wie oft dieses Element in einer einzigen Zeile angezeigt wird

  • ExecutionId: Eine eindeutige ID, die jeder Tool-Ausführung zugewiesen wird

  • LibraryName: Der Name der verwendeten Bibliothek

  • HasLiteral: Zeigt an, ob das Element Literalwerte enthält

  • HasVariable: Zeigt an, ob das Element Variablen enthält

  • HasFunction: Zeigt an, ob das Element Funktionsaufrufe enthält

  • ParsingStatus: Der aktuelle Parsing-Status (Erfolg, Fehlgeschlagen oder Teilweise)

  • HasInterpolation: Zeigt an, ob das Element Zeichenfolge-Interpolationen enthält

  • CellId: Der Bezeichner für die Notebook-Zelle

  • Zeile: Die Zeilennummer, in der das Element gefunden wird

  • Spalte: Die Nummer der Spalte, in der sich das Element befindet

Inventar von Drittanbieterverwendungen

Die Datei ThirdPartyUsagesInventory.csv enthält

  • Element: Der eindeutige Bezeichner für die Drittanbieter-Referenz

  • ProjectId: Der Name des Stammverzeichnisses des Projekts, in dem das Tool ausgeführt wurde

  • FileId: Der relative Pfad zur Datei, die die Spark-Referenz enthält

  • Anzahl: Die Anzahl der Vorkommen des Elements in einer einzelnen Zeile

  • Alias: Der alternative Name, der dem Element zugewiesen wurde (falls zutreffend)

  • Art: Die Typklassifizierung des Elements (Variable, Typ, Funktion oder Klasse)

  • Zeile: Die Zeilennummer der Quelldatei, in der das Element gefunden wurde

  • PackageName: Der vollständige Paketname (Kombination aus ProjectId und FileId in Python)

  • Erklärung: Der tatsächliche Code, in dem das Element verwendet wurde [NOTE: Nicht in den Telemetriedaten enthalten]

  • SessionId: Ein eindeutiger Bezeichner für jede Tool-Sitzung

  • CellId: Der Bezeichner der Notebook-Zelle, in der das Element gefunden wurde (null für Nicht-Notebook-Dateien)

  • ExecutionId: Ein eindeutiger Bezeichner für jede Tool-Ausführung

Paketeinventar

Die Datei packagesInventory.csv enthält

  • Paketname: Der Name des zu analysierenden Pakets.

  • Projektname: Der Name des Projekts, der dem Stammverzeichnis entspricht, in dem das Tool ausgeführt wurde.

  • Dateispeicherort: Der Dateipfad, in dem das Paket gefunden wurde, wird als relativer Pfad angezeigt.

  • Anzahl der Vorkommnisse: Die Anzahl, wie oft dieses Paket in einer einzigen Codezeile vorkommt.

Zusammenfassung der Tool-Ausführung

Die Datei tool_execution.csv enthält wichtige Informationen über die aktuelle Ausführung des Programms Snowpark Migration Accelerator (SMA).

  • ExecutionId: Ein eindeutiger Bezeichner, der bei jeder Ausführung des Tools vergeben wird.

  • ToolName: Der Name des verwendeten Tools. Kann entweder PythonSnowConvert oder SparkSnowConvert (für Scala) sein.

  • Tool_Version: Die Versionsnummer der Software.

  • AssemblyName: Der vollständige Name des Code-Prozessors (eine ausführlichere Version von ToolName).

  • LogFile: Zeigt an, ob beim Auftreten eines Fehlers oder einer Störung eine Protokolldatei erstellt wurde.

  • FinalResult: Zeigt an, an welchem Punkt das Tool angehalten hat, wenn ein Fehler oder eine Störung aufgetreten ist.

  • ExceptionReport: Zeigt an, ob ein Fehlerbericht erstellt wurde, als ein Fehler auftrat.

  • StartTime: Das Datum und die Uhrzeit, zu der das Tool gestartet wurde.

  • EndTime: Das Datum und die Uhrzeit, zu der die Ausführung des Tools beendet wurde.

  • SystemName: Die Seriennummer des Rechners, auf dem das Tool ausgeführt wurde (wird nur zur Problembehandlung und zur Überprüfung von Lizenzen verwendet).