Ich verarbeite Daten in U-SQL, aber nicht zu erwarteten Ergebnissen. Hier ist, was ich tue:ADLA-Job produziert keine erwarteten Ergebnisse
1- Select data from ADL table partitions and assign it to @data1
2- Aggregate data using Group BY and assign it to @data2
3- Truncate partitions
4- Insert data(produced in step 2) into the same table
5- Use @data2 and generate a unique GUID for every record using user
defined function and assign it to @data2
//UDF Code
public static Guid GetNewGuid()
{
return Guid.NewGuid();
}
6- Select few columns from @data2 and assign it to @data3
Seltsamer GUIDs in @ Daten2 und @ data3 sind völlig verschieden.
Wenn ich einige Joins mit anderen Datasets durchführen und Schema in Schritt 5 ändern und dann eindeutige GUIDs generieren, dann bekomme ich die gleichen GUIDS im letzten Schritt. Es sieht so aus, als ob im Backend, das dieses Problem verursacht, eine Skriptoptimierung stattfindet.
Könnten Sie mir bitte mitteilen, was im obigen Workflow passiert? Oder wenn im Backend eine Art von Optimierung stattfindet, dann erfahren Sie, wie die Skriptoptimierung funktioniert.
Update: In dieser Frage, mein Fokus ist zu lernen, warum etwas auf einem Schritt berechnet wird automatisch im nächsten Schritt geändert.
Siehe [hier] (http://stackoverflow.com/questions/38964160/guid-newguid-always-return-same-guid-for-all-rows) für eine Antwort von Azure Data Lake Team. Guid ist nicht etwas, das Sie mit U-SQL verwenden sollten, um Datensätze eindeutig zu identifizieren, da sie möglicherweise "neu berechnet werden - zu fälligen Vertex-Wiederholungen, Leistungsoptimierungen usw.". – wBob
Mögliches Duplikat von [Guid.NewGuid() gibt immer dasselbe Guid für alle Zeilen zurück] (http://stackoverflow.com/questions/38964160/guid-newguid-always-return-same-guid-for-all-rows) – wBob
Danke für diesen Link. Ich werde dies für die eindeutige ID-Generierung berücksichtigen, aber für diese Frage habe ich einen anderen Fokus, den ich oben aktualisiert habe. – Jamil