parquetwrite

Запишите колоночные данные в файл Parquet

Описание

пример

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

пример

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

Примеры

свернуть все

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

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

T = readtable('outages.csv');

Запишите данные в формат файла Parquet. По умолчанию, 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 = 44881

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

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

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

свернуть все

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

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

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

Форма

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

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

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

Другие папки

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

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

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

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

Записать в удаленное местоположение, filename должен содержать полный путь файла, заданного как универсальный локатор ресурса (URL) формы:

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