Datastore для набора файлов Parquet
Использование ParquetDatastore объект для управления набором файлов Parquet, где каждый отдельный файл Parquet помещается в памяти, но весь набор файлов не обязательно помещается. Можно создать ParquetDatastore объект с использованием parquetDatastore function, задайте его свойства, а затем импортируйте и обрабатывайте данные с помощью функций object.
создает хранилище 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 свойство.
The parquetDatastore функция поддерживает .parquet формат файла.
Пример: '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
Типы данных: logical | double
'OutputType' - Выход данных'auto' (по умолчанию) | 'table' | 'timetable'Выходной тип данных, заданный как разделенная разделенными запятой парами, состоящая из 'OutputType' и одно из следующих значений:
Значение OutputType определяет тип данных, возвращаемых preview, read, и readall функций. Используйте эту опцию в сочетании с 'RowTimes' Пара "имя-значение" для возврата расписаний из ParquetDatastore.
Пример: 'OutputType','timetable'
Типы данных: char | string
'VariableNamingRule' - Флаг для сохранения имен переменных'modify' (по умолчанию) | 'preserve'Флаг для сохранения имен переменных, заданный как разделенная разделенными запятой парами, состоящая из VariableNamingRule и любой из них 'modify' или 'preserve'.
'modify' - Преобразуйте недопустимые имена переменных (как определено isvarname функция) для действительного MATLAB® идентификаторы.
'preserve' - Сохраните имена переменных, которые не являются допустимыми идентификаторами MATLAB, такими как имена переменных, которые включают пространства и символы, отличные от ASCII.
Начиная с R2019b, имена переменных и имена строк могут включать любые символы, включая пространства и символы, отличные от ASCII. Кроме того, они могут начинаться с любых символов, а не только букв. Переменная и имена строк не должны быть допустимыми идентификаторами MATLAB (как определяется isvarname функция). Чтобы сохранить эти имена переменных и имена строк, задайте значение VariableNamingRule на 'preserve'.
Типы данных: char | string
'AlternateFileSystemRoots' - Альтернативные корневые пути файловой системыАльтернативные корневые пути файловой системы, заданные как разделенная разделенными запятой парами, состоящая из 'AlternateFileSystemRoots' и строковый вектор или массив ячеек. Использование 'AlternateFileSystemRoots' когда вы создаете datastore на локальной машине, но должны получить доступ и обработать данные на другой машине (возможно, другой операционной системы). Кроме того, при обработке данных с помощью Toolbox™ Parallel Computing и Server™ MATLAB Parallel, а данные хранятся на ваших локальных машинах с копией данных, доступных на другой платформе облака или кластерных машинах, необходимо использовать '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, разрешаются как массив ячеек из векторов символов или строковые массивы, где каждый вектор или строка символов является полным путем к файлу. The location Аргумент задает эти файлы.
Первый файл, заданный в массиве ячеек, определяет имена переменных и информацию о формате для всех файлов в datastore.
Пример: {'C:\dir\data\file1.ext';'C:\dir\data\file2.ext'}
Типы данных: cell | string
Folders - Папки, используемые для создания datastoreЭто свойство доступно только для чтения.
Папки, используемые для создания datastore, возвращенные как массив ячеек из векторов символов. Массив ячеек ориентирован как вектор-столбец. Каждый вектор символов является путем к папке, которая содержит файлы данных. The location аргумент в parquetDatastore и datastore функции определяют Folders при создании datastore.
The Folders свойство сбрасывается при изменении Files свойство ParquetDatastore объект.
Типы данных: cell
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 в качестве имен переменных, таких как имена переменных, содержащие пространства и символы, отличные от ASCII, задайте значение VariableNamingRule параметр в 'preserve'.
Если ReadVariableNames является false, затем VariableNames по умолчанию является {'Var1','Var2', ...}.
Пример: {'Time','Date','Quantity'}
Типы данных: char | cell | string
SelectedVariableNames - Переменные, которые нужно считатьПеременные для чтения из файла, заданные как массив ячеек с векторами символов или строковыми массивами, где каждый вектор символов или строка содержит имя одной переменной. Вы можете задать имена переменных в любом порядке.
Чтобы поддержать недопустимые идентификаторы MATLAB в качестве имен переменных, таких как имена переменных, содержащие пространства и символы, отличные от ASCII, задайте значение VariableNamingRule параметр в 'preserve'.
Пример: {'Var3','Var7','Var4'}
Типы данных: cell | string
RowTimes - Имя переменной времени строкиИмя переменной времени строки, заданное как разделенная разделенными запятой парами, состоящая из 'RowTimes' и имя переменной (например "Date") или индекс переменной (например 3).
RowTimes является параметром, связанным с расписанием. Каждая строка расписания связана со временем, которое захватывается во временной вектор для расписания. Переменная, заданная в RowTimes должен содержать datetime или duration вектор.
Если значение 'OutputType' является 'timetable', но вы не уточняете 'RowTimes', затем ParquetDatastore использует первую datetime или duration переменная в качестве времени строки для расписания.
SupportedOutputFormats - Список форматов, поддерживаемых для записиЭто свойство доступно только для чтения.
Список форматов, поддерживаемых для записи, возвращаемый как вектор-строка строк. Это свойство задает возможные выходные форматы при использовании writeall для записи выходных файлов из datastore.
Типы данных: string
DefaultOutputFormat - выход по умолчаниюЭто свойство доступно только для чтения.
Выход по умолчанию, возвращенный как строковый скаляр. Это свойство задает формат по умолчанию при использовании writeall для записи выходных файлов из datastore.
Типы данных: string
hasdata | Определите, доступны ли данные для чтения |
numpartitions | Количество разделов datastore |
partition | Раздел datastore |
preview | Предварительный просмотр подмножества данных в datastore |
read | Чтение данных в datastore |
readall | Чтение всех данных в datastore |
writeall | Запись datastore в файлы |
reset | Сбросьте datastore в начальное состояние |
transform | Преобразуйте datastore |
combine | Объедините данные из нескольких хранилищ данных |
isPartitionable | Определите, является ли datastore разделяемым |
isShuffleable | Определите, является ли datastore shuffleable |
Создайте ParquetDatastore объект, содержащий файл outages.parquet.
pds = parquetDatastore('outages.parquet')pds =
ParquetDatastore with properties:
Files: {
' .../devel/bat/BR2021ad/build/matlab/toolbox/matlab/demos/outages.parquet'
}
Folders: {
'/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/matlab/demos'
}
VariableNames: {1x6 cell}
SelectedVariableNames: {1x6 cell}
ReadSize: 'rowgroup'
OutputType: 'table'
RowTimes: []
AlternateFileSystemRoots: {}
SupportedOutputFormats: [1x6 string]
DefaultOutputFormat: "parquet"
VariableNamingRule: 'modify'
Создайте datastore для примера файла Parquet, а затем считайте данные из файла с другими ReadSize значения.
Создайте datastore для outages.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 страница с описанием объекта.
Используйте OutputType и RowTimes Парами "имя-значение" сделать ParquetDatastore возвращает расписания вместо таблиц.
Создайте datastore для airlinesmall.parquet. Задайте 'OutputType' Пара "имя-значение" как 'timetable'.
pds = parquetDatastore('airlinesmall.parquet','OutputType','timetable'); preview(pds)
ans=8×26 timetable
Date DayOfWeek DepTime CRSDepTime ArrTime CRSArrTime UniqueCarrier FlightNum TailNum ActualElapsedTime CRSElapsedTime AirTime ArrDelay DepDelay Origin Dest Distance TaxiIn TaxiOut Cancelled CancellationCode Diverted CarrierDelay WeatherDelay NASDelay SecurityDelay LateAircraftDelay
___________ _________ ____________________ ____________________ ____________________ ____________________ _____________ _________ _______ _________________ ______________ _______ ________ ________ ______ _____ ________ _______ _______ _________ ________________ ________ ____________ ____________ ________ _____________ _________________
21-Oct-1987 3 21-Oct-1987 06:42:00 21-Oct-1987 06:30:00 21-Oct-1987 07:35:00 21-Oct-1987 07:27:00 "PS" 1503 "NA" 3180 sec 3420 sec NaN sec 480 sec 720 sec "LAX" "SJC" 308 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
26-Oct-1987 1 26-Oct-1987 10:21:00 26-Oct-1987 10:20:00 26-Oct-1987 11:24:00 26-Oct-1987 11:16:00 "PS" 1550 "NA" 3780 sec 3360 sec NaN sec 480 sec 60 sec "SJC" "BUR" 296 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
23-Oct-1987 5 23-Oct-1987 20:55:00 23-Oct-1987 20:35:00 23-Oct-1987 22:18:00 23-Oct-1987 21:57:00 "PS" 1589 "NA" 4980 sec 4920 sec NaN sec 1260 sec 1200 sec "SAN" "SMF" 480 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
23-Oct-1987 5 23-Oct-1987 13:32:00 23-Oct-1987 13:20:00 23-Oct-1987 14:31:00 23-Oct-1987 14:18:00 "PS" 1655 "NA" 3540 sec 3480 sec NaN sec 780 sec 720 sec "BUR" "SJC" 296 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
22-Oct-1987 4 22-Oct-1987 06:29:00 22-Oct-1987 06:30:00 22-Oct-1987 07:46:00 22-Oct-1987 07:42:00 "PS" 1702 "NA" 4620 sec 4320 sec NaN sec 240 sec -60 sec "SMF" "LAX" 373 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
28-Oct-1987 3 28-Oct-1987 14:46:00 28-Oct-1987 13:43:00 28-Oct-1987 15:47:00 28-Oct-1987 14:48:00 "PS" 1729 "NA" 3660 sec 3900 sec NaN sec 3540 sec 3780 sec "LAX" "SJC" 308 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
08-Oct-1987 4 08-Oct-1987 09:28:00 08-Oct-1987 09:30:00 08-Oct-1987 10:52:00 08-Oct-1987 10:49:00 "PS" 1763 "NA" 5040 sec 4740 sec NaN sec 180 sec -120 sec "SAN" "SFO" 447 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
10-Oct-1987 6 10-Oct-1987 08:59:00 10-Oct-1987 09:00:00 10-Oct-1987 11:34:00 10-Oct-1987 11:23:00 "PS" 1800 "NA" 9300 sec 8580 sec NaN sec 660 sec -60 sec "SEA" "LAX" 954 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
Когда вы также не задаете 'RowTimes', parquetDatastore использует первую переменную datetime или duration в качестве времени строки. В этом случае Date переменная используется для значений времени строки.
Задайте 'RowTimes' опция для использования времени прибытия (ArrTime) в виде строки, вместо дат рейса.
pds = parquetDatastore('airlinesmall.parquet','OutputType','timetable','RowTimes','ArrTime'); preview(pds)
ans=8×26 timetable
ArrTime Date DayOfWeek DepTime CRSDepTime CRSArrTime UniqueCarrier FlightNum TailNum ActualElapsedTime CRSElapsedTime AirTime ArrDelay DepDelay Origin Dest Distance TaxiIn TaxiOut Cancelled CancellationCode Diverted CarrierDelay WeatherDelay NASDelay SecurityDelay LateAircraftDelay
____________________ ___________ _________ ____________________ ____________________ ____________________ _____________ _________ _______ _________________ ______________ _______ ________ ________ ______ _____ ________ _______ _______ _________ ________________ ________ ____________ ____________ ________ _____________ _________________
21-Oct-1987 07:35:00 21-Oct-1987 3 21-Oct-1987 06:42:00 21-Oct-1987 06:30:00 21-Oct-1987 07:27:00 "PS" 1503 "NA" 3180 sec 3420 sec NaN sec 480 sec 720 sec "LAX" "SJC" 308 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
26-Oct-1987 11:24:00 26-Oct-1987 1 26-Oct-1987 10:21:00 26-Oct-1987 10:20:00 26-Oct-1987 11:16:00 "PS" 1550 "NA" 3780 sec 3360 sec NaN sec 480 sec 60 sec "SJC" "BUR" 296 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
23-Oct-1987 22:18:00 23-Oct-1987 5 23-Oct-1987 20:55:00 23-Oct-1987 20:35:00 23-Oct-1987 21:57:00 "PS" 1589 "NA" 4980 sec 4920 sec NaN sec 1260 sec 1200 sec "SAN" "SMF" 480 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
23-Oct-1987 14:31:00 23-Oct-1987 5 23-Oct-1987 13:32:00 23-Oct-1987 13:20:00 23-Oct-1987 14:18:00 "PS" 1655 "NA" 3540 sec 3480 sec NaN sec 780 sec 720 sec "BUR" "SJC" 296 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
22-Oct-1987 07:46:00 22-Oct-1987 4 22-Oct-1987 06:29:00 22-Oct-1987 06:30:00 22-Oct-1987 07:42:00 "PS" 1702 "NA" 4620 sec 4320 sec NaN sec 240 sec -60 sec "SMF" "LAX" 373 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
28-Oct-1987 15:47:00 28-Oct-1987 3 28-Oct-1987 14:46:00 28-Oct-1987 13:43:00 28-Oct-1987 14:48:00 "PS" 1729 "NA" 3660 sec 3900 sec NaN sec 3540 sec 3780 sec "LAX" "SJC" 308 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
08-Oct-1987 10:52:00 08-Oct-1987 4 08-Oct-1987 09:28:00 08-Oct-1987 09:30:00 08-Oct-1987 10:49:00 "PS" 1763 "NA" 5040 sec 4740 sec NaN sec 180 sec -120 sec "SAN" "SFO" 447 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
10-Oct-1987 11:34:00 10-Oct-1987 6 10-Oct-1987 08:59:00 10-Oct-1987 09:00:00 10-Oct-1987 11:23:00 "PS" 1800 "NA" 9300 sec 8580 sec NaN sec 660 sec -60 sec "SEA" "LAX" 954 NaN sec NaN sec false "NA" false NaN sec NaN sec NaN sec NaN sec NaN sec
Если вы используете parquetread или parquetDatastore чтобы считать файлы, результат может иметь не тот формат или содержимое, что и исходная таблица. Для получения дополнительной информации смотрите Apache Parquet Data Type Отображений.
mapreduce | parquetinfo | parquetread | tall
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.