Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.
Un almacén de datos es un objeto para leer un solo archivo o una colección de archivos o datos. El almacén de datos actúa como un repositorio para la información que tiene la misma estructura y formato. Por ejemplo, cada archivo de un almacén de datos debe contener información del mismo tipo (por ejemplo, numérico o de texto) que aparezca en el mismo orden y separada por el mismo delimitador.
Un almacén de datos es útil cuando:
Cada archivo de la colección puede ser demasiado grande para caber en la memoria. Un almacén de datos le permite leer y analizar datos de cada archivo en porciones más pequeñas que caben en la memoria.
Los archivos de la colección tienen nombres arbitrarios. Un almacén de datos actúa como repositorio de archivos en una o más carpetas. No es necesario que los archivos tengan nombres secuenciales.
Puede crear un almacén de datos basado en el tipo de información o aplicación. Los distintos tipos de almacenes de datos contienen propiedades pertinentes al tipo de dato que admiten. Por ejemplo, consulte la tabla siguiente para obtener una lista de almacenes de datos.MATLAB® Para obtener una lista completa de los almacenes de datos, consulte.Seleccione almacén de datos para formato de archivo o aplicación
Tipo de archivo o datos | Tipo de almacén de datos |
---|---|
Archivos de texto que contienen datos orientados a columnas, incluidos archivos CSV. | TabularTextDatastore |
Archivos de imagen, incluidos los formatos admitidos por como JPEG y PNG.imread | ImageDatastore |
Archivos de hoja de cálculo con un formato admitido como.Excel®.xlsx | SpreadsheetDatastore |
Datos de par clave-valor que son entradas o salidas de.mapreduce | KeyValueDatastore |
Archivos parquet que contienen datos orientados a columnas. | ParquetDatastore |
Formatos de archivo personalizados. Requiere una función proporcionada para leer datos. | FileDatastore |
Almacén de datos para matrices de puntos de comprobación.tall | TallDatastore |
Utilice la función para crear un almacén de datos a partir del archivo de muestra, que contiene información de salida y llegada sobre vuelos de aerolíneas individuales.tabularTextDatastore
airlinesmall.csv
El resultado es un objeto.TabularTextDatastore
ds = tabularTextDatastore('airlinesmall.csv')
ds = TabularTextDatastore with properties: Files: { ' ...\matlab\toolbox\matlab\demos\airlinesmall.csv' } FileEncoding: 'UTF-8' ReadVariableNames: true VariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more} Text Format Properties: NumHeaderLines: 0 Delimiter: ',' RowDelimiter: '\r\n' TreatAsMissing: '' MissingValue: NaN Advanced Text Format Properties: TextscanFormats: {'%f', '%f', '%f' ... and 26 more} ExponentCharacters: 'eEdD' CommentStyle: '' Whitespace: ' \b\t' MultipleDelimitersAsOne: false Properties that control the table returned by preview, read, readall: SelectedVariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more} SelectedFormats: {'%f', '%f', '%f' ... and 26 more} ReadSize: 20000 rows
Después de crear el almacén de datos, puede obtener una vista previa sin tener que cargarlo todo en la memoria. Puede especificar variables (columnas) de interés utilizando la propiedad para obtener una vista previa o leer solo esas variables.SelectedVariableNames
ds.SelectedVariableNames = {'DepTime','DepDelay'}; preview(ds)
ans = DepTime DepDelay _______ ________ 642 12 1021 1 2055 20 1332 12 629 -1 1446 63 928 -2 859 -1
Puede especificar los valores de los datos que representan valores faltantes. En, los valores faltantes están representados por.airlinesmall.csv
NA
ds.TreatAsMissing = 'NA';
Si todos los datos en el datastore para las variables de interés caben en la memoria, usted puede leerlo usando la función.readall
T = readall(ds);
De lo contrario, lea los datos en subconjuntos más pequeños que caben en la memoria, utilizando la función.read
De forma predeterminada, la función Lee de una 20000 filas a la vez.read
TabularTextDatastore
Sin embargo, puede cambiar este valor asignando un nuevo valor a la propiedad.ReadSize
ds.ReadSize = 15000;
Restablezca el almacén de datos al estado inicial antes de volver a leer, utilizando la función.reset
Al llamar a la función dentro de un bucle, puede realizar cálculos intermedios en cada subconjunto de datos y, a continuación, agregar los resultados intermedios al final.read
while
Este código calcula el valor máximo de la variable.DepDelay
reset(ds) X = []; while hasdata(ds) T = read(ds); X(end+1) = max(T.DepDelay); end maxDelay = max(X)
maxDelay = 1438
Si los datos de cada archivo individual caben en la memoria, puede especificar que cada llamada debe leer un archivo completo en lugar de un número específico de filas.read
reset(ds) ds.ReadSize = 'file'; X = []; while hasdata(ds) T = read(ds); X(end+1) = max(T.DepDelay); end maxDelay = max(X);
Además de leer subconjuntos de datos en un datastore, puede aplicar las funciones Map y reduce al datastore utilizando.mapreduce
Para obtener más información acerca de MapReduce en, vea.MATLABIntroducción a MapReduce
KeyValueDatastore
| datastore
| fileDatastore
| imageDatastore
| mapreduce
| spreadsheetDatastore
| tabularTextDatastore
| tall