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.

Introducción a DataStore

¿Qué es un almacén de datos?

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 datosTipo 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.imreadImageDatastore
Archivos de hoja de cálculo con un formato admitido como.Excel®.xlsxSpreadsheetDatastore
Datos de par clave-valor que son entradas o salidas de.mapreduceKeyValueDatastore
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.tallTallDatastore

Crear y leer desde un almacén de datos

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.tabularTextDatastoreairlinesmall.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.csvNA

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.readTabularTextDatastore 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.readwhile 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

Consulte también

| | | | | | |

Temas relacionados