parquetwrite

Запишите колоночные данные, чтобы Устелить паркетом файл

Синтаксис

parquetwrite(filename,T)
parquetwrite(filename,T,'VariableCompression',VariableCompression)

Описание

пример

parquetwrite(filename,T) пишут таблица или расписание T к Паркету 2,0 файла с именем файла, заданным в filename.

пример

parquetwrite(filename,T,'VariableCompression',VariableCompression) задает схемы сжатия, чтобы использовать при записи переменных в выходной файл. Формат файла Паркета позволяет вам задать схемы сжатия на на переменную (столбец) уровень, позволяющий очень эффективное сжатие и кодирующий данных.

Примеры

свернуть все

Запишите табличные данные в файл Паркета и сравните размер тех же табличных данных в форматах файлов .parquet и .csv.

Считайте табличные данные из файла outages.csv в таблицу.

T = readtable('outages.csv');

Запишите данные, чтобы Устелить паркетом формат файла. По умолчанию функция parquetwrite использует схему сжатия Snappy. Задавать другие схемы сжатия see 'VariableCompression' пара "имя-значение".

parquetwrite('outagesDefault.parquet',T)

Получите размеры файла и вычислите отношение размера табличных данных в формате .csv к размеру тех же данных в формате .parquet.

Получите размер файла .csv.

fcsv = dir(which('outages.csv'));
size_csv = fcsv.bytes
size_csv = 101040

Получите размер файла .parquet.

fparquet  = dir('outagesDefault.parquet');
size_parquet = fparquet.bytes
size_parquet = 44202

Вычислите отношение.

sizeRatio = ( size_parquet/size_csv )*100 ;
disp(['Size Ratio = ', num2str(sizeRatio) '% of original size'])
Size Ratio = 43.747% of original size

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

свернуть все

Имя файла вывода Parquet, заданного как вектор символов или скаляр строки.

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

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

Форма

Текущая папка

Чтобы записать в текущую папку, задайте имя файла в filename.

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

Другие папки

Чтобы записать в папку, отличающуюся от текущей папки, задайте полное имя или относительный путь в filename.

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

Пример: 'dataDir\myData.parquet'

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

Чтобы записать в удаленное местоположение, filename должен содержать полный путь файла, заданного как интернационализировавший идентификатор ресурса (IRI) формы:

scheme_name://path_to_file/myData.parquet

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

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

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

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

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

Входные данные, заданные как таблица или расписание.

Имена схемы сжатия, заданные как одно из этих значений:

  • 'Snappy', 'Brotli', 'Gzip' или 'Uncompressed'. Если вы задаете один алгоритм сжатия затем, parquetwrite сжимает все переменные с помощью того же алгоритма.

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

В целом 'Snappy' имеет лучшую производительность для чтения и записи, 'Gzip' имеет более высокий коэффициент сжатия за счет большего количества времени вычислений центрального процессора, и 'Brotli' обычно производит самый маленький размер файла за счет скорости сжатия.

parquetwrite записывает Паркету 2,0 файла с помощью схемы кодирования словаря Паркета. Эта схема кодирования является самой эффективной, когда количество уникальных значений не является слишком большим. Если размер словаря или количество уникальных значений растут, чтобы быть слишком большими, то кодирование автоматически отступает к простому кодированию.

Пример: parquetwrite('myData.parquet', T, 'VariableCompression', 'Brotli')

Пример: parquetwrite('myData.parquet', T, 'VariableCompression', {'Brotli' 'Snappy' 'Gzip'})

Ограничения

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

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

| |

Введенный в R2019a