parquetread

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

Описание

пример

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

пример

T = parquetread(filename,Name,Value) читает файл 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"

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

свернуть все

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

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

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

Форма

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

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

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

Файл в папке

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

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

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

Интернет URL

Если файл задан как интернет-универсальный локатор ресурса (URL), то filename должен содержать тип протокола 'http://' или 'https://' и закончите '?raw=true'.

Пример: 'http://hostname/path_to_file/my_data.parquet?raw=true'

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

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

scheme_name://path_to_file/my_file.ext

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

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

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

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

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

Аргументы name-value

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

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

Выходной тип данных в виде разделенной запятой пары, состоящей из 'OutputType' и 'auto'Таблица, или 'timetable'.

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

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

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

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

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

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

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

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

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

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

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

  • Временным вектором должен быть 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.

Отметьте, чтобы сохранить имена переменных в виде любого "modify" или "preserve".

  • "modify" — Преобразуйте недопустимые имена переменных (как определено isvarname функция) к допустимым идентификаторам MATLAB.

  • "preserve" — Сохраните имена переменных, которые не являются допустимыми идентификаторами MATLAB, такими как имена переменных, которые включают символы non-ASCII и пробелы.

Начиная в R2019b, имена переменных и имена строки могут включать любые символы, включая символы non-ASCII и пробелы. Кроме того, они могут начать с любых символов, не только обозначает буквами. Переменная и имена строки не должны быть допустимыми идентификаторами MATLAB (как определено isvarname функция. Чтобы сохранить эти имена переменных и имена строки, установите значение VariableNamingRule к "preserve". Имена переменных не обновляются когда значение VariableNamingRule изменяется от "modify" к "preserve".

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

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

свернуть все

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

Ограничения

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

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

| | | |

Введенный в R2019a
Для просмотра документации необходимо авторизоваться на сайте