Condividi tramite


DataViewRowCursor Classe

Definizione

Classe utilizzata per eseguire il cursore tra righe di un oggetto IDataView.

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

Commenti

Si noti che si tratta anche di un oggetto DataViewRow. l'oggetto Position viene incrementato di MoveNext(). Prima della prima chiamata a MoveNext()o dopo MoveNext() restituisce false, Position è -1. In caso contrario, quando MoveNext() restituisce true, Position>= 0.

Costruttori

DataViewRowCursor()

Classe utilizzata per eseguire il cursore tra righe di un oggetto IDataView.

Proprietà

Batch

In questo modo è possibile riconciliare più righe generate in genere da GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random). Quando si ottiene un set, è necessario, consentendo al tempo stesso l'elaborazione parallela di procedere, avere sempre lo scopo di ripristinare l'ordine originale. Si noti che un utente si preoccupa o meno di tale ordine originale in un'applicazione specifica è un'altra storia del tutto (la maggior parte dei chiamanti di questo come una questione pratica non lo chiamerebbe, altrimenti non lo chiamerebbe), ma almeno in linea di principio dovrebbe essere possibile ricostruire l'ordine originale che si otterrebbe da un oggetto configurato in modo identico GetRowCursor(IEnumerable<DataViewSchema.Column>, Random). Pertanto: per qualsiasi implementazione del cursore, i numeri batch devono essere non decrescente. Inoltre, qualsiasi numero di batch specificato deve essere visualizzato solo in uno dei cursori restituiti da GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random). In questo modo, l'ordine è determinato dal numero di batch. Un'operazione che riconcilia questi cursori per produrre un cursore singolo coerente può farlo disegnando dal singolo cursore, tra tutti i cursori nel set, con il numero di batch più piccolo disponibile.

Si noti che non esiste alcun suggerimento che i batch per una voce specifica siano coerenti dal cursore al cursore, ad eccezione della coerenza con conseguente ordinamento complessivo. La stessa voce può avere numeri batch diversi da un cursore a un altro. Non è inoltre necessario che venga visualizzato alcun numero di batch specificato. Si tratta semplicemente di un meccanismo per il ripristino dell'ordinamento da un partizionamento eventualmente arbitrario dei dati. Ne consegue anche che, naturalmente, considerando che il batch come proprietà dei dati non è completamente valido.

(Ereditato da DataViewRow)
Position

Questo viene incrementato quando il contenuto sottostante cambia, offrendo ai client un modo per rilevare la modifica. Deve essere -1 quando l'oggetto si trova in uno stato in cui non è possibile recuperare i valori. In particolare, per un DataViewRowCursoroggetto , questo sarà prima MoveNext() che venga chiamato per la prima volta o dopo la prima chiamata MoveNext() e restituisce false.

Si noti che questa posizione non è posizionata all'interno dei dati sottostanti, ma solo la posizione di questo cursore. Se ad esempio si apre un set di cursori di streaming paralleli o un cursore casuale, la prima voce valida di ogni cursore avrà sempre la posizione 0.

(Ereditato da DataViewRow)
Schema

Ottiene un Schemaoggetto , che fornisce informazioni sul nome e sul tipo per le variabili ,ad esempio le colonne nel sistema di tipi di ML.NET, archiviate in questa riga.

(Ereditato da DataViewRow)

Metodi

Dispose()

Implementazione dell'eliminazione. Chiama Dispose(Boolean) con true.

(Ereditato da DataViewRow)
Dispose(Boolean)

Metodo eliminabile per il modello eliminabile. Questa implementazione predefinita non esegue alcuna operazione.

(Ereditato da DataViewRow)
GetGetter<TValue>(DataViewSchema+Column)

Restituisce un delegato getter di valore per recuperare il valore dell'oggetto specificato columndalla riga. Viene generata un'eccezione se la colonna non è attiva in questa riga o se il tipo TValue è diverso dal tipo di questa colonna.

(Ereditato da DataViewRow)
GetIdGetter()

Getter per un valore ID a 128 bit. È comune che gli oggetti usino più DataViewRow istanze per eseguire l'iterazione su ciò che si suppone essere gli stessi dati, ad esempio, in un IDataView set di cursori produrranno gli stessi dati di un cursore seriale, appena partizionati e un cursore casuale produrrà gli stessi dati di un cursore seriale o qualsiasi altro cursore casuale, solo mischiato. L'ID esiste per le applicazioni che devono riconciliare la voce in realtà. Idealmente questo ID deve essere univoco, ma per motivi pratici, è sufficiente se le collisioni sono semplicemente estremamente improbabili.

Si noti che questo ID, anche se deve essere coerente per più flussi in base alla semantica precedente, non è considerato parte dei dati per se. Pertanto, per prendere in considerazione l'esempio di una vista dati in modo specifico, una singola vista dati deve eseguire il rendering di ID coerenti in tutti i cursori, ma non vi è alcun suggerimento che se i dati "uguali" sono stati presentati in una vista dati diversa (ad esempio, essere trasformati, memorizzati nella cache, salvati o qualsiasi altro), che gli ID tra le due viste dati diverse abbiano una relazione riconoscibile.

(Ereditato da DataViewRow)
IsColumnActive(DataViewSchema+Column)

Restituisce un valore che indica se la colonna specificata è attiva in questa riga.

(Ereditato da DataViewRow)
MoveNext()

Passare alla riga successiva. Quando il cursore viene creato per la prima volta, questo metodo deve essere chiamato per passare alla prima riga. Restituisce false se non sono presenti più righe.

Si applica a