Datastore для набора файлов Parquet
Используйте ParquetDatastore
объект управлять набором файлов Parquet, где каждый отдельный файл Parquet умещается в памяти, но целый набор файлов не обязательно соответствует. Можно создать ParquetDatastore
объект с помощью parquetDatastore
функционируйте, задайте его свойства, и затем импортируйте и обработайте данные, используя функции объекта.
создает datastore pds
= parquetDatastore(location
)pds
от набора файлов Parquet, заданного location
.
задает дополнительные параметры и свойства для pds
= parquetDatastore(location
,Name,Value
)pds
использование одного или нескольких аргументов пары "имя-значение".
location
— Файлы или папки, чтобы включать в datastoreFileSet
возразите | путь к файлу | DsFileSet
объектФайлы или папки включены в datastore в виде FileSet
объект, как пути к файлам, или как DsFileSet
объект.
FileSet
объект — можно задать location
как FileSet
объект. Определение местоположения как FileSet
объект приводит к более быстрому времени создания для хранилищ данных по сравнению с определением пути или DsFileSet
объект. Для получения дополнительной информации смотрите matlab.io.datastore.FileSet
.
Путь к файлу — можно задать один путь к файлу как вектор символов или строковый скаляр. Можно задать несколько путей к файлам как массив ячеек из символьных векторов или массив строк.
DsFileSet
объект — можно задать DsFileSet
объект. Для получения дополнительной информации смотрите matlab.io.datastore.DsFileSet
.
Файлы или папки могут быть локальными или удаленными:
Локальные файлы или папки — Задают локальные пути к файлам или папкам. Если файлы не находятся в текущей папке, то задают полные или относительные пути. Файлы в подпапках заданной папки автоматически не включены в datastore. Можно использовать подстановочный символ (*) при определении локального пути. Этот символ указывает, что datastore включает все файлы соответствия или все файлы в соответствующих папках.
Удаленные файлы или папки — Задают полные пути к удаленным файлам или папкам как универсальный локатор ресурса (URL) формы hdfs:///
. Для получения дополнительной информации смотрите работу с Удаленными данными.path_to_file
Когда вы задаете папку, datastore включает только файлы с поддерживаемыми форматами файлов и игнорирует файлы с любым другим форматом. Чтобы задать пользовательский список расширений файла, чтобы включать в ваш datastore, смотрите FileExtensions
свойство.
parquetDatastore
функционируйте поддерживает .parquet
fileFormat .
Пример: "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
Типы данных: логический |
double
OutputType
— Выходной тип данных"auto"
(значение по умолчанию) | "table"
| "timetable"
Выходной тип данных в виде аргумента значения имени, состоящего из "OutputType"
и одно из этих значений:
"auto"
— Обнаруживает, если выход от datastore должен быть таблицей или расписанием на основе того, задаете ли вы "RowTimes"
аргумент значения имени. Если вы задаете "RowTimes"
затем выход является расписанием; в противном случае выход является таблицей.
"table"
— Возвратите table
.
"timetable"
— Возвратите timetable
.
Значение OutputType
определяет тип данных, возвращенный preview
, read
, и readall
функции. Используйте эту опцию в сочетании с "RowTimes"
пара "имя-значение", чтобы возвратить расписания в ParquetDatastore
.
Пример: "OutputType","timetable"
Типы данных: char |
string
VariableNamingRule
— Отметьте, чтобы сохранить имена переменных"modify"
(значение по умолчанию) | "preserve"
Отметьте, чтобы сохранить имена переменных в виде любого "modify"
или "preserve"
.
"modify"
— Преобразуйте недопустимые имена переменных (как определено isvarname
функция) к допустимому MATLAB® идентификаторы.
"preserve"
— Сохраните имена переменных, которые не являются допустимыми идентификаторами MATLAB, такими как имена переменных, которые включают символы non-ASCII и пробелы.
Начиная в R2019b, имена переменных и имена строки могут включать любые символы, включая символы non-ASCII и пробелы. Кроме того, они могут начать с любых символов, не только обозначает буквами. Переменная и имена строки не должны быть допустимыми идентификаторами MATLAB (как определено isvarname
функция. Чтобы сохранить эти имена переменных и имена строки, установите значение VariableNamingRule
к "preserve"
. Имена переменных не обновляются когда значение VariableNamingRule
изменяется от "modify"
к "preserve"
.
Типы данных: char |
string
AlternateFileSystemRoots
— Альтернативные пути к корню файловой системыАльтернативные пути к корню файловой системы в виде аргумента значения имени, состоящего из "AlternateFileSystemRoots"
и вектор строки или массив ячеек. Используйте "AlternateFileSystemRoots"
когда вы создаете datastore на локальной машине, но должны получить доступ и обработать данные на другой машине (возможно различной операционной системы). Кроме того, когда обработка данных с помощью Parallel Computing Toolbox™ и MATLAB Parallel Server™ и данных хранится на локальных машинах с копией доступных данных в облаке другой платформы или кластерных машинах, необходимо использовать "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, разрешенный как массив ячеек из символьных векторов или массив строк, где каждый вектор символов или строка являются полным путем к файлу. location
аргумент задает эти файлы.
Первый файл, заданный в массиве ячеек, определяет имена переменных и данные о формате для всех файлов в datastore.
Пример: {"C:\dir\data\file1.ext";"C:\dir\data\file2.ext"}
Типы данных: cell
| string
Folders
— Папки раньше создавали datastoreЭто свойство доступно только для чтения.
Папки, используемые, чтобы создать datastore, возвратились как массив ячеек из символьных векторов. Массив ячеек ориентирован как вектор-столбец. Каждый вектор символов является путем к папке, которая содержит файлы данных. location
аргумент в parquetDatastore
и datastore
функции задают Folders
когда datastore создается.
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 как, имена переменных, такие как имена переменных, содержащие пробелы и символы non-ASCII, устанавливают значение VariableNamingRule
параметр к "preserve"
.
Если ReadVariableNames
false
, затем VariableNames
значения по умолчанию к ["Var1","Var2", ...]
.
Пример: ["Time","Date","Quantity"]
Типы данных: char |
cell
| string
SelectedVariableNames
— Переменные, чтобы читатьПеременные, чтобы читать из файла в виде массива ячеек из символьных векторов или массива строк, где каждый вектор символов или строка содержат имя одной переменной. Можно задать имена переменных в любом порядке.
Чтобы поддержать недопустимые идентификаторы MATLAB как, имена переменных, такие как имена переменных, содержащие пробелы и символы non-ASCII, устанавливают значение VariableNamingRule
параметр к "preserve"
.
Пример: ["Var3","Var7","Var4"]
Типы данных: cell
| string
RowTimes
— Имя переменной времен строкиИмя переменной времен строки в виде аргумента значения имени, состоящего из "RowTimes"
и имя переменной (такое как "Date"
) или переменный индекс (такой как 3
).
RowTimes
связанный с расписанием параметр. Каждая строка расписания сопоставлена со временем, которое получено во временном векторе для расписания. Переменная задана в RowTimes
должен содержать datetime
или duration
вектор.
Если значение "OutputType"
istimetable
, но вы не задаете "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 | Объедините данные от нескольких datastores |
isPartitionable | Определите, partitionable ли datastore |
isShuffleable | Определите, shuffleable ли datastore |
Создайте объект parquetDatastore, использующий или объект FileSet или путь к файлу.
Создайте FileSet
объект, содержащий файл outages.parquet
. Создайте parquetDatastore
объект.
fs = matlab.io.datastore.FileSet("outages.parquet");
pds = parquetDatastore(fs)
pds = ParquetDatastore with properties: Files: { '...\matlab\toolbox\matlab\demos\outages.parquet' } Folders: { '...\matlab\toolbox\matlab\demos' } VariableNames: {1x6 cell} SelectedVariableNames: {1x6 cell} ReadSize: 'rowgroup' OutputType: 'table' RowTimes: [] AlternateFileSystemRoots: {} SupportedOutputFormats: ["txt" "csv" "xlsx" "xls" ... ] DefaultOutputFormat: "parquet" VariableNamingRule: 'modify'
В качестве альтернативы можно использовать путь к файлу, чтобы создать parquetDatastore
объект.
pds = parquetDatastore("outages.parquet");
Создайте 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 или переменную длительности как времена строки. В этом случае, 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
| tall
| parquetread
| parquetinfo
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.