Считывание данных столбца из файла паркета
Получите информацию о файле Parquet, прочитайте данные из файла в таблицу, а затем прочитайте подмножество переменных в таблицу.
Создать ParquetInfo объект для файла outages.parquet.
info = parquetinfo('outages.parquet')info =
ParquetInfo with properties:
Filename: "/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/matlab/demos/outages.parquet"
FileSize: 44202
NumRowGroups: 1
RowGroupHeights: 1468
VariableNames: [1x6 string]
VariableTypes: [1x6 string]
VariableCompression: [1x6 string]
VariableEncoding: [1x6 string]
Version: "2.0"
Считывание данных из файла в таблицу и отображение первого 10 строк.
T = parquetread('outages.parquet');
T(1:10,:) 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"
Выбор и импорт переменных Region, OutageTime, и Cause в таблицу и отобразить первую 10 строк.
SelVarNames = {'Region','OutageTime','Cause'};
T_subset = parquetread('outages.parquet','SelectedVariableNames',SelVarNames);
T_subset(1:10,:) ans=10×3 table
Region OutageTime Cause
___________ ____________________ _________________
"SouthWest" 01-Feb-2002 12:18:00 "winter storm"
"SouthEast" 23-Jan-2003 00:49:00 "winter storm"
"SouthEast" 07-Feb-2003 21:15:00 "winter storm"
"West" 06-Apr-2004 05:44:00 "equipment fault"
"MidWest" 16-Mar-2002 06:18:00 "severe storm"
"West" 18-Jun-2003 02:49:00 "attack"
"West" 20-Jun-2004 14:39:00 "equipment fault"
"West" 06-Jun-2002 19:28:00 "equipment fault"
"NorthEast" 16-Jul-2003 16:23:00 "fire"
"MidWest" 27-Sep-2004 11:09:00 "equipment fault"
Считывание данных из файла в timetable, а затем используйте функции расписания, чтобы определить, является ли расписание регулярным и отсортированным.
Считывание данных из outages.parquet в расписание и отобразить первое 10 строк. Использовать вторую переменную OutageTime в данных в качестве вектора времени для расписания.
TT = parquetread('outages.parquet','RowTimes','OutageTime'); TT(1:10,:)
ans=10×5 timetable
OutageTime Region Loss Customers RestorationTime Cause
____________________ ___________ ______ __________ ____________________ _________________
01-Feb-2002 12:18:00 "SouthWest" 458.98 1.8202e+06 07-Feb-2002 16:50:00 "winter storm"
23-Jan-2003 00:49:00 "SouthEast" 530.14 2.1204e+05 NaT "winter storm"
07-Feb-2003 21:15:00 "SouthEast" 289.4 1.4294e+05 17-Feb-2003 08:14:00 "winter storm"
06-Apr-2004 05:44:00 "West" 434.81 3.4037e+05 06-Apr-2004 06:10:00 "equipment fault"
16-Mar-2002 06:18:00 "MidWest" 186.44 2.1275e+05 18-Mar-2002 23:23:00 "severe storm"
18-Jun-2003 02:49:00 "West" 0 0 18-Jun-2003 10:54:00 "attack"
20-Jun-2004 14:39:00 "West" 231.29 NaN 20-Jun-2004 19:16:00 "equipment fault"
06-Jun-2002 19:28:00 "West" 311.86 NaN 07-Jun-2002 00:51:00 "equipment fault"
16-Jul-2003 16:23:00 "NorthEast" 239.93 49434 17-Jul-2003 01:12:00 "fire"
27-Sep-2004 11:09:00 "MidWest" 286.72 66104 27-Sep-2004 16:37:00 "equipment fault"
Определите, является ли расписание регулярным и отсортированным. Регулярное расписание имеет один и тот же временной интервал между последовательными временами строк, а отсортированное расписание имеет вектор времени строки в порядке возрастания.
isregular(TT)
ans = logical
0
issorted(TT)
ans = logical
0
Сортировать расписание по времени его строки с помощью sortrows функция и отображение первой 10 строк отсортированных данных.
TT = sortrows(TT); TT(1:10,:)
ans=10×5 timetable
OutageTime Region Loss Customers RestorationTime Cause
____________________ ___________ ______ __________ ____________________ __________________
01-Feb-2002 12:18:00 "SouthWest" 458.98 1.8202e+06 07-Feb-2002 16:50:00 "winter storm"
05-Mar-2002 17:53:00 "MidWest" 96.563 2.8666e+05 10-Mar-2002 14:41:00 "wind"
16-Mar-2002 06:18:00 "MidWest" 186.44 2.1275e+05 18-Mar-2002 23:23:00 "severe storm"
26-Mar-2002 01:59:00 "MidWest" 388.04 5.6422e+05 28-Mar-2002 19:55:00 "winter storm"
20-Apr-2002 16:46:00 "MidWest" 23141 NaN NaT "unknown"
08-May-2002 20:34:00 "SouthWest" 50.732 34481 08-May-2002 22:21:00 "thunder storm"
18-May-2002 11:04:00 "MidWest" 1389.1 1.3447e+05 21-May-2002 01:22:00 "unknown"
20-May-2002 10:57:00 "NorthEast" 9116.6 2.4983e+06 21-May-2002 15:22:00 "unknown"
27-May-2002 09:44:00 "SouthEast" 237.28 1.7101e+05 27-May-2002 16:19:00 "wind"
02-Jun-2002 16:11:00 "SouthEast" 0 0 05-Jun-2002 05:55:00 "energy emergency"
filename - Имя файла паркетаИмя файла Parquet, заданного как вектор символа или скаляр строки. parquetread работает с файлами Parquet 1.0 или Parquet 2.0.
В зависимости от расположения файла, filename может принять одну из этих форм.
Местоположение | Форма | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Текущая папка или папка на пути MATLAB ® | Укажите имя файла в Пример:
| ||||||||
Файл в папке | Если файл находится не в текущей папке или в папке на пути MATLAB, укажите полный или относительный путь. Пример:
Пример:
| ||||||||
| URL-адрес в Интернете | Если файл указан как URL-адрес унифицированного ресурса Интернета, то Пример:
| ||||||||
Удаленное расположение | Если файл хранится в удаленном местоположении, то
На основе удаленного местоположения,
Дополнительные сведения см. в разделе Работа с удаленными данными. Пример:
|
Типы данных: char | string
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
'OutputType','table' импортирует данные из файла Parquet в виде таблицы.'OutputType' - Выходной тип данных'auto' (по умолчанию) | 'table' | 'timetable'Выходной тип данных, указанный как разделенная запятыми пара, состоящая из 'OutputType' и 'auto', 'table', или 'timetable'.
'auto' - Возврат таблицы или расписания. parquetread определяет, должны ли выходные данные представлять собой таблицу или расписание на основе других указанных пар «имя-значение». Например, если задать пары имя-значение, связанные с расписанием, то parquetread вывод, что выходные данные являются расписанием. Установка этих пар «имя-значение» указывает на то, что выходные данные являются расписанием: RowTimes, StartTime, SampleRate, или TimeStep.
'table' - Возврат таблицы. Дополнительные сведения о типе данных таблицы см. в разделе table.
'timetable' - Верните расписание. Для получения дополнительной информации о типе данных расписания см. timetable.
Пример: 'OutputType','timetable'
Типы данных: char | string
'SelectedVariableNames' - подмножество переменных для импорта;Подмножество импортируемых переменных, указанное как пара, разделенная запятыми, состоящая из 'SelectedVariableNames' и символьный вектор, строковый скаляр, клеточный массив символьных векторов или строковый массив.
SelectedVariableNames должен быть подмножеством имен переменных, содержащихся в файле Parquet. Чтобы получить имена всех переменных в файле, используйте VariableNames имущества ParquetInfo объект.
Если не указать SelectedVariableNames пара имя-значение, parquetread считывает все переменные из файла.
Типы данных: char | string | cell
'RowTimes' - Переменная времени строкиПеременная времени строки, заданная как разделенная запятыми пара, состоящая из 'RowTimes' и имя переменной или вектор времени.
Имя переменной должно быть символьным вектором или строковым скаляром, содержащим имя любой переменной во входной таблице, содержащей datetime или duration значения. Переменная, указанная именем переменной, предоставляет метки времени строки для строк. Остальные переменные входной таблицы становятся переменными расписания.
Вектор времени должен быть datetime вектор или duration вектор. Число элементов вектора времени должно равняться числу строк входной таблицы. Значения времени в векторе времени не обязательно должны быть уникальными, отсортированными или регулярными. Все переменные входной таблицы становятся переменными расписания.
Типы данных: char | string | datetime | duration
'StartTime' - Время начала времени строкиВремя начала времени строки, указанное как разделенная запятыми пара, состоящая из StartTime и скаляр datetime или скаляр длительности.
Если время начала равно datetime, то время строки T являются значениями datetime.
Если время начала является длительностью, то время строки T - значения длительности.
Если временной шаг является длительностью календаря, то начальное время должно быть значением datetime.
StartTime является параметром, связанным с расписанием. parquetread функции использует StartTime вместе с SampleRate или TimeStep для определения вектора времени для вывода T.
Типы данных: datetime | duration
'SampleRate' - Частота выборкиЧастота выборки, указанная как пара, разделенная запятыми, состоящая из 'SampleRate' и положительный числовой скаляр. Частота дискретизации - это число выборок в секунду (Гц) вектора времени выходного расписания. T.
SampleRate является параметром, связанным с расписанием. parquetread функции использует SampleRate наряду с другими параметрами расписания для определения вектора времени для вывода T.
Типы данных: double
'TimeStep' - Временной шаг вектора времениВременной шаг вектора времени, определяемый как разделенная запятыми пара, состоящая из 'TimeStep' и скаляр длительности.
Если временной шаг указан как календарная продолжительность (например, календарные месяцы), то вектор времени строки должен быть вектором datetime.
Если временной шаг указан как длительность (например, секунды), то вектором времени строки может быть вектор datetime или duration.
TimeStep является параметром, связанным с расписанием. parquetread функции использует TimeStep наряду с другими параметрами расписания для определения вектора времени для вывода T.
'VariableNamingRule' - Флаг для сохранения имен переменных'modify' (по умолчанию) | 'preserve'Флаг для сохранения имен переменных, указанный как разделенная запятыми пара, состоящая из VariableNamingRule и либо 'modify' или 'preserve'.
'modify' - Преобразовать недопустимые имена переменных (согласно определению isvarname к допустимым идентификаторам MATLAB.
'preserve' - Сохранение имен переменных, которые не являются допустимыми идентификаторами MATLAB, например имен переменных, содержащих пробелы и символы, не относящиеся к ASCII.
Начиная с R2019b имена переменных и строк могут содержать любые символы, включая пробелы и символы, не относящиеся к ASCII. Кроме того, они могут начинаться с любых символов, а не только букв. Имена переменных и строк не должны быть допустимыми идентификаторами MATLAB (согласно определению isvarname функция). Чтобы сохранить эти имена переменных и строк, задайте значение VariableNamingRule кому 'preserve'.
Типы данных: char | string
T - Выходные данныеВыходные данные, возвращаемые в виде таблицы или расписания. Выходные данные parquetread функция зависит от значения OutputType пара имя-значение. Дополнительные сведения см. в описании пары имя-значение для OutputType.
В некоторых случаях parquetwrite создает файлы, которые не представляют исходный массив T точно. Если вы используете parquetread или datastore для чтения файлов результат может не иметь того же формата или содержимого, что и исходная таблица. Дополнительные сведения см. в разделе Сопоставления типов данных паркета Apache.
parquetDatastore | parquetinfo | parquetwrite | table | timetable
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.