Anwenderdefinierte Datenquelle (nach Skript laden)
Verwenden Sie ein anwenderdefiniertes Skript, um beliebige Arten eingehender Daten in der Importsatztabelle zu speichern.
Wenn Sie eine auswählen Typ Von Anwenderdefiniert (nach Skript laden) Für Ihre Datenquelle: Datenladeprogramm Feld wird angezeigt. Die Datenladeprogramm Das Feld ist ein JavaScript-Feld, in das Sie ein Skript eingeben können, um Daten abzurufen und mit in die Importsatztabelle einzufügen import_set_tableEingabeparameter. Sie können beispielsweise ein Skript eingeben, um Daten aus einer REST-API oder einem Dateianhang abzurufen.
Datenladeprogramm-Skript
Import_Set_table: Die Importsatztabelle, auf die im Datenquellendatensatz verwiesen wird. Die Daten werden in diese Tabelle eingefügt.Data_Source: Die Datenquelle, auf die im Datenquellendatensatz verwiesen wird.Import_log: Das Protokoll, das Informationen zur Datenimportaktivität aufzeichnet.Last_Success_Import_time: Zeitpunkt der letzten erfolgreichen Ausführung dieser Datenquelle.Partition_Info: Die Partitionierungsinformationen für die Daten. Wird zum parallelen Laden verwendet.
AddColumn(label, maxLength): Fügt der Importsatztabelle eine Spalte vom Typ Zeichenfolge hinzu.AddJSONColumn(label, maxLength): Fügt der Importsatztabelle eine JSON-Spalte hinzu.AddXMLColumn(label, maxLength): Fügt der Importsatztabelle eine XML-Spalte hinzu.Einfügen (rowData): Fügt eine Zuordnung (Schlüssel = Spaltenname, Wert = Spaltenwert) in die Importsatztabelle ein.GetMaximumRows(): Gibt Zurück 20 Wenn Sie auswählen Testlast 20 Datensätze . In jedem anderen Fall wird zurückgegeben -1 .
Datenladebeispiel
Skript für paralleles Laden
Parallel_Job_Loader: Die Tabelle „parallele Aufträge“ [sys_parallel_Job].Data_Source: Die Datenquelle, auf die im Datenquellendatensatz verwiesen wird.Import_log: Das Protokoll, das Informationen zur Datenimportaktivität aufzeichnet.Last_Success_Import_time: Zeitpunkt der letzten erfolgreichen Ausführung dieser Datenquelle.
Der Parameter parallel_Job_Loader hat den Hinzufügen (partitionInfo) Methode, die der Tabelle „parallele Aufträge“ [sys_parallel_Job] die Partitionsinformationen hinzufügt.
Beispiel für paralleles Laden
In diesem Beispiel partitioniert das Skript zum parallelen Laden die Daten in kleinere Abschnitte, die parallel geladen werden. Das Datenladerskript lädt die Daten in die Importsatztabelle und fügt nach einer Verzögerung von 120 Sekunden eine neue Partition hinzu, um Daten zu verarbeiten.
Verzögerungen, Status und Eigenschaften beim parallelen Laden
Für die meisten parallelen Aufträge sind Daten verfügbar, wenn das Datenladeprogramm-Skript ausgeführt wird, sodass Sie dem Datenladeprogramm-Skript keine parallelen Aufträge hinzufügen müssen.
In Fällen, in denen die Daten möglicherweise nicht sofort verfügbar sind, können Sie einen zusätzlichen parallelen Auftrag mit einer Verzögerung im Datenladerskript erstellen. Wenn das Datenladeskript ausgeführt wird, wird die parallele Aufgabe so geplant, dass sie nach der durch die Verzögerung angegebenen Zeit ausgeführt wird.
Vermeiden Sie beim Hinzufügen paralleler Aufträge zum Datenladerskript wiederholte Schleifen. Sie können wiederholte Schleifen vermeiden, indem Sie eine Einschränkung angeben. Im vorherigen Beispiel verwendet der parallele Auftrag im Datenladerskript die Einschränkung (Partition.Start < 1000) . Verzögerungen werden in Sekunden gemessen.
Sie können den Status Ihrer aktuellen parallelen Importaufgaben überprüfen, indem Sie zur Tabelle gleichzeitige Importsätze [sys_concurrent_Import_Set] wechseln, Ihren Auftrag auswählen und die Registerkarte parallele Aufträge anzeigen.
Verzögerte Aufträge werden möglicherweise als angezeigt Ausstehend Abhängig von der Dauer der Verzögerung. Parallele Aufträge werden aus der Ereigniswarteschlange verarbeitet, sodass Sie Ihre Aufträge auch anzeigen können, indem Sie zur Tabelle „Ereignisse“ [sysevent] wechseln und nach filtern [Warteschlange] [ist] [impex_parallel_Job_Queue] .
Wenn ein Auftrag in einem feststeckt Wird Ausgeführt status für mehr als 600 Minuten wird er automatisch wieder in einen versetzt Ausstehend status. Sie können die Zeit ändern, die ein paralleler Auftrag mit in einem Ausführungsstatus stecken darf com.glide.system_parallel_job_inactive_time_minutesEigenschaft.
Wenn ein paralleler Auftrag nach zwei Versuchen nicht abgeschlossen werden kann, wird der Auftrag auf festgelegt Fehler . Sie können die Anzahl der Versuche ändern, bevor Sie einen Fehlerstatus mit haben com.glide.system_parallel_job_max_retry_countEigenschaft. Die com.glide.system_parallel_job_auto_retryDie Eigenschaft kann auf „falsch“ festgelegt werden, um die automatische Wiederholung zu deaktivieren.
Automatische Skriptvervollständigung
Während Sie das Skript eingeben, zeigt die automatische Vervollständigung des Skripts die verfügbaren Optionen an, wie in diesem Beispiel gezeigt.