Считайте колоночные данные из файла Parquet
Получите информацию о файле Parquet, считайте данные из файла в таблицу, и затем считайте подмножество переменных в таблицу.
Создайте ParquetInfo
объект для файла outages.parquet
.
info = parquetinfo('outages.parquet')
info = ParquetInfo with properties: Filename: "/mathworks/devel/bat/BR2021bd/build/matlab/toolbox/matlab/demos/outages.parquet" FileSize: 44202 NumRowGroups: 1 RowGroupHeights: 1468 VariableNames: ["Region" "OutageTime" "Loss" ... ] VariableTypes: ["string" "datetime" "double" ... ] VariableCompression: ["snappy" "snappy" "snappy" ... ] VariableEncoding: ["plain" "plain" "plain" "plain" ... ] 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Имя файла Parquet в виде вектора символов или строкового скаляра. parquetread
работает с Паркетом 1.0 или Паркетом 2,0 файла.
В зависимости от местоположения файла, filename
может взять одну из следующих форм.
Местоположение | Форма | ||||||||
---|---|---|---|---|---|---|---|---|---|
Текущая папка или папка на MATLAB® path | Задайте имя файла в Пример:
| ||||||||
Файл в папке | Если файл не находится в текущей папке или в папке на пути MATLAB, то задайте полное имя или относительный путь. Пример:
Пример:
| ||||||||
Интернет URL | Если файл задан как интернет-универсальный локатор ресурса (URL), то Пример:
| ||||||||
Удаленное местоположение | Если файл хранится в удаленном местоположении, то
На основе удаленного местоположения,
Для получения дополнительной информации смотрите работу с Удаленными данными. Пример:
|
Типы данных: char |
string
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'OutputType','table'
импортирует данные в файле Parquet как таблица.OutputType
— Выходной тип данных'auto'
(значение по умолчанию) | 'table'
| 'timetable'
Выходной тип данных в виде разделенной запятой пары, состоящей из 'OutputType'
и 'auto'
Таблица
, или 'timetable'
.
'auto'
— Возвратите таблицу или расписание. parquetread
обнаруживает, если выход должен быть таблицей или расписанием на основе других пар "имя-значение", которые вы задаете. Например, когда вы устанавливаете связанные с расписанием пары "имя-значение", затем parquetread
выводит, что выход является расписанием. Установка этих пар "имя-значение" указывает, что выход является расписанием: RowTimes
Время начала
, 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 или вектором длительности.
TimeStep
связанный с расписанием параметр. parquetread
функционируйте использует TimeStep
наряду с другими параметрами расписания, чтобы задать временной вектор для выхода T
.
VariableNamingRule
— Отметьте, чтобы сохранить имена переменных"modify"
(значение по умолчанию) | "preserve"
Отметьте, чтобы сохранить имена переменных в виде любого "modify"
или "preserve"
.
"modify"
— Преобразуйте недопустимые имена переменных (как определено isvarname
функция) к допустимым идентификаторам MATLAB.
"preserve"
— Сохраните имена переменных, которые не являются допустимыми идентификаторами MATLAB, такими как имена переменных, которые включают символы non-ASCII и пробелы.
Начиная в R2019b, имена переменных и имена строки могут включать любые символы, включая символы non-ASCII и пробелы. Кроме того, они могут начать с любых символов, не только обозначает буквами. Переменная и имена строки не должны быть допустимыми идентификаторами MATLAB (как определено isvarname
функция. Чтобы сохранить эти имена переменных и имена строки, установите значение VariableNamingRule
к "preserve"
. Имена переменных не обновляются когда значение VariableNamingRule
изменяется от "modify"
к "preserve"
.
Типы данных: char |
string
T
— Выходные данныеВыходные данные, возвращенные как таблица или расписание. Выход parquetread
функция зависит от значения OutputType
пара "имя-значение". Для получения дополнительной информации см. описание пары "имя-значение" для OutputType
.
В некоторых случаях, parquetwrite
создает файлы, которые не представляют исходный массив T
точно. Если вы используете parquetread
или datastore
чтобы считать файлы, затем результат не может иметь того же формата или содержимого как исходная таблица. Для получения дополнительной информации смотрите Отображения Типа данных Паркета Apache.
parquetinfo
| parquetwrite
| timetable
| table
| parquetDatastore
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.