Datastore для набора файлов Parquet
Используйте ParquetDatastore
объект управлять набором файлов Parquet, где каждый отдельный файл Parquet умещается в памяти, но целый набор файлов не обязательно соответствует. Можно создать ParquetDatastore
объект с помощью parquetDatastore
функционируйте, задайте его свойства, и затем импортируйте и обработайте функции объекта использования данных.
создает datastore pds
= parquetDatastore(location
)pds
от набора файлов Parquet, заданного location
.
задает дополнительные параметры и свойства для pds
= parquetDatastore(location
,Name,Value
)pds
использование одного или нескольких аргументов пары "имя-значение".
location
— Файлы или папки, чтобы включать в datastoreDsFileSet
объектФайлы или папки, включенные в datastore, заданный как путь или DsFileSet
объект.
path Задайте путь как вектор символов, массив ячеек из символьных векторов, представьте в виде строки скаляр или массив строк, содержа местоположение файлов или папок, которые являются локальными или удаленными.
Локальные файлы или папки — Задают location
как локальный путь к файлам или папкам. Если файлы не находятся в текущей папке, то локальный путь должен задать полные или относительные пути. Файлы в подпапках заданной папки автоматически не включены в datastore. Можно использовать подстановочный символ (*) при определении локального пути. Этот символ указывает, что datastore включает все файлы соответствия или все файлы в соответствующих папках.
Удаленные файлы или папки — Задают location
быть полными путями файлов или папок как универсальный локатор ресурса (URL) формы hdfs:///path_to_file
. Для получения дополнительной информации смотрите работу с Удаленными данными.
DsFileSet
объект — также можно задать location
как DsFileSet
объект. Для получения дополнительной информации смотрите matlab.io.datastore.DsFileSet
.
Когда location
представляет папку, datastore включает только поддерживаемые форматы файлов и игнорирует любой другой формат. Чтобы задать пользовательский список расширений файла, чтобы включать в ваш datastore, смотрите FileExtensions
свойство.
parquetDatastore
функционируйте поддерживает .parquet
fileFormat .
Пример: '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
имя аргумента и 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
Типы данных: логический |
double
'OutputType'
— Выведите тип данных'auto'
(значение по умолчанию) | 'table'
| 'timetable'
Выведите тип данных, заданный как разделенная запятой пара, состоящая из 'OutputType'
и 'auto'
Таблица
, или 'timetable'
.
'auto'
— Возвратите таблицу или расписание. parquetDatastore
обнаруживает, если выход должен быть таблицей или расписанием на основе других пар "имя-значение", которые вы задаете. Когда вы задаете RowTimes
пара "имя-значение", parquetDatastore
выводит, что выход является расписанием.
'table'
— Возвратите таблицу. Для получения дополнительной информации о табличном типе данных смотрите table
.
'timetable'
— Возвратите расписание. Для получения дополнительной информации о расписаниях смотрите timetable
.
Значение OutputType
выбирает тип данных, возвращенный в preview
чтение
, и readall
функции.
Пример: 'OutputType','timetable'
Типы данных: char |
string
'PreserveVariableNames'
— Отметьте, чтобы сохранить имена переменныхfalse
(значение по умолчанию) | true
Отметьте, чтобы сохранить имена переменных, заданные как разделенная запятой пара, состоящая из PreserveVariableNames
и любой true
, или false
.
true
— Сохраните имена переменных, которые не являются допустимыми идентификаторами MATLAB®, такими как имена переменных, которые включают символы non-ASCII и пробелы.
false
— Преобразуйте недопустимые имена переменных (как определено isvarname
функция) к допустимым идентификаторам MATLAB.
Начиная в R2019b, имена переменных и имена строки могут включать любые символы, включая символы non-ASCII и пробелы. Кроме того, они могут запустить с любых символов, не только обозначает буквами. Переменная и имена строки не должны быть допустимыми идентификаторами MATLAB (как определено isvarname
функция. Чтобы сохранить эти имена переменных и имена строки, установите PreserveVariableNames
к true
.
'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
читает количество строк, заданных в группах строки файла Parquet. Чтобы получить количество строк в группах строки, смотрите RowGroupHeights
свойство ParquetInfo
объект.
'file'
— Каждый вызов read
чтения все данные в одном файле.
положительное целое число — Каждый вызов read
читает максимум ReadSize
'Строки' .
Когда вы изменяете ReadSize
от положительного целого числа до 'file'
или 'rowgroup'
, или наоборот, MATLAB сбрасывает datastore к непрочитанному состоянию, где никакие данные не были считаны из него.
Типы данных: double |
char
| string
VariableNames
— Имена переменныхИмена переменных в datastore, заданном как вектор символов, массив ячеек из символьных векторов, представляют в виде строки скаляр или массив строк. Задайте имена переменных в порядке, в котором они появляются в файлах. Если вы не задаете имена переменных, datastore обнаруживает их от первой линии незаголовка в первом файле. Можно задать VariableNames
с вектором символов или скаляром строки, однако datastore преобразует и хранит значение свойства к массиву ячеек из символьных векторов. При изменении VariableNames
свойство, количество новых имен переменных должно совпадать с количеством исходных имен переменных.
Чтобы поддержать недопустимые идентификаторы MATLAB как, имена переменных, такие как имена varible, содержащие пробелы и символы non-ASCII, устанавливают PreserveVariableNames
параметр к true
.
Если ReadVariableNames
false
, затем VariableNames
значения по умолчанию к {'Var1','Var2', ...}
.
Пример: {'Time','Date','Quantity'}
Типы данных: char |
cell
| string
SelectedVariableNames
— Переменные, чтобы читатьПеременные, чтобы читать из файла, заданного как массив ячеек из символьных векторов или массив строк, где каждый вектор символов или строка содержат имя одной переменной. Можно задать имена переменных в любом порядке.
Чтобы поддержать недопустимые идентификаторы MATLAB как, имена переменных, такие как имена varible, содержащие пробелы и символы non-ASCII, устанавливают PreserveVariableNames
параметр к true
.
Пример: {'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/BR2019bd/build/matlab/toolbox/matlab/demos/outages.parquet' } PreserveVariableNames: false VariableNames: {1x6 cell} SelectedVariableNames: {1x6 cell} ReadSize: 'rowgroup' OutputType: 'table' RowTimes: [] AlternateFileSystemRoots: {}
Создайте datastore для демонстрационного файла Parquet, и затем считайте данные из файла с различным 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.