Хранилище данных для коллекции паркетных файлов
Использовать ParquetDatastore объект для управления коллекцией файлов Parquet, где каждый отдельный файл Parquet умещается в памяти, но вся коллекция файлов не обязательно умещается. Можно создать ParquetDatastore с использованием parquetDatastore укажите его свойства, а затем импортируйте и обрабатывайте данные с помощью объектных функций.
создает хранилище данных pds = parquetDatastore(location)pds из коллекции паркетных файлов, указанных location.
задает дополнительные параметры и свойства для pds = parquetDatastore(location,Name,Value)pds с использованием одного или нескольких аргументов пары имя-значение.
location - Файлы или папки для включения в хранилище данныхDsFileSet объектФайлы или папки, включенные в хранилище данных, указанные как путь или DsFileSet объект.
path - укажите путь в виде символьного вектора, массива ячеек символьных векторов, строкового скаляра или строкового массива, содержащего расположение локальных или удаленных файлов или папок.
Локальные файлы или папки - Указать location как локальный путь к файлам или папкам. Если файлы находятся не в текущей папке, то локальный путь должен указывать полный или относительный путь. Файлы в подпапках указанной папки не включаются автоматически в хранилище данных. При указании локального пути можно использовать подстановочный символ (*). Этот символ указывает, что хранилище данных включает все соответствующие файлы или все файлы в соответствующих папках.
Удаленные файлы или папки - Указать location как полный путь к файлам или папкам в виде унифицированного указателя ресурсов (URL) формы hdfs:///path_to_file. Дополнительные сведения см. в разделе Работа с удаленными данными.
DsFileSet object - можно также указать location в качестве DsFileSet объект. Дополнительные сведения см. в разделе matlab.io.datastore.DsFileSet.
Когда location представляет собой папку, хранилище данных включает только поддерживаемые форматы файлов и игнорирует любой другой формат. Чтобы указать пользовательский список расширений файлов для включения в хранилище данных, см. раздел FileExtensions собственность.
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' - Расширения для включения в хранилище данныхРасширения для включения в хранилище данных, указанные как разделенная запятыми пара, состоящая из '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' и одно из этих значений:
'auto' - Определяет, должны ли выходные данные из хранилища данных быть таблицей или расписанием на основе указания 'RowTimes' пара имя-значение. При указании 'RowTimes' затем результат представляет собой расписание; в противном случае выходные данные представляют собой таблицу.
'table' - Возврат a table.
'timetable' - Возврат a timetable.
Значение 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' при создании хранилища данных на локальном компьютере, но при необходимости доступа и обработки данных на другом компьютере (возможно, в другой операционной системе). Кроме того, при обработке данных с помощью Toolbox™ Parallel Computing и Server™ MATLAB Parallel, данные хранятся на локальных компьютерах с копией данных, доступных на различных облачных платформах или кластерных машинах, необходимо использовать 'AlternateFileSystemRoots' для связывания корневых путей.
Чтобы связать набор корневых путей, эквивалентных друг другу, укажите 'AlternateFileSystemRoots' в виде строкового вектора. Например,
["Z:\datasets","/mynetwork/datasets"]
Чтобы связать несколько наборов корневых путей, эквивалентных хранилищу данных, укажите 'AlternateFileSystemRoots' как массив ячеек, содержащий несколько строк, где каждая строка представляет набор эквивалентных корневых путей. Укажите каждую строку в массиве ячеек в качестве строкового вектора или массива ячеек в виде символьных векторов. Например:
Определить 'AlternateFileSystemRoots' в виде массива ячеек строковых векторов.
{["Z:\datasets", "/mynetwork/datasets"];...
["Y:\datasets", "/mynetwork2/datasets","S:\datasets"]}Либо укажите 'AlternateFileSystemRoots' как массив ячеек массива ячеек символьных векторов.
{{'Z:\datasets','/mynetwork/datasets'};...
{'Y:\datasets', '/mynetwork2/datasets','S:\datasets'}}
Значение 'AlternateFileSystemRoots' должны удовлетворять следующим условиям:
Содержит одну или несколько строк, где каждая строка указывает набор эквивалентных корневых путей.
Каждая строка указывает несколько корневых путей, и каждый корневой путь должен содержать не менее двух символов.
Корневые пути уникальны и не являются подпапками друг друга.
Содержит по крайней мере одну запись корневого пути, указывающую на расположение файлов.
Дополнительные сведения см. в разделе Настройка хранилища данных для обработки на различных машинах или кластерах.
Пример: ["Z:\datasets","/mynetwork/datasets"]
Типы данных: string | cell
ParquetDatastore свойства описывают формат файлов в объекте хранилища данных и управляют тем, как данные считываются из хранилища данных. За исключением Files свойство, можно указать значение ParquetDatastore с использованием аргументов пары «имя-значение» при создании объекта хранилища данных. Чтобы просмотреть или изменить свойство после создания объекта, используйте точечную нотацию.
Files - Файлы, включенные в хранилище данныхФайлы, включенные в хранилище данных, разрешенные как массив ячеек символьных векторов или строковый массив, где каждый символьный вектор или строка является полным путем к файлу. location аргумент определяет эти файлы.
Первый файл, указанный в массиве ячеек, определяет имена переменных и информацию о формате для всех файлов в хранилище данных.
Пример: {'C:\dir\data\file1.ext';'C:\dir\data\file2.ext'}
Типы данных: cell | string
Folders - Папки, используемые для создания хранилища данныхЭто свойство доступно только для чтения.
Папки, используемые для создания хранилища данных, возвращаемого в виде массива ячеек символьных векторов. Массив ячеек ориентирован как вектор-столбец. Каждый вектор символов - это путь к папке, содержащей файлы данных. location аргумент в parquetDatastore и datastore функции определяют Folders при создании хранилища данных.
Folders сбрасывается при изменении Files свойство ParquetDatastore объект.
Типы данных: cell
ReadSize - Объем читаемых данных'rowgroup' (по умолчанию) | 'file' | положительное целое числоОбъем данных для чтения при вызове read функция, указанная как 'rowgroup', 'file', или положительное целое число.
'rowgroup' - Каждый звонок на read считывает число строк, указанное в группах строк файла Parquet. Чтобы получить количество строк в группах строк, см. RowGroupHeights имущества ParquetInfo объект.
'file' - Каждый звонок на read считывает все данные в одном файле.
положительное целое число - каждый вызов read считывает максимум ReadSize строк.
При изменении ReadSize от положительного целого числа до 'file' или 'rowgroup'или наоборот, MATLAB сбрасывает хранилище данных в непрочитанное состояние, в котором данные из него не считывались.
Типы данных: double | char | string
VariableNames - имена переменных;Имена переменных в хранилище данных, указанные как символьный вектор, массив ячеек символьных векторов, строковый скаляр или строковый массив. Укажите имена переменных в порядке их отображения в файлах. Если имена переменных не указаны, хранилище данных обнаруживает их из первой строки, не являющейся заголовком, в первом файле. Можно указать VariableNames с помощью символьного вектора или строкового скаляра, однако хранилище данных преобразует и сохраняет значение свойства в массив ячеек символьных векторов. При изменении 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 для записи выходных файлов из хранилища данных.
Типы данных: string
DefaultOutputFormat - Формат вывода по умолчаниюЭто свойство доступно только для чтения.
Формат вывода по умолчанию, возвращаемый как строковый скаляр. Это свойство задает формат по умолчанию при использовании writeall для записи выходных файлов из хранилища данных.
Типы данных: string
hasdata | Определение доступности данных для чтения |
numpartitions | Количество разделов хранилища данных |
partition | Разделение хранилища данных |
preview | Предварительный просмотр подмножества данных в хранилище данных |
read | Считывание данных в хранилище данных |
readall | Считывание всех данных в хранилище данных |
writeall | Запись хранилища данных в файлы |
reset | Сброс хранилища данных в исходное состояние |
transform | Преобразовать хранилище данных |
combine | Объединение данных из нескольких хранилищ данных |
isPartitionable | Определение возможности разделения хранилища данных |
isShuffleable | Определение возможности тасования хранилища данных |
Создать 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'
Создайте хранилище данных для образца файла Parquet, а затем прочитайте данные из файла с другими ReadSize значения.
Создание хранилища данных для outages.parquet, комплект ReadSize кому 10 строки, а затем считывание из хранилища данных. Значение ReadSize определяет, сколько строк данных считывается из хранилища данных при каждом вызове 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' и чтение из хранилища данных. Каждый звонок в read функция считывает все данные из хранилища данных.
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 вернуть расписания вместо таблиц.
Создание хранилища данных для 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.
mapreduce | parquetinfo | parquetread | tall
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.