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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.