public static StreamingDataView <TRow> CreateFromEnumerable <TRow>(IHostEnvironment env, IEnumerable <TRow> data, SchemaDefinition schemaDefinition = null) where TRow : class { Contracts.AssertValue(env); env.AssertValue(data); env.AssertValueOrNull(schemaDefinition); var internalSchemaDefn = schemaDefinition == null ? InternalSchemaDefinition.Create(typeof(TRow), SchemaDefinition.Direction.Read) : InternalSchemaDefinition.Create(typeof(TRow), schemaDefinition); return(new StreamingDataView <TRow>(env, data, internalSchemaDefn)); }
public static IDataView CreateFromList <TRow>(IHostEnvironment env, IList <TRow> data, SchemaDefinition schemaDefinition = null) where TRow : class { Contracts.AssertValue(env); env.AssertValue(data); env.AssertValueOrNull(schemaDefinition); var internalSchemaDefn = schemaDefinition == null ? InternalSchemaDefinition.Create(typeof(TRow)) : InternalSchemaDefinition.Create(typeof(TRow), schemaDefinition); return(new ListDataView <TRow>(env, data, internalSchemaDefn)); }
public static ISchemaBoundMapper CreateBound <T>(IHostEnvironment env, ISchemaBoundRowMapper mapper, VectorType type, Delegate getter, string metadataKind, Func <ISchemaBoundMapper, ColumnType, bool> canWrap) { Contracts.AssertValue(env); env.AssertValue(mapper); env.AssertValue(type); env.AssertValue(getter); env.Assert(getter is ValueGetter <VBuffer <T> >); env.AssertNonEmpty(metadataKind); env.AssertValueOrNull(canWrap); return(new Bound <T>(env, mapper, type, (ValueGetter <VBuffer <T> >)getter, metadataKind, canWrap)); }
/// <summary> /// Create a Cursorable object on a given data view. /// </summary> /// <param name="env">Host environment.</param> /// <param name="data">The underlying data view.</param> /// <param name="ignoreMissingColumns">Whether to ignore missing columns in the data view.</param> /// <param name="schemaDefinition">The optional user-provided schema.</param> /// <returns>The constructed Cursorable.</returns> public static TypedCursorable <TRow> Create(IHostEnvironment env, IDataView data, bool ignoreMissingColumns, SchemaDefinition schemaDefinition) { Contracts.AssertValue(env); env.AssertValue(data); env.AssertValueOrNull(schemaDefinition); ValidateUserType(schemaDefinition, typeof(TRow), data); var outSchema = schemaDefinition == null ? InternalSchemaDefinition.Create(typeof(TRow), SchemaDefinition.Direction.Write) : InternalSchemaDefinition.Create(typeof(TRow), schemaDefinition); return(new TypedCursorable <TRow>(env, data, ignoreMissingColumns, outSchema)); }
private void SaveInputSchema(DataViewSchema inputSchema, RepositoryWriter rep) { _env.AssertValueOrNull(inputSchema); _env.AssertValue(rep); if (inputSchema == null) { return; } using (var ch = _env.Start("Saving Schema")) { var entry = rep.CreateEntry(SchemaEntryName); var saver = new BinarySaver(_env, new BinarySaver.Arguments { Silent = true }); DataSaverUtils.SaveDataView(ch, saver, new EmptyDataView(_env, inputSchema), entry.Stream, keepHidden: true); } }