Main Content

Introduccion一个洛杉矶almacenes de datos

¿Qué es un almacén de datos?

Un almacén de datos es un objeto para la lectura de un único archivo o una recopilación de archivos o datos. El almacén de datos actúa como repositorio para los datos que tienen la misma estructura y el mismo formato. Por ejemplo, cada uno de los archivos de un almacén de datos debe contener datos del mismo tipo (como numéricos o texto) que aparezcan en el mismo orden y separados por el mismo delimitador.

Un almacén de datos es útil cuando:

  • Cada uno de los archivos de la recopilación puede ser demasiado grande como 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 sí caben en la memoria.

  • Los archivos de la recopilación tienen nombres arbitrarios. Un almacén de datos actúa como un 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 datos o aplicación. Los distintos tipos de almacenes de datos contienen propiedades que pertenecen al tipo de datos que admiten. Por ejemplo, consulte la siguiente tabla para obtener una lista de almacenes de datos de MATLAB®. Para obtener una lista completa de almacenes de datos, consulteSelect Datastore for File Format or Application.

Tipo de archivo o datos Tipo de almacén de datos
Archivos de texto que contienen datos orientados a columnas, incluidos los archivos CSV. TabularTextDatastore
Archivos de imagen, incluidos los formatos admitidos porimreadcomo JPEG y PNG. ImageDatastore
Archivos de hoja de cálculo con formatos de Excel®admitidos como.xlsx. SpreadsheetDatastore
Datos de pares clave-valor que son datos de entrada o salida demapreduce. KeyValueDatastore
Archivos Parquet que contienen datos orientados a columnas. ParquetDatastore
Formatos de archivo personalizados. Requiere una función proporcionada para la lectura de datos. FileDatastore
Almacén de datos para crear puntos de control en arreglostall. TallDatastore

Crear y leer a partir de un almacén de datos

Utilice la funcióntabularTextDatastorepara crear un almacén de datos a partir del archivo de muestraairlinesmall.csv, que contiene la información de llegada y salida de vuelos de aerolíneas individuales. El resultado es un objetoTabularTextDatastore.

ds = tabularTextDatastore('airlinesmall.csv')
ds = TabularTextDatastore with properties: Files: { ' ...\matlab\toolbox\matlab\demos\airlinesmall.csv' } Folders: { ' ...\matlab\toolbox\matlab\demos' } FileEncoding: 'UTF-8' AlternateFileSystemRoots: {} PreserveVariableNames: false ReadVariableNames: true VariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more} DatetimeLocale: en_US Text Format Properties: NumHeaderLines: 0 Delimiter: ',' RowDelimiter: '\r\n' TreatAsMissing: '' MissingValue: NaN Advanced Text Format Properties: TextscanFormats: {'%f', '%f', '%f' ... and 26 more} TextType: 'char' 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 OutputType: 'table' RowTimes: [] Write-specific Properties: SupportedOutputFormats: ["txt" "csv" "xlsx" "xls" "parquet" "parq"] DefaultOutputFormat: "txt"

Después de crear el almacén de datos, puede previsualizar los datos sin tener que cargarlos todos en la memoria. Puede especificar variables (columnas) de interés mediante la propiedadSelectedVariableNamespara previsualizar o leer únicamente dichas variables.

ds.SelectedVariableNames = {'DepTime','DepDelay'}; preview(ds)
ans = 8×2 table 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 representen valores ausentes. Enairlinesmall.csv, los valores ausentes se representan conNA.

ds.TreatAsMissing ='NA';

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

T = readall(ds);

De lo contrario, lea los datos en subconjuntos más pequeños que sí caben en la memoria mediante la funciónread. De forma predeterminada, la funciónreadlee 20.000 filas a la vez a partir de unTabularTextDatastore. Sin embargo, puede cambiar este valor asignando un nuevo valor a la propiedadReadSize.

ds.ReadSize = 15000;

Restablezca el almacén de datos a su estado inicial antes de volver a leerlo mediante la funciónreset. Llamando a la funciónreaden un buclewhile, puede realizar cálculos intermedios en todos los subconjuntos de datos y luego sumar los resultados intermedios al final. Este código calcula el valor máximo de la variableDepDelay.

reset(ds) X = [];whilehasdata(ds) T = read(ds); X(end+1) = max(T.DepDelay);endmaxDelay = max(X)
maxDelay = 1438

Si los datos de cada archivo individual caben en la memoria, puede especificar que cada una de las llamadas areaddebe leer un archivo completo en lugar de un número de filas concreto.

reset(ds) ds.ReadSize ='file'; X = [];whilehasdata(ds) T = read(ds); X(end+1) = max(T.DepDelay);endmaxDelay = max(X);

Además de leer subconjuntos de datos en un almacén de datos, puede aplicar las funciones map y reduce en el almacén de datos mediantemapreduceo crear un arreglo alto mediantetall. Para obtener más información, consulteGetting Started with MapReduceyArreglos altos para datos con memoria insuficiente.

Consulte también

||||||

Temas relacionados