Раздел datastore
Создайте datastore для большого набора файлов. В данном примере используйте десять копий файла образца airlinesmall.csv
. Чтобы обработать отсутствующие поля в табличных данных, задайте пары "имя-значение" TreatAsMissing
и MissingValue
.
files = repmat({'airlinesmall.csv'},1,10); ds = tabularTextDatastore(files,... 'TreatAsMissing','NA','MissingValue',0);
Разделите datastore на три части и верните первый раздел. The partition
функция возвращает приблизительно первую треть данных из datastore ds
.
subds = partition(ds,3,1)
subds = TabularTextDatastore with properties: Files: { ' ...\matlab\toolbox\matlab\demos\airlinesmall.csv'; ' ...\matlab\toolbox\matlab\demos\airlinesmall.csv'; ' ...\matlab\toolbox\matlab\demos\airlinesmall.csv' ... and 1 more } FileEncoding: 'UTF-8' AlternateFileSystemRoots: {} ReadVariableNames: true VariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more} Text Format Properties: NumHeaderLines: 0 Delimiter: ',' RowDelimiter: '\r\n' TreatAsMissing: 'NA' MissingValue: 0 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
The Files
свойство datastore содержит список файлов, включенных в datastore. Проверьте количество файлов в Files
свойство datastore ds
и секционированный datastore subds
. Система datastore ds
содержит десять файлов и раздел subds
содержит первые четыре файла.
length(ds.Files)
ans = 10
length(subds.Files)
ans = 4
Создайте datastore из файла образца, mapredout.mat
, который является выходом файлом mapreduce
функция.
ds = datastore('mapredout.mat');
Получите количество разделов по умолчанию для ds
.
n = numpartitions(ds);
Разделите datastore на количество разделов по умолчанию и верните datastore, соответствующий первому разделу.
subds = partition(ds,n,1);
Считайте данные в subds
.
while hasdata(subds) data = read(subds); end
Создайте datastore, который содержит три файла изображений.
ds = imageDatastore({'street1.jpg','peppers.png','corn.tif'})
ds = ImageDatastore with properties: Files: { ' ...\matlab\toolbox\matlab\demos\street1.jpg'; ' ...\matlab\toolbox\matlab\imagesci\peppers.png'; ' ...\matlab\toolbox\matlab\imagesci\corn.tif' } ReadSize: 1 Labels: {} ReadFcn: @readDatastoreImage
Разделите datastore по файлам и верните часть, соответствующую второму файлу.
subds = partition(ds,'Files',2)
subds = ImageDatastore with properties: Files: { ' ...\matlab\toolbox\matlab\imagesci\peppers.png' } ReadSize: 1 Labels: {} ReadFcn: @readDatastoreImage
subds
содержит один файл.
Создайте datastore из файла образца, mapredout.mat
, который является выходом файлом mapreduce
функция.
ds = datastore('mapredout.mat');
Разделите datastore на три части на трех рабочих в параллельном пуле.
numWorkers = 3; p = parpool('local',numWorkers); n = numpartitions(ds,p); parfor ii=1:n subds = partition(ds,n,ii); while hasdata(subds) data = read(subds); end end
ds
- Входной datastoreВведите datastore. Вы можете использовать datastore
функция для создания объекта datastore из ваших данных.
n
- Количество перегородокКоличество разбиений, заданное в виде положительного целого числа.
Если вы задаете количество разделов, которое не является числовым коэффициентом количества файлов в datastore, partition
поместит каждое из остальных наблюдений в существующие разделы, начиная с первого раздела.
Количество существующих разделов, которые содержат дополнительное наблюдение, равно остатку, полученному при делении количества файлов в datastore на количество разделов. Для примера, если ваш объект datastore содержит файлы 23 которые вы хотите разделить на 3 части, первые два раздела, которые partition
creates будет содержать 8 файлов, а последний раздел будет содержать 7 файлов.
Пример: 3
Типы данных: double
index
- ИндексИндекс, заданный как положительное целое число.
Пример: 1
Типы данных: double
filename
- имя файлаИмя файла, заданное как вектор символов или строковый скаляр.
Значение filename
должен точно совпадать с именем файла, содержащимся в Files
свойство datastore. Чтобы убедиться, что имена файлов точно совпадают, задайте filename
использование ds.Files{N}
где N
- индекс файла в Files
свойство. Для примера, ds.Files{3}
задает третий файл в datastore ds
.
Пример: ds.Files{3}
Пример: 'file1.csv'
Пример: '../dir/data/file1.csv'
Пример: 'hdfs://myserver:7867/data/file1.txt'
Типы данных: char
subds
- Output datastoreВывод datastore. Выходной datastore имеет тот же тип, что и входной datastore ds
.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.