parquetread

Считайте колоночные данные из файла Паркета

Синтаксис

T = parquetread(filename)
T = parquetread(filename,Name,Value)

Описание

пример

T = parquetread(filename) читает файл Паркета, заданный в filename в таблицу или расписание T.

пример

T = parquetread(filename,Name,Value) читает файл Паркета в таблицу или расписание с дополнительными опциями, заданными одним или несколькими аргументами пары "имя-значение".

Примеры

свернуть все

Получите информацию о файле Паркета, считайте данные из файла в таблицу, и затем считайте подмножество переменных в таблицу.

Создайте объект ParquetInfo для файла outages.parquet.

info = parquetinfo('outages.parquet')
info = 
  ParquetInfo with properties:

               Filename: "/mathworks/devel/bat/BR2019ad/build/matlab/toolbox/matlab/demos/outages.parquet"
               FileSize: 44202
           NumRowGroups: 1
        RowGroupHeights: 1468
          VariableNames: [1x6 string]
          VariableTypes: [1x6 string]
    VariableCompression: [1x6 string]

Считайте данные из файла в таблицу и отобразите первые строки 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×6 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×6 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"

Copyright 2018 The MathWorks, Inc.

Входные параметры

свернуть все

Имя файла Паркета, заданного как вектор символов или скаляр строки. parquetread работает с Паркетом 1.0 или Паркетом 2,0 файла.

В зависимости от местоположения файла filename может взять одну из следующих форм.

Местоположение

Форма

Текущая папка или папка на пути MATLAB®

Задайте имя файла в filename.

Пример: 'data.parquet'

Файл в папке

Если файл не находится в текущей папке или в папке на пути MATLAB, то задайте полное имя или относительный путь.

Пример: 'C:\myFolder\data.parquet'

Пример: 'myDir\myFile.ext'

Удаленное местоположение

Если файл хранится в удаленном местоположении, то filename должен содержать полный путь файла, заданного как интернационализировавший идентификатор ресурса (IRI) формы:

scheme_name://path_to_file/my_file.ext

На основе вашего удаленного местоположения scheme_name может быть одним из значений в этой таблице.

Удаленное местоположениеscheme_name
Amazon S3™s3
Устройство хранения данных Windows Azure® Blobwasb, wasbs
HDFS™hdfs

Для получения дополнительной информации смотрите работу с Удаленными данными.

Пример: 's3://bucketname/path_to_file/data.parquet'

Типы данных: char | string

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'OutputType','table' импортирует данные в файле Паркета как таблица.

Выведите тип данных, заданный как пара, разделенная запятой, состоящая из 'OutputType' и 'auto', 'table' или 'timeable'.

  • 'auto' Возвратите таблицу или расписание. parquetread обнаруживает, если вывод должен быть таблицей или расписанием на основе других пар "имя-значение", которые вы задаете. Например, когда вы устанавливаете связанные с расписанием пары "имя-значение", затем parquetread выводит, что вывод является расписанием. Установка этих пар "имя-значение" указывает, что вывод является расписанием: RowTimes, StartTime, SampleRate или TimeStep.

  • Таблица Возвратите таблицу. Для получения дополнительной информации о табличном типе данных смотрите table.

  • расписание Возвратите расписание. Для получения дополнительной информации о типе данных расписания смотрите timetable.

Пример: 'OutputType','timetable'

Типы данных: char | string

Подмножество переменных, чтобы импортировать, заданный как пара, разделенная запятой, состоящая из 'SelectedVariableNames' и вектора символов, представляет в виде строки скаляр, массив ячеек из символьных векторов или массив строк.

  • SelectedVariableNames должен быть подмножеством имен переменных, содержавшихся в файле Паркета. Чтобы получить имена всех переменных в файле, используйте свойство VariableNames объекта ParquetInfo.

  • Если вы не задаете пару "имя-значение" SelectedVariableNames, parquetread читает все переменные из файла.

Типы данных: char | string | cell

Переменная времен строки, заданная как пара, разделенная запятой, состоящая из 'RowTimes' и имени переменной или временного вектора.

  • Имя переменной должно быть вектором символов или представить в виде строки скаляр, содержащий имя любой переменной во входной таблице, которая содержит значения duration или datetime. Переменная, заданная именем переменной, обеспечивает метки времени строки для строк. Остающиеся переменные входной таблицы становятся переменными расписания.

  • Временной вектор должен быть вектором datetime или вектором duration. Число элементов временного вектора должно равняться количеству строк входной таблицы. Временные стоимости во временном векторе не должны быть уникальными, не отсортированы, или регулярными. Все переменные входной таблицы становятся переменными расписания.

Типы данных: char | string | datetime | duration

Время начала времен строки, заданных как пара, разделенная запятой, состоящая из StartTime и скаляра datetime или скаляра длительности.

  • Если время начала является datetime, то времена строки T являются значениями datetime.

  • Если время начала является длительностью, то времена строки T являются значениями длительности.

  • Если временной шаг является календарной длительностью, то время начала должно быть значением datetime.

StartTime является связанным с расписанием параметром. Функция parquetread использует StartTime наряду с SampleRate или TimeStep, чтобы задать временной вектор для вывода T.

Типы данных: datetime | duration

Частота дискретизации, заданная как пара, разделенная запятой, состоящая из 'SampleRate' и положительного числового скаляра. Частота дискретизации является количеством выборок в секунду (Гц) временного вектора выходного расписания T.

SampleRate является связанным с расписанием параметром. Функция parquetread использует SampleRate наряду с другими параметрами расписания, чтобы задать временной вектор для вывода T.

Типы данных: double

Временной шаг временного вектора, заданного как пара, разделенная запятой, состоящая из 'TimeStep' и скаляра длительности.

  • Если вы задаете временной шаг как календарную длительность (например, календарные месяцы), то вектор времен строки должен быть вектором datetime.

  • Если вы задаете временной шаг как длительность (например, секунды), то вектор времен строки может или быть datetime или вектором длительности.

TimeStep является связанным с расписанием параметром. Функция parquetread использует TimeStep наряду с другими параметрами расписания, чтобы задать временной вектор для вывода T.

Выходные аргументы

свернуть все

Выходные данные, возвращенные как таблица или расписание. Вывод функции parquetread зависит от значения пары "имя-значение" OutputType. Для получения дополнительной информации см. описание пары "имя-значение" для OutputType.

Ограничения

В некоторых случаях parquetwrite создает файлы, которые не представляют исходный массив T точно. Если вы используете parquetread или datastore, чтобы считать файлы, то результат не может иметь того же формата или содержимого как исходная таблица. Для получения дополнительной информации смотрите Отображения Типа данных Паркета Apache.

Смотрите также

| | | |

Введенный в R2019a