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 al almacén de

¿Qué es un almacén de los almacenes?

Un almacén de datos es un objeto para la lectura de un solo archivo o una colección de archivos o información. El almacén de datos actúa como un repositorio de 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 (como numérico o texto) que aparezca en el mismo orden y separada por el mismo delimitador.

Un almacén de información es útil cuando:

  • Cada archivo de la colección puede ser demasiado grande para que quepa en la memoria. Un almacén de datos le permite leer y analizar información de cada archivo en porciones más pequeñas que encajen 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 para los tipos de información de esta tabla. Cada tipo de datos es soportado por un tipo diferente de almacén. Los diferentes tipos de almacenes de datos contienen propiedades pertinentes al tipo de información que admiten.

Tipo de archivo o datosTipo de almacén de almacenamiento
Archivos de texto que contienen datos orientados a columnas, incluidos archivos CSV.TabularTextDatastore
Archivos de imagen, incluidos los formatos compatibles con imread como JPEG y PNG.ImageDatastore
Archivos de hoja de cálculo con un formato Excel® soportado como .xlsx.SpreadsheetDatastore
Datos de par clave-valor que son entradas o salidas de mapreduce.KeyValueDatastore
Formatos de archivo personalizados. Requiere una función proporcionada para leer los datos.FileDatastore
Almacén de tall para el control de matrices.TallDatastore
Recopilaciones de datos en una base de datos relacional. Requiere Database Toolbox™.DatabaseDatastore
Datos de entrada y salida de simulación que se utilizan con un modelo Simulink® . SimulationDatastore
Almacén de datos para la colección de archivos de MDF, para Vehicle Network Toolbox™.MDFDatastore
Almacén de datos para la colección de archivos de MDF, para Powertrain Blockset™.MDFDatastore
Almacén de almacenamiento de imágenes para el procesamiento previo. Requiere Neural Network Toolbox™. augmentedImageDatastore
Almacén de eliminación para entrenar una imagen de la red neuronal profunda. Requiere Image Processing Toolbox™ y Neural Network Toolbox.denoisingImageDatastore
Almacén de datos para la etiqueta de píxeles. Requiere Computer Vision System Toolbox™.pixelLabelDatastore
Almacén de redes de segmentación semántica. Requiere Computer Vision System Toolbox. pixelLabelImageDatastore
Data Store para administrar datos de conjuntos de simulación. Requiere Predictive Maintenance Toolbox™.simulationEnsembleDatastore
Almacén de datos para administrar la información de conjunto en formato de archivo personalizado. Requiere Predictive Maintenance Toolbox.fileEnsembleDatastore

Crear y leer desde un almacén de

Utilice la función tabularTextDatastore para crear un almacén de datos a partir del archivo de ejemplo airlinesmall.csv, que contiene información de salida y llegada sobre vuelos individuales de línea aérea. 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 previsualizarlos sin tener que cargarlos todos en la memoria. Puede especificar variables (columnas) de interés utilizando la propiedad SelectedVariableNames para previsualizar o leer sólo esas variables.

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 perdidos. En airlinesmall.csv, los valores perdidos están representados por NA.

ds.TreatAsMissing = 'NA';

Si todos los datos del almacén para las variables de interés caben en la memoria, puede leerlo mediante la función readall .

T = readall(ds);

De lo contrario, lea los datos en subconjuntos más pequeños que encajen en la memoria, utilizando la función read . De forma predeterminada, la función read Lee de una TabularTextDatastore 20000 filas a la vez. Sin embargo, puede cambiar este valor asignando un nuevo valor a la propiedad ReadSize .

ds.ReadSize = 15000; 

Restablezca el almacén de almacenamiento de la misma en el estado inicial antes de volver a leer, utilizando la función reset . Al llamar a la función read dentro de un bucle while , puede realizar cálculos intermedios en cada subconjunto de datos y, a continuación, agregar los resultados intermedios al final. 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 se ajustan a la memoria, puede especificar que cada llamada a read debe leer un archivo completo en lugar de un número específico de filas.

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 la lectura de subconjuntos de datos en un almacén, puede aplicar Map y reducir las funciones al almacén con mapreduce. Para obtener más información acerca de MapReduce en MATLAB®, consulte Introducción a MapReduce.

Consulte también

| | | | | | |

Temas relacionados