Datastore для набора файлов Parquet
Используйте объект ParquetDatastore
управлять набором файлов Parquet, где каждый отдельный файл Паркета умещается в памяти, но целый набор файлов не обязательно соответствует. Можно создать объект ParquetDatastore
с помощью функции parquetDatastore
, задать ее свойства, и затем импортировать и обработать функции объекта использования данных.
pds = parquetDatastore(location)
pds = parquetDatastore(location,Name,Value)
создает datastore pds
= parquetDatastore(location
)pds
из набора файлов Parquet, заданного location
.
задает дополнительные параметры и свойства для pds
= parquetDatastore(location
,Name,Value
)pds
с помощью одного или нескольких аргументов пары "имя-значение".
местоположение
Файлы или папки, чтобы включать в datastoreDsFileSet
Файлы или папки, включенные в datastore, заданный как путь или объект DsFileSet
.
path Задайте путь как вектор символов, массив ячеек из символьных векторов, представьте в виде строки скаляр или массив строк, содержа местоположение файлов или папок, которые являются локальными или удаленными.
Локальные файлы или папки — Задают location
как локальный путь к файлам или папкам. Если файлы не находятся в текущей папке, то локальный путь должен задать полные или относительные пути. Файлы в подпапках заданной папки автоматически не включены в datastore. Можно использовать подстановочный символ (*) при определении локального пути. Этот символ указывает, что datastore включает все файлы соответствия или все файлы в соответствующих папках.
Удаленные файлы или папки — Задают location
, чтобы быть полными путями файлов или папок как интернационализировавший идентификатор ресурса (IRI) формы hdfs:///path_to_file
. Для получения дополнительной информации смотрите работу с Удаленными данными.
Объект DsFileSet
— также можно задать location
как объект DsFileSet
. Для получения дополнительной информации смотрите matlab.io.datastore.DsFileSet
.
Когда location
представляет папку, datastore включает только поддерживаемые форматы файлов и игнорирует любой другой формат. Чтобы задать пользовательский список расширений файла, чтобы включать в ваш datastore, смотрите свойство FileExtensions
.
Функция parquetDatastore
поддерживает формат файла .parquet
.
Пример: 'myfile.parquet'
Пример: '../dir/data/myfile.parquet'
Пример: {'C:\dir\data\myfile01.parquet','C:\dir\data\myfile02.parquet'}
Пример: 's3://bucketname/path_to_files/*.parquet'
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
'IncludeSubfolders',true
'FileExtensions'
Расширения, чтобы включать в datastoreРасширения, чтобы включать в datastore, заданный как пара, разделенная запятой, состоящая из 'FileExtensions'
и вектора символов, массива ячеек из символьных векторов, представляют в виде строки скаляр или массив строк.
Если вы не задаете 'FileExtensions'
, то parquetDatastore
автоматически включает все файлы с .parquet
и расширениями .parq
в заданном пути.
Если вы хотите включать файлы паркета с нестандартными расширениями файла в parquetDatastore
, то задайте те расширения явным образом.
Если вы хотите создать parquetDatastore
для файлов без каких-либо расширений, то задайте 'FileExtensions'
как пустой символьный вектор, ''
.
Пример: 'FileExtensions',{'.parquet','.parq'}
Пример: 'FileExtensions','.myformat'
Пример: 'FileExtensions',''
Типы данных: char
| cell
| string
'IncludeSubfolders'
Флаг включения подпапкиfalse
(значение по умолчанию) | true
Флаг включения подпапки, заданный как пара, разделенная запятой, состоящая из 'IncludeSubfolders'
и true
или false
. Задайте true
, чтобы включать все файлы и подпапки в каждой папке или false
, чтобы включать только файлы в каждой папке.
Если вы не задаете 'IncludeSubfolders'
, то значением по умолчанию является false
.
Пример: 'IncludeSubfolders',true
Типы данных: logical
| double
'OutputType'
Выведите тип данных'auto'
(значение по умолчанию) | 'table'
| 'timeable'
Выведите тип данных, заданный как пара, разделенная запятой, состоящая из 'OutputType'
и 'auto'
, 'table'
или 'timeable'
.
'auto'
Возвратите таблицу или расписание. parquetDatastore
обнаруживает, если вывод должен быть таблицей или расписанием на основе других пар "имя-значение", которые вы задаете. Когда вы задаете пару "имя-значение" RowTimes
, parquetDatastore
выводит, что вывод является расписанием.
Таблица
Возвратите таблицу. Для получения дополнительной информации о табличном типе данных смотрите table
.
расписание
Возвратите расписание. Для получения дополнительной информации о расписаниях смотрите timetable
.
Значение OutputType
выбирает тип данных, возвращенный в preview
, read
и функции readall
.
Пример: 'OutputType','timetable'
Типы данных: char | string
'AlternateFileSystemRoots'
— Альтернативные пути к корню файловой системыАльтернативные пути к корню файловой системы, заданные как пара, разделенная запятой, состоящая из 'AlternateFileSystemRoots'
и вектора строки или массива ячеек. Используйте 'AlternateFileSystemRoots'
, когда вы создадите datastore на локальной машине, но должны будете получить доступ и обработать данные на другой машине (возможно различной операционной системы). Кроме того, когда обработка данных с помощью Parallel Computing Toolbox™ и MATLAB® Parallel Server™ и данных хранится на локальных машинах с копией доступных данных на облаке другой платформы или кластерных машинах, необходимо использовать 'AlternateFileSystemRoots'
, чтобы сопоставить корневые пути.
Чтобы сопоставить набор корневых путей, которые эквивалентны друг другу, задайте 'AlternateFileSystemRoots'
как вектор строки. Например,
["Z:\datasets","/mynetwork/datasets"]
Чтобы сопоставить несколько наборов корневых путей, которые эквивалентны для datastore, задайте 'AlternateFileSystemRoots'
как массив ячеек, содержащий несколько строк, где каждая строка представляет набор эквивалентных корневых путей. Задайте каждую строку в массиве ячеек или как вектор строки или как массив ячеек из символьных векторов. Например:
Задайте 'AlternateFileSystemRoots'
как массив ячеек векторов строки.
{["Z:\datasets", "/mynetwork/datasets"];... ["Y:\datasets", "/mynetwork2/datasets","S:\datasets"]}
Также задайте 'AlternateFileSystemRoots'
как массив ячеек массива ячеек из символьных векторов.
{{'Z:\datasets','/mynetwork/datasets'};... {'Y:\datasets', '/mynetwork2/datasets','S:\datasets'}}
Значение 'AlternateFileSystemRoots'
должно удовлетворить эти условия:
Содержит одну или несколько строк, где каждая строка задает набор эквивалентных корневых путей.
Каждая строка задает несколько корневых путей, и каждый корневой путь должен содержать по крайней мере два символа.
Корневые пути уникальны и не являются подпапками друг друга.
Содержит по крайней мере одну корневую запись пути, которая указывает на местоположение файлов.
Для получения дополнительной информации смотрите Настроенный Datastore для Обработки на Различных Машинах или Кластерах.
Пример: ["Z:\datasets","/mynetwork/datasets"]
Типы данных: string
| cell
Свойства ParquetDatastore
описывают формат файлов в объекте datastore и управляют, как данные считаны из datastore. За исключением свойства Files
, можно задать значение аргументов пары "имя-значение" использования свойств ParquetDatastore
, когда вы создаете объект datastore. Чтобы просмотреть или изменить свойство после создания объекта, используйте запись через точку.
Files
— Файлы включены в datastoreФайлы включали в datastore, разрешенный как массив ячеек из символьных векторов или массив строк, где каждый вектор символов или строка являются полным путем к файлу. Аргумент location
задает эти файлы.
Первый файл, заданный в массиве ячеек, определяет имена переменных и данные о формате для всех файлов в datastore.
Пример: {'C:\dir\data\file1.ext';'C:\dir\data\file2.ext'}
Типы данных: cell
| string
ReadSize
Объем данных, чтобы читать'rowgroup'
(значение по умолчанию) | 'file'
| положительное целое числоОбъем данных, чтобы читать в вызове функции read
, заданной как 'rowgroup'
, 'file'
или положительное целое число.
'rowgroup'
— Каждый вызов read
читает количество строк, заданных в группах строки файла Паркета. Чтобы получить количество строк в группах строки, смотрите свойство RowGroupHeights
объекта ParquetInfo
.
'file'
— Каждый вызов read
считывает все данные в одном файле.
положительное целое число — Каждый вызов read
читает максимум строк ReadSize
.
Когда вы изменяете ReadSize
от положительного целого числа до 'file'
или 'rowgroup'
, или наоборот, MATLAB сбрасывает datastore к непрочитанному состоянию, где никакие данные не были считаны из него.
Типы данных: double
| char
| string
Имена переменных
Имена переменныхИмена переменных в datastore, заданном как вектор символов, массив ячеек из символьных векторов, представляют в виде строки скаляр или массив строк. Задайте имена переменных в порядке, в котором они появляются в файлах. Если вы не задаете имена переменных, datastore обнаруживает их от первой строки незаголовка в первом файле. Можно задать VariableNames
с вектором символов или представить скаляр в виде строки, однако datastore преобразовывает и хранит значение свойства к массиву ячеек из символьных векторов. При изменении свойства VariableNames
количество новых имен переменных должно совпадать с количеством исходных имен переменных.
Если ReadVariableNames
является false
, то значения по умолчанию VariableNames
к {'Var1','Var2', ...}
.
Пример: {'Time','Date','Quantity'}
Типы данных: char
| cell
| string
SelectedVariableNames
Переменные, чтобы читатьПеременные, чтобы читать из файла, заданного как массив ячеек из символьных векторов или массив строк, где каждый вектор символов или строка содержат имя одной переменной. Можно задать имена переменных в любом порядке.
Пример: {'Var3','Var7','Var4'}
Типы данных: cell
| string
RowTimes
Имя переменной времен строкиИмя переменной времен строки в данных о Паркете, заданных как пара, разделенная запятой, состоящая из 'RowTimes'
и вектора символов или массива строк, содержащего имя переменной.
RowTimes
является связанным с расписанием параметром. Каждая строка расписания сопоставлена со временем, которое получено во временном векторе для расписания. Переменная, заданная в RowTimes
, должна содержать datetime
или вектор duration
.
По умолчанию parquetDatastore
использует первую переменную datetime
или duration
в качестве времен строки для расписания.
hasdata | Определите, доступны ли данные для чтения |
numpartitions | Количество разделов datastore |
partition | Разделите datastore |
preview | Подмножество данных в datastore |
read | Считайте данные в datastore |
readall | Считывайте все данные в datastore |
reset | Сброс Datastore к начальному состоянию |
transform | Преобразуйте datastore |
combine | Объедините данные от нескольких datastores |
Создайте объект ParquetDatastore
, содержащий файл outages.parquet
.
pds = parquetDatastore('outages.parquet')
pds = ParquetDatastore with properties: Files: { ' .../devel/bat/BR2019ad/build/matlab/toolbox/matlab/demos/outages.parquet' } VariableNames: {1x6 cell} SelectedVariableNames: {1x6 cell} ReadSize: 'rowgroup' OutputType: 'table' RowTimes: [] AlternateFileSystemRoots: {}
Создайте datastore для демонстрационного файла Паркета, и затем считайте данные из файла с различными значениями ReadSize
.
Создайте datastore для airlinesmall.parquet
, установите ReadSize
на строки 10
, и затем читайте из datastore. Значение ReadSize
определяет, сколько строк данных читается из datastore с каждым вызовом функции read
.
pds = parquetDatastore('outages.parquet','ReadSize',10); read(pds)
ans=10×6 table
Region OutageTime Loss Customers RestorationTime Cause
___________ ____________________ ______ __________ ____________________ _________________
"SouthWest" 01-Feb-2002 12:18:00 458.98 1.8202e+06 07-Feb-2002 16:50:00 "winter storm"
"SouthEast" 23-Jan-2003 00:49:00 530.14 2.1204e+05 NaT "winter storm"
"SouthEast" 07-Feb-2003 21:15:00 289.4 1.4294e+05 17-Feb-2003 08:14:00 "winter storm"
"West" 06-Apr-2004 05:44:00 434.81 3.4037e+05 06-Apr-2004 06:10:00 "equipment fault"
"MidWest" 16-Mar-2002 06:18:00 186.44 2.1275e+05 18-Mar-2002 23:23:00 "severe storm"
"West" 18-Jun-2003 02:49:00 0 0 18-Jun-2003 10:54:00 "attack"
"West" 20-Jun-2004 14:39:00 231.29 NaN 20-Jun-2004 19:16:00 "equipment fault"
"West" 06-Jun-2002 19:28:00 311.86 NaN 07-Jun-2002 00:51:00 "equipment fault"
"NorthEast" 16-Jul-2003 16:23:00 239.93 49434 17-Jul-2003 01:12:00 "fire"
"MidWest" 27-Sep-2004 11:09:00 286.72 66104 27-Sep-2004 16:37:00 "equipment fault"
Установите значение свойства ReadSize
на 'file'
и читайте из datastore. Каждый вызов функции read
считывает все данные из datastore.
pds.ReadSize ='file';
data = read(pds)
data=1468×6 table
Region OutageTime Loss Customers RestorationTime Cause
___________ ____________________ ______ __________ ____________________ _________________
"SouthWest" 01-Feb-2002 12:18:00 458.98 1.8202e+06 07-Feb-2002 16:50:00 "winter storm"
"SouthEast" 23-Jan-2003 00:49:00 530.14 2.1204e+05 NaT "winter storm"
"SouthEast" 07-Feb-2003 21:15:00 289.4 1.4294e+05 17-Feb-2003 08:14:00 "winter storm"
"West" 06-Apr-2004 05:44:00 434.81 3.4037e+05 06-Apr-2004 06:10:00 "equipment fault"
"MidWest" 16-Mar-2002 06:18:00 186.44 2.1275e+05 18-Mar-2002 23:23:00 "severe storm"
"West" 18-Jun-2003 02:49:00 0 0 18-Jun-2003 10:54:00 "attack"
"West" 20-Jun-2004 14:39:00 231.29 NaN 20-Jun-2004 19:16:00 "equipment fault"
"West" 06-Jun-2002 19:28:00 311.86 NaN 07-Jun-2002 00:51:00 "equipment fault"
"NorthEast" 16-Jul-2003 16:23:00 239.93 49434 17-Jul-2003 01:12:00 "fire"
"MidWest" 27-Sep-2004 11:09:00 286.72 66104 27-Sep-2004 16:37:00 "equipment fault"
"SouthEast" 05-Sep-2004 17:48:00 73.387 36073 05-Sep-2004 20:46:00 "equipment fault"
"West" 21-May-2004 21:45:00 159.99 NaN 22-May-2004 04:23:00 "equipment fault"
"SouthEast" 01-Sep-2002 18:22:00 95.917 36759 01-Sep-2002 19:12:00 "severe storm"
"SouthEast" 27-Sep-2003 07:32:00 NaN 3.5517e+05 04-Oct-2003 07:02:00 "severe storm"
"West" 12-Nov-2003 06:12:00 254.09 9.2429e+05 17-Nov-2003 02:04:00 "winter storm"
"NorthEast" 18-Sep-2004 05:54:00 0 0 NaT "equipment fault"
⋮
Также можно установить значение свойства ReadSize
к 'rowgroup'
. Для получения дополнительной информации смотрите свойство ReadSize
страницы ссылки на объект ParquetDatastore
.
Если вы используете parquetread
или datastore
, чтобы считать файлы, то результат не может иметь того же формата или содержимого как исходная таблица. Для получения дополнительной информации смотрите Отображения Типа данных Паркета Apache.
Также можно создать объект ParquetDatastore
с помощью функции datastore
. Например, ds = datastore(location,'Type','parquet')
создает datastore из набора файлов, заданных location
.
datastore
| mapreduce
| parquetinfo
| parquetread
| tall
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.