ich mit einer Pipeline Kopie Aktivität wie diese eine Daten Fabrik:Azure Daten Fabrik Kopie Aktivität von Storage SQL: hängt bei 70000 Zeilen
{
"type": "Copy",
"name": "Copy from storage to SQL",
"inputs": [
{
"name": "storageDatasetName"
}
],
"outputs": [
{
"name": "sqlOutputDatasetName"
}
],
"typeProperties": {
"source": {
"type": "BlobSource"
},
"sink": {
"type": "SqlSink"
}
},
"policy": {
"concurrency": 1,
"retry": 3
},
"scheduler": {
"frequency": "Month",
"interval": 1
}
}
Der Dateneingang ist ca. 90 MB groß, etwa 1,5 Millionen Zeilen , in ca. 20 x 4,5 MB blockieren BLOB-Dateien in Azure Storage. Hier ist ein Beispiel der Daten (CSV):
A81001,1,1,1,2,600,3.0,0.47236654,141.70996,0.70854986 A81001,4,11,0,25,588,243.0,5.904582,138.87576,57.392536 A81001,7,4,1,32,1342,278.0,7.5578647,316.95795,65.65895
Das Waschbecken ist ein Azure SQL Server vom Typ S2, die bei 50 DTUs bewertet wird. Ich habe eine einfache Tabelle mit sinnvollen Datentypen erstellt, und keine Schlüssel, Indizes oder etwas Besonderes, nur Spalten:
CREATE TABLE [dbo].[Prescriptions](
[Practice] [char](6) NOT NULL,
[BnfChapter] [tinyint] NOT NULL,
[BnfSection] [tinyint] NOT NULL,
[BnfParagraph] [tinyint] NOT NULL,
[TotalItems] [int] NOT NULL,
[TotalQty] [int] NOT NULL,
[TotalActCost] [float] NOT NULL,
[TotalItemsPerThousand] [float] NOT NULL,
[TotalQtyPerThousand] [float] NOT NULL,
[TotalActCostPerThousand] [float] NOT NULL
)
Die Quelle, Waschbecken und Daten Fabrik sind alle in der gleichen Region (Nordeuropa).
Laut Microsoft 'Copy activity performance and tuning guide', für Azure Storage Source und Azure SQL S2 sinken, sollte ich etwa 0,4 MBit/s bekommen. Nach meiner Berechnung bedeutet das, dass 90 MB in ungefähr einer halben Stunde übertragen werden sollten (ist das richtig?).
Für einige sehr schnell kopiert 70.000 Zeilen Grund zu hängen scheint dann. Mit SQL Management Studio kann ich sehen, dass die Anzahl der Zeilen in der Datenbanktabelle genau 70.000 ist und in 7 Stunden überhaupt nicht zugenommen hat. Doch die Kopieraufgabe läuft noch ohne Fehler:
Irgendwelche Ideen, warum dies bei 70.000 Zeilen hängt? Ich kann nichts Ungewöhnliches an der 70.001sten Datenzeile sehen, die ein Problem verursachen würde. Ich habe versucht, die Datenfabrik zu löschen und neu zu starten, und ich bekomme immer das gleiche Verhalten. Ich habe eine weitere Kopieraktivität mit einer kleineren Tabelle (8000 Zeilen), die in 1 Minute abgeschlossen ist.
das ist toll, aber wie um alles in der Welt haben Sie es geschafft ?! – m1nkeh
Ich musste manuell meine Datendateien von Zeile 70.000 nach irgendwelchen Problemen suchen! Zum Glück fiel der leere/Null-Wert auf: p Ich habe später ausgearbeitet, dass Sie die Batch-Größe ändern können, z. bis 100, was bedeutet, dass es an einer Zeilennummer hängt, die höchstens 100 Zeilen vom Problem entfernt ist –