Freigeben über


DataViewRowCursor Klasse

Definition

Klasse, die zum Cursor durch Zeilen einer IDataView.

public abstract class DataViewRowCursor : Microsoft.ML.DataViewRow
type DataViewRowCursor = class
    inherit DataViewRow
Public MustInherit Class DataViewRowCursor
Inherits DataViewRow
Vererbung
DataViewRowCursor

Hinweise

Beachten Sie, dass dies auch ein DataViewRow. Dies Position wird durch MoveNext(). Vor dem ersten Aufruf von MoveNext(), oder nach MoveNext() rückgaben false, Position ist -1. Andernfalls, wenn MoveNext() sie truezurückgegeben wird , Position>= 0.

Konstruktoren

DataViewRowCursor()

Klasse, die zum Cursor durch Zeilen einer IDataView.

Eigenschaften

Batch

Dies bietet eine Möglichkeit, mehrere Zeilen zusammenführen zu können, die in der Regel aus GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random)hergestellt wurden. Beim Abrufen eines Sets ist es erforderlich, während parallele Verarbeitung fortgesetzt werden kann, immer ein Ziel haben, dass die ursprüngliche Bestellung wiederherstellbar sein sollte. Beachten Sie, ob sich ein Benutzer um diese ursprüngliche Reihenfolge in der spezifischen Anwendung kümmert (die meisten Anrufer dieser Funktion als praktische Sache nicht, andernfalls sollten sie es nicht aufrufen), aber zumindest sollte es möglich sein, die ursprüngliche Reihenfolge zu rekonstruieren, die man von einer identisch konfigurierten .GetRowCursor(IEnumerable<DataViewSchema.Column>, Random) So: Für jede Cursorimplementierung sollten Batchnummern nicht reduziert werden. Darüber hinaus sollte jede bestimmte Batchnummer nur in einem der Cursor angezeigt werden, wie von GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random)ihnen zurückgegeben. Auf diese Weise wird die Reihenfolge durch die Batchnummer bestimmt. Ein Vorgang, der diese Cursor abgleicht, um eine konsistente einzelne Cursorerstellung zu erzeugen, könnte dies durch Zeichnen aus dem einzelnen Cursor, unter allen Cursorn in der Gruppe, die die kleinste Batchnummer verfügbar ist.

Beachten Sie, dass es keinen Vorschlag gibt, dass die Batche für einen bestimmten Eintrag von cursorn zu Cursorn konsistent sind, außer für die Konsistenz, die die gleiche Gesamtbestellung bewirkt. Der gleiche Eintrag könnte verschiedene Batchnummern von einem Cursor zu einem anderen haben. Es gibt auch keine Anforderung, dass eine bestimmte Batchnummer überhaupt angezeigt werden muss. Es handelt sich lediglich um einen Mechanismus zum Wiederherstellen der Reihenfolge aus einer möglicherweise beliebigen Partitionierung der Daten. Es folgt natürlich auch, dass der Batch eine Eigenschaft der Daten ist vollständig ungültig.

(Geerbt von DataViewRow)
Position

Dies wird erhöht, wenn sich der zugrunde liegende Inhalt ändert, wodurch Clients eine Möglichkeit zum Erkennen von Änderungen erhalten. Es sollte -1 sein, wenn sich das Objekt in einem Zustand befindet, in dem Werte nicht abgerufen werden können. Insbesondere für eine DataViewRowCursor, dies wird vor MoveNext() dem ersten Aufruf oder nach dem ersten MoveNext() Aufruf und gibt zurück .false

Beachten Sie, dass diese Position nicht innerhalb der zugrunde liegenden Daten positioniert ist, sondern nur die Position dieses Cursors. Wenn man beispielsweise eine Reihe paralleler Streaming-Cursor oder einen shuffled Cursor geöffnet hat, hätte jeder solche Cursor den ersten gültigen Eintrag immer über Position 0.

(Geerbt von DataViewRow)
Schema

Ruft eine Schema, die Namen- und Typinformationen für Variablen (d. h. Spalten im ML.NET-Typsystem) bereitstellt, die in dieser Zeile gespeichert sind.

(Geerbt von DataViewRow)

Methoden

Dispose()

Implementierung der Entsorgung. Anrufe Dispose(Boolean) mit true.

(Geerbt von DataViewRow)
Dispose(Boolean)

Die Einwegmethode für das einwegmuster. Diese Standardimplementierung führt nichts aus.

(Geerbt von DataViewRow)
GetGetter<TValue>(DataViewSchema+Column)

Gibt einen Wert-Getter-Stellvertretung zurück, um den Wert des angegebenen columnWerts aus der Zeile abzurufen. Dadurch wird ausgelöst, ob die Spalte in dieser Zeile nicht aktiv ist oder sich der Typ vom Typ TValue dieser Spalte unterscheidet.

(Geerbt von DataViewRow)
GetIdGetter()

Ein Getter für einen 128-Bit-ID-Wert. Es ist üblich, dass Objekte mehrere DataViewRow Instanzen verwenden, um die gleichen Daten zu iterieren, z. B. in einem IDataView Cursorsatz, die gleichen Daten wie ein serieller Cursor, nur partitioniert, und ein shuffled Cursor erzeugt dieselben Daten wie ein serieller Cursor oder einen anderen shuffled Cursor, nur gedrosselt. Die ID ist für Anwendungen vorhanden, die den Eintrag tatsächlich abgleichen müssen. Idealerweise sollte diese ID eindeutig sein, aber aus praktischen Gründen reicht es aus, wenn Kollisionen einfach extrem unwahrscheinlich sind.

Beachten Sie, dass diese ID, während sie für mehrere Datenströme gemäß der obigen Semantik konsistent sein muss, nicht als Teil der Daten pro Se betrachtet wird. Um also das Beispiel einer Datenansicht speziell darzustellen, muss eine einzelne Datenansicht konsistente IDs in allen Cursorn rendern, aber es gibt keinen Vorschlag, dass die "gleichen" Daten in einer anderen Datenansicht angezeigt wurden (z. B. transformationiert, zwischengespeichert, gespeichert oder was auch immer), dass die IDs zwischen den beiden verschiedenen Datenansichten eine erkennbare Beziehung haben würden.

(Geerbt von DataViewRow)
IsColumnActive(DataViewSchema+Column)

Gibt zurück, ob die angegebene Spalte in dieser Zeile aktiv ist.

(Geerbt von DataViewRow)
MoveNext()

Wechseln Sie zur nächsten Zeile. Wenn der Cursor zuerst erstellt wird, sollte diese Methode aufgerufen werden, um zur ersten Zeile zu wechseln. Gibt zurück false , wenn keine weiteren Zeilen vorhanden sind.

Gilt für: