Паркет это: Паркет | это… Что такое Паркет?

Содержание

Штучный паркет — небольшие планки из массива ценных пород дерева

Штучный паркет — это деревянное напольное покрытие, состоящие из цельных планок с шипами и пазами для соединения в полотно. Планки штучного паркета делают из массива дуба, ясеня и других пород ценной древесины.

Отличия штучного паркета от массивной доски

Грань между массивной доской и штучным паркетом размыта. Поскольку современные производители широко варьируют размеры массивной доски и штучного паркета, нет никаких чётких требований, где заканчивается один вид паркета и начинается другой.

И всё же планки штучного паркета обычно у́же и короче, чем доски массива, и стоят дешевле, т. к. для их изготовления не нужна большая площадь допустимой по качеству древесины. А ещё чаще всего в упаковке штучного паркета планки все одинаковые по размеру, а у массивной доски — разной длины.

Есть небольшая разница и в укладке: массивная доска обычно укладывается вдоль комнаты с разбросом стыков, реже — поперёк или по диагонали. Штучный паркет можно укладывать разными рисунками. Иногда продают штучный паркет, специально нарезанный для укладки французской ёлкой, — со срезами торцевых сторон.


Конструкция у штучного паркета и массивной доски одинаковая.
Без уточнения размеров непонятно, что изображено на картинке

Размеры

Традиционные размеры планки штучного паркета — 250 x 50 x 15 мм. Действующий ГОСТ «Паркет штучный» допускает выпуск планок шириной от 30 до 90 мм с шагом в 5 мм и длиной от 150 до 500 мм с шагом в 50 мм.

Каждый производитель предлагает свои размеры штучного паркета, поэтому перед покупкой обязательно проверьте размерность планок и однородность длин. Бывает, что в упаковке предлагаются планки разной длины. Такой паркет подойдёт только для укладки вразбежку.


Для укладки вразбежку подойдут планки разной длины,
а, например, для ёлочки — только одинаковые

Породы дерева

На выборах президента среди пород дерева для изготовления штучного паркета с огромным отрывом лидирует дуб. Следом за ним идёт ясень, а дальше около 1-3 процентов голосов — у всех остальных пород, включая экзотические, вроде мербау, палисандра и тика.

У дуба, ясеня и бука прочная древесина с плавными линиями волокон. Такой паркет надёжный и стабильный. Он имеет сдержанный благородный оттенок.

Отличными визуальными и техническими характеристиками обладает паркет из американского ореха. Его текстура более крупная, а оттенки теплее, чем у дуба. Орех твёрже дуба: 5,0 против 3,8 по Бринеллю.


Штучный паркет из американского ореха, уложенный ёлочкой, очень красив

Обработка

Раньше штучный паркет выпускался только «в чистом виде». После установки пол шлифовали, а затем покрывали лаком. Такой паркет и сейчас можно приобрести, он стоит дешевле, чем планки с отделкой и под лаком.

Последние в заводских условиях шлифуются, тонируются или брашируются и покрываются лаком или маслом. Такой паркет полностью готов к монтажу, после которого нужно лишь дождаться высыхания клея — и ваш пол готов.


Штучный паркет Дуб Натур от Романовского паркета без обработки,
стоимость 1 кв. метра — 1042 рубля

Установка

Установка штучного паркета по технологии сходна с укладкой массивной доски.

На подготовленное основание сначала приклеивают или привинчивают фанерные листы, распиленные на квадраты или прямоугольники.

Затем на специальный паркетный клей приклеивают сами паркетные планки, выкладывая их в нужном ритме и последовательности.

Работа по установке штучного паркета требует гораздо больше умений и опыта, чем при установке паркетной доски. А поскольку паркет укладывают один раз на долгие годы, специалисты советуют доверять эту работу профессиональным пакетчикам.


Укладка штучного паркета ёлочкой

Раскладка

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

Палуба
Это когда планки укладываются рядами со сдвигом стыков. В зависимости от сдвига рисунок получается с хаотичным или размеренным ритмом.


В небольших помещениях эффектно выглядит укладка палубой по диагонали.
Такой паркет зрительно вытягивает помещение.

Английская ёлка
Этот рисунок собирается из обычных прямоугольных планок, уложенных под углом 90 градусов друг к другу. При этом у «ёлки» может быть как по одной, так и по две планки в каждом стыке.


Дубовый паркет, уложенный одинарной английской ёлкой

Французская ёлка

Это более современный и стильный рисунок, который делается из запиленных под углом 45 градусов планок штучного паркета. Если покупаете штучный паркет, полностью готовый для укладки французской ёлкой, в заводской упаковке находится равное количество правых и левых планок.


Штучный паркет из дуба с тонировкой, укладка — французская ёлка

Есть и другие способы укладки штучного паркета: квадраты, плетёнка, ромбы. Но они применяются гораздо реже.

Штучный паркет и паркетная доска

Штучный паркет, профессионально уложенный, прогрунтованный и покрытый лаком, выглядит благородно и красиво. Более мелкий, чем у массивной доски, рисунок пола, подходит для небольших помещений, то есть для большинства современных квартир.

Но если добавить к сравнительно невысокой стоимости штучного паркета стоимость услуг паркетчиков, цена окажется примерно такой же, как цена хорошей массивной доски.

Гораздо доступнее — трёхполосная паркетная доска. После установки она выглядит как штучный паркет, уложенный вразбежку, не требует шлифования и покрытия лаком, а установить её почти так же просто, как ламинат.


Трёхполосная доска выглядит как штучный паркет, уложенный вразбежку.
Паркетная доска Ясень Сайма от Барлинек

Запомнить

Штучный паркет у́же и короче, чем массивная доска, но сделан из цельного массива.

Планки стыкуются с помощью шипов и пазов.

На рынке всё ещё есть предложения классического штучного паркета из одинаковых по длине дубовых или ясеневых планок, не покрытых лаком.

Есть и штучный паркет с финишной отделкой, иногда даже заботливо нарезанный под укладку французской ёлкой.

Установку штучного паркета лучше доверить профессионалам.

Если не хватает денег на штучный паркет, можно положить в комнате трёхполосную паркетную доску. Она выглядит как штучный паркет вразбежку, а с установкой можно справиться самостоятельно.

Паркетная доска — что это такое, ее достоинства, виды, конструкция

Паркетная доска — это напольный отделочный материал, внешне имитирующий массивную доску или штучный паркет. Паркетная доска полностью состоит из натурального дерева ценных пород.

Отличия от других видов напольных покрытий

Главное отличие паркетной доски — наличие замкового соединения и многослойность. У других видов паркета (массивной доски и инженерной доски) соединение шип-паз. Наличие замка позволяет укладывать паркетную доску без клея сразу на подложку, как ламинат. В отличие от инженерной доски, состоящей из фанеры и ценного слоя древесины, паркетная доска имеет промежуточный слой из поперечно уложенных плашек хвойных пород.

От классического штучного паркета паркетная доска отличается и строением, и размерами. Стандартный размер планки штучного паркета 30…90х150…500 мм. Стандартный размер паркетной доски 120…200х110…250 мм. Штучный паркет, в отличие от паркетной доски целиком состоит из ценной породы. При этом он, как правило, не имеет покрытия.

В отличие от ламината, паркетная доска целиком состоит из натуральной древесины (за исключением доски тех брендов, которые изготавливают нижние слои из HDF). Сходства паркетной доски и ламината: наличие замка, простота в укладке, возможность “плавающей” укладки без приклеивания к основанию.

Достоинства и недостатки

Главным достоинством паркетной доски является ее полная готовность, достигаемая при фабричном изготовлении. Покупая паркетную доску, можно быть уверенным, что вам потребуется минимум сопутствующих материалов для её укладки и дальнейшей эксплуатации.

  • Паркетная доска самый простой в укладке материал из всех видов паркета. Справится с установкой доски сможет даже человек, не имеющий специальных знаний (при соблюдении всех требований к подготовке помещения и чернового пола).
  • Паркетная доска подходит для укладки на “теплый пол”. Может быть уложена “плавающим” способом, а затем, при необходимости, разобрана и уложена вновь в другом месте.
  • Паркетная доска — полностью натуральный материал, позволяющий наслаждаться экологичностью, теплотой и фактурой древесины.
  • Конструкция паркетной доски с перпендикулярными слоями делает её стабильным материалом, хорошо переносящим сезонные перепады влажности и температуры (в пределах нормы), а современные паркетные лаки и масла, нанесенные в заводских условиях, надежно защищают пол от повседневных механических воздействий.

К недостаткам паркетной доски относится её меньшая, по сравнению с паркетом из массива, износостойкость. Верхний слой из ценной древесины у паркетной доски довольно тонок (от 0,5 до 4 мм), его легче продавить тяжелыми предметами и вряд ли удастся отреставрировать, не меняя планку целиком.

  • Натуральное дерево — капризный материал, поэтому нужно избегать чрезмерного увлажнения или сухости паркетной доски, химических и тепловых воздействий.
  • Ограниченные возможности по реставрации этого напольного покрытия. В отличие от массивной доски и штучного паркета, выдерживающих по нескольку циклеваний, паркетная доска, в зависимости от толщины ценного слоя, перенесет не больше 1-2.

Конструктивные особенности

Нижний слой паркетной доски — это цельный шпон хвойных (реже — лиственных) пород древесины. Средний слой — поперечные планки из хвойных пород (реже — березы). Верхний слой (рабочий, слой износа) — шпон ценной древесины: дуба, ясеня, тика, мербау, венге и многих других.

Классическая трехслойная структура паркетной доски позволяет ей сохранять свои размеры в широком диапазоне влажности.

Существуют вариации классической структуры, наиболее известным из которых является использование в качестве среднего слоя вместо ламелей хвойных пород высококачественной HDF-плиты. HDF плита состоит из натуральных компонентов (измельченных древесных волокон, смол и др.), она обладает бОльшей стабильностью, прочностью и шумоизоляционными свойствами, чем хвойные породы дерева, поэтому многие современные зарубежные бренды используют этот материал в производстве паркетной доски. Примеры — Par-ky, Meister, Kahrs, Hajnowka. За счет основания из плотной HDF плиты (950 кг/м3) коллекция Meister Lindura считается одной из самых твердых конструкций паркетной доски в мире.

Конструкция паркетной доски Meister: 1 — финишное покрытие; 2 — ценный слой древесины; 3 — HDF; 4 — шпон скандинавской ели

Финишная обработка и покрытие

Паркетная доска в заводских условиях получает дизайнерскую обработку (тонировка, термообработка, браширование, скобление) и финишное покрытие (лак, масло, УФ-масло, воск). Обработка влияет не только на внешний вид будущего пола, но также определяет:

  • Тактильные ощущения. Например, пол, покрытый маслом более теплый и шероховатый, чем покрытый лаком, брашированный или скобленый пол более фактурный не только на вид, но и на ощупь;
  • Прочность. От свойств лака и масла зависит прочность пола, его износостойкость. Как правило, производители наносят не менее 5 слоев лака на паркетную доску и используют метод УФ-отвержения для усиления его защитных свойств.
  • Долговечность. От свойство финишного покрытия зависит срок службы паркета. Например, Шведский производитель Kahrs дает 25-летнюю гарантию на покрытие при эксплуатации в жилых помещениях.

Фаска

На рабочей стороне паркетной доски с 2 или 4 сторон часто наносится фаска. Она не только подчеркивает натуральность, но и маскирует возможные перепады по высоте и образующиеся при перепадах влажности щели между отдельными досками.

Пример паркетной доски с фаской — паркетная доска ESSE.

Замковое соединение

Паркетная доска оснащается деревянным замком для продольного соединения планок между собой. Такой замок существенно облегчает установку паркета, а также повышает надежность готового пола, даже при укладке “плавающим” способом.

Замки разных производителей могут отличаться профилем и иметь разные названия (3G, 5G, CosLock, Masterclic Plus, Woodloc® 5S и др.), но все они призваны улучшить сцепление и упростить укладку паркета.

Помимо замкового соединения некоторые производители оснащают паркетную доску торцевыми фиксаторами (пример — паркетная доска Kahrs), который ускоряет укладку за счет возможности устанавливать последовательно каждую доску (а не собирать сначала целый ряд).

История

Изобретателем паркетной доски считается Густав Чер, шведский предприниматель, который в 1919 году придумал способ изготовления дверей из клееных ламелей, что значительно увеличивало их стабильность и срок службы. Спустя 22 года этот метод был применен им для изготовления деревянных напольных покрытий. Также Густаву Черу принадлежит идея покрытия паркетных досок лаком уже на этапе их изготовления, а не после укладки, как это делали до 1958 года.

Сегодня компания Kahrs (Черс) является одним из ведущих брендов по производству паркетной доски и символизирует европейскую индустрию напольных покрытий. При этом Kahrs продолжают совершенствоваться, предлагая новые продукты, обработки и способы сохранения окружающей среды.

Виды

Современный рынок предлагает огромное количество различных дизайнов паркетной доски. Однако можно выделить 2 основных принципа классификации паркетной доски по её внешним особенностям.

Полосность

Существует однополосная, двухполосная и трехполосная паркетная доска (не путайте с количеством слоев). То есть ценный слой может быть как цельным, так и набран из более узких и коротких планок ценной древесины в два или три ряда. Считается, что однополосная паркетная доска внешне имитирует массивную доску, а более узкие сегменты “двух и трехполоски” — штучный паркет, уложенный палубным способом. Реже встречается четырехполосная паркетная доска (пример — Дуб Forte от Boen), создающая своеобразный дизайн пола.

Однополосная (слева) и терхполосная (справа) паркетная доска одной породы

Трехполосная паркетная доска стоит, как правило, дешевле одно- и двухполосной. Это объясняется просто: при разрезании ценной древесины на узкие планки она расходуется гораздо экономнее, чем при разрезании на широкие.

Селекция

Селекция — это способ отбора ценной древесины по внешнему виду. Нет единой, принятой во всем мире системы классификации и отбора, каждый производитель придерживается одной из общеизвестных или собственной.

При производстве паркетной доски плашки ценной древесины сортируются машинным образом или вручную по наличию/отсутствию незначительных внешних изъянов (в случае серьезных изъянов древесина не используется): сучков, пятен, резких перепадов тона и т. п.

Для примера рассмотрим селекцию, принятую у большинства отечественных производителей. Она подразумевает три основных типа сортировки: рустик, натур и селект.

Селект — это высший сорт, подразумевающий отбор древесины с ровным рисунком без сучков и заболони, преимущественно радиального распила.

Натур — средний сорт, допускающий наличие незначительных перепадов по тону и наличие 1-2 сучков на каждые 20 см длины.

Кантри — средний сорт, наличие незначительных перепадов по тону, заболонь и наличие 1-2 сучков на каждые 5 см длины.

Рустик — низший сорт древесины, имеющей подчеркнутую фактуру, перепады по цвету и наличие сучков в пределах допустимых норм для паркета.

Следует учитывать, что нет четкой корреляции между сортировкой и ценой паркетной доски, т. к. внешние недостатки (наличие сучков, контрастность волокон) могут служить для создания неповторимого дизайна паркетной доски. Пример дорогой доски в селекции рустик — Дуб Savage Light от Haro.

Укладка

Основная статья: Укладка паркетной доски

При соблюдении условии соблюдения всех требований по установке, в том числе подготовке идеально ровного (допускается перепад не более 2 мм на каждые 2 м поверхности) и сухого основания, установка паркетной доски не вызывает трудностей, даже у непрофессионала.

  • Паркетная доска может быть уложена как “плавающим” способом, так и с помощью клея. В первом случае требуется дополнительная прослойка из пробки или другой подложки под паркет. Она выполняет шумоизоляционные и звукопоглощающие функции. Приклеивать паркетную доску можно как непосредственно к бетонному основанию, так и на фанеру.
  • Паркетную доску можно укладывать при наличии системы “теплый пол”, однако следует помнить, что это не относится к паркету из экзотических пород древесины (ятобы, мербау, махагона, американского ореха и др.), который плохо переносит сухость.
  • Перед укладкой планки распаковывают и раскладывают так, как они будут уложены. При этом планки с небольшими дефектами откладывают, чтобы использовать для обрезки.
  • При установке первого ряда гребень должен смотреть к стене, а паз — к укладчику. При установке второго ряда планки вводятся под углом в пазы первого и затем “защелкиваются” при опускании вниз, к полу.
  • По периметру помещения следует оставлять компенсационные зазоры в 6-15 мм, которые по завершению укладки закрываются плинтусами.
  • Следует избегать выстроенных в ряд стыков досок, выбирая в начале ряда планки разной длины.
  • При необходимости последний ряд паркетных досок обрезается вдоль с учетом расширительного зазора от стены.

Ремонт

Вопреки сложившемуся мнению, что паркетная доска не подлежит циклеванию и требует полной замены, это не так. Подобное справедливо лишь для шпонированной доски, имеющей очень тонкий слой ценной древесины в 1 и менее мм.

Большинство же продуктов с толщиной паркетного слоя в 1,5-2 мм можно, при повреждениях защитного лакового слоя, отшлифовать и вновь покрыть лаком. Однако следует помнить, что шлифовка не допускается, если паркетная доска была уложена “плавающим” способом (без приклеивания к основанию). Зато в этом случае можно запросто полностью заменить одну или несколько отдельных планок в месте, где паркет сильно изношен.

Демистификация формата файла Parquet | by Michael Berk

Формат файла по умолчанию для любого рабочего процесса обработки данных

Вы когда-нибудь использовали pd.read_csv() в pandas? Ну, эта команда могла бы работать примерно в 50 раз быстрее, если бы вы использовали паркет вместо CSV.

Фото Майка Бенна на Unsplash

В этом посте мы обсудим apache parquet, чрезвычайно эффективный и хорошо поддерживаемый файловый формат. Этот пост предназначен для специалистов по работе с данными (ML, DE, DS), поэтому мы сосредоточимся на концепциях высокого уровня и используем SQL для обсуждения основных концепций, но ссылки на дополнительные ресурсы можно найти в посте и в комментариях.

Без лишних слов, вперед!

Паркет Apache — это формат файлов с открытым исходным кодом, обеспечивающий эффективное хранение и высокую скорость чтения. Он использует гибридный формат хранения, в котором последовательно хранятся фрагменты столбцов, что обеспечивает высокую производительность при выборе и фильтрации данных. Помимо надежной поддержки алгоритмов сжатия (snappy, gzip, LZO), он также предоставляет несколько хитростей для уменьшения числа сканирований файлов и кодирования повторяющихся переменных.

Если вам важна скорость, обратите внимание на паркет.

Хорошо, давайте немного замедлимся и поговорим о паркете на простом английском языке.

1 — Проблема хранения данных

Допустим, мы — инженеры данных. Мы стремимся создать архитектуру данных, которая облегчит онлайн-аналитические процессы ( OLAP ), которые представляют собой просто выборочные запросы, ориентированные на анализ данных. Некоторыми примерами функций данных, оптимизированных в среде OLAP, являются исследовательский анализ данных или наука о принятии решений.

Но как хранить наши данные на диске?

Рисунок 1: пример преобразования двумерной таблицы в двоичную. Изображение автора.

Ну, есть много соображений, когда мы думаем о том, является ли наше преобразование хорошим или плохим , но для рабочих процессов OLAP нас в основном интересуют два…

  • Скорость чтения : насколько быстро мы можем получить доступ и декодировать соответствующую информацию из двоичных файлов
  • Размер на диске : сколько места требуется нашему файлу в двоичном формате

Обратите внимание, что существуют другие критерии успеха алгоритма сжатия файлов, такие как скорость записи и поддержка метаданных, но мы просто сосредоточимся на двух вышеупомянутых сейчас.

Итак, как работает паркет по сравнению с CSV-файлом? Занимает на 87 % меньше места и выполняет запросы в 34 раза быстрее (1 ТБ данных, хранилище S3) — src

2 — Основные функции Parquet

Но почему паркет настолько эффективнее, чем CSV и другие популярные форматы файлов? Первый ответ — схема хранения…

2.1 — Гибридная схема хранения

Когда мы преобразуем двумерную таблицу в последовательность нулей и единиц, мы должны тщательно продумать оптимальную структуру. Должен ли быть написан первый столбец, затем второй, затем третий? Или мы должны последовательно хранить строки?

Традиционно существует три основных макета, которые преобразуют нашу двумерную таблицу в 1:

  1. На основе строк: последовательно хранимых строк (CSV).
  2. На основе столбцов: последовательно хранить столбцы (ORC).
  3. Гибрид-база: последовательно хранить куски столбцов (Паркет).

Мы можем увидеть графическое представление каждого из этих форматов на рисунке 2.

Рисунок 2: 3 основных типа хранения. Изображение автора.

Теперь гибридные макеты действительно эффективны для рабочих процессов OLAP, поскольку они поддерживают как проекцию, так и предикаты.

Проекция — это процесс выбора столбцов — вы можете думать о нем как о операторе SELECT в SQL-запросе. Проекция лучше всего поддерживается макетом на основе столбцов. Например, если мы хотим прочитать первый столбец таблицы, используя макет на основе столбцов, мы можем просто прочитать первые n индексов в нашем двоичном файле, десериализовать их и представить пользователю. Довольно эффективно, правда?

Предикаты — это критерии, используемые для выбора строк — вы можете думать об этом как о Предложение WHERE в SQL-запросе. Предикаты лучше всего поддерживаются хранилищем на основе строк. Если нам нужны все строки в соответствии с некоторыми критериями, такими как Int >= 2 , мы можем просто упорядочить нашу таблицу по Int (по убыванию), сканировать до тех пор, пока наши критерии не будут удовлетворены, и вернуть все строки выше этой недопустимой строки.

В обоих этих сценариях мы стремимся пройти как можно меньшую часть файла . А поскольку наука о данных часто требует подмножества как строк, так и столбцов, гибридная структура хранилища дает нам нечто среднее между столбцовыми и строковыми форматами файлов.

Прежде чем двигаться дальше, важно отметить, что паркет часто называют столбчатым форматом. Однако из-за того, что он хранит фрагменты столбцов, как показано в нижней части рисунка 2, гибридная схема хранения является более точным описанием.

Отлично! Поэтому, если мы хотим получить данные, мы можем просто хранить последовательные фрагменты столбцов, и обычно дают очень хорошую производительность. Но масштабируется ли этот метод?

2.2 — Метаданные паркета

Ответ — твердое «да». Parquet использует метаданные, чтобы пропускать части наших данных, которые могут быть исключены в соответствии с нашим предикатом.

Рис. 3. Гибридное преобразование схемы хранения из двухмерной в одномерную. Изображение автора.

Взяв пример таблицы на рисунке 3, мы видим, что размер нашей группы строк равен 2, что означает, что мы сохраняем 2 строки данного столбца, 2 строки следующего столбца, 2 строки третьего столбца и так далее.

После того, как у нас закончились столбцы, мы переходим к следующему набору строк. Обратите внимание, что в приведенной выше таблице всего 3 строки, поэтому в последней группе строк будет только 1 строка.

Теперь предположим, что мы фактически храним 100 000 значений в наших группах строк вместо 2. Если мы попытаемся найти все строки, в которых наши Столбец Int имеет заданное значение (т. е. предикат равенства), в худшем случае будет сканирование каждой строки в таблице.

Рисунок 4: пример того, как паркет обрабатывает предикаты для групп строк. Изображение автора.

Parquet разумно решает эту проблему, сохраняя значения max и min для каждой группы строк, что позволяет нам пропускать целые группы строк, как показано на рисунке 4. Но это еще не все! Поскольку паркет часто записывает множество файлов .parquet в один каталог, мы можем просмотреть метаданные столбца для всего файла и определить, следует ли его сканировать.

Включив некоторые дополнительные данные, мы можем пропустить фрагменты наших данных и значительно увеличить скорость запросов. Подробнее см. здесь.

2.3 — Структура файла Parquet

Итак, мы намекнули, как данные преобразуются из двумерного формата в одномерный, но как устроена вся файловая система?

Ну, как упоминалось выше, паркет может записать много файлов .parquet за одну запись. С небольшими наборами данных это проблема, и вам, вероятно, следует перераспределить свои данные перед записью. Однако для больших наборов данных разбиение данных на несколько файлов может значительно повысить производительность.

В целом паркет имеет следующую структуру. Давайте рассмотрим каждый из них по очереди…

Root > Parquet Files > Row Groups > Columns > Data Page

Во-первых, наш корень файла — это просто каталог, который содержит все. Внутри корня у нас есть много отдельных .parquet файлов , каждый из которых содержит раздел наших данных. Один файл паркета состоит из множества групп строк , а одна группа строк содержит множество столбцы . Наконец, в наших столбцах есть страницы данных , которые фактически содержат необработанные данные и некоторые соответствующие метаданные.

Мы можем видеть упрощенное представление одного файла .parquet на рисунке 4 ниже.

Рисунок 4: Слои иерархической структуры паркета в последовательном порядке. Изображение автора.

Если вам интересны подробности, вот документация. Уровни повторения и определения также необходимы для полного понимания того, как работает страница данных, но это лишь некоторые бонусы.

3 — Дополнительные оптимизации

С момента своего появления в 2013 году паркет стал намного умнее. Базовая структура в основном не изменилась по сравнению с вышеуказанным форматом, но было добавлено множество интересных функций, повышающих производительность для определенных типов данных.

Давайте рассмотрим несколько примеров…

3.1 — В моих данных много повторяющихся значений!

Решение: кодирование длины цикла (RLE)

Допустим, у нас есть столбец с 10 000 000 значений, но все значения равны 9.0007 0 . Чтобы сохранить эту информацию, нам просто нужно 2 числа: 0 и 10 000 000 — значение и количество повторений .

RLE делает именно это. Когда обнаруживается много последовательных дубликатов, паркет может кодировать эту информацию как кортеж, соответствующий значению и количеству. В нашем примере это избавило бы нас от хранения 9 999 998 чисел.

3.2 — Мои данные имеют очень большие типы!

Решение: кодирование словаря с упаковкой битов

Допустим, у нас есть столбец, содержащий названия стран, некоторые из которых очень длинные. Если бы мы хотели сохранить «Демократическая Республика Конго», нам понадобился бы строковый столбец, который может обрабатывать не менее 32 символов.

Кодирование по словарю заменяет каждое значение в нашем столбце небольшим целым числом и сохраняет сопоставление в метаданных нашей страницы данных. На диске наши закодированные значения упакованы побитно, чтобы занимать как можно меньше места, но когда мы читаем данные, мы все еще можем преобразовать наш столбец обратно в исходные значения.

3.3 — Я использую сложные фильтры для своих данных!

Решение: проекция и проталкивание предиката

В искровой среде мы можем избежать чтения всей таблицы в память с помощью проекции и проталкивания предиката. Поскольку операции искры оцениваются лениво, то есть они не выполняются до тех пор, пока мы не запросим данные, искра может извлекать наименьшее количество данных в память.

В качестве краткого напоминания, предикаты подмножеств строк и проекций подмножеств столбцов. Итак, если мы знаем, что нам нужны только несколько столбцов и подмножество строк, нам фактически не нужно считывать всю таблицу в память — она фильтруется во время чтения.

3.4 — У меня много разных данных!

Решение: Deltalake

Наконец, Deltalake — это инфраструктура «лазерного домика» с открытым исходным кодом, которая сочетает в себе динамическую природу озера данных со структурой хранилища данных. Если вы планируете использовать паркет в качестве основы хранилища данных вашей организации, дополнительные функции, такие как гарантии ACID и журналы транзакций, будут очень полезны.

Если вам нужно больше, вот отличный ресурс для новичков по deltalake.

Parquet — действительно эффективный формат файла для реального использования. Он очень эффективен для минимизации сканирования таблиц, а также сжимает данные до небольших размеров. Если вы специалист по обработке и анализу данных, паркет, вероятно, должен быть вашим предпочтительным типом файлов.

Спасибо за прочтение! Я напишу еще 11 статей, посвященных академическим исследованиям индустрии DS. Проверьте мой комментарий для ссылок на основной источник для этого поста и некоторые полезные ресурсы.

Понимание формата файла Parquet

Apache Parquet — популярная колонка формат файла хранилища, используемый системами Hadoop, например Pig, Искра и Улей. Формат файла не зависит от языка и имеет двоичное представление. Паркет используется для эффективно хранить большие наборы данных и имеет расширение

.parquet . Этот сообщение в блоге направлено на то, чтобы понять, как работает паркет и какие приемы он использует, чтобы эффективно хранить данные.

Основные характеристики паркета:

  • кроссплатформенный
  • это признанный формат файла, используемый многими системами
  • хранит данные в столбцах
  • хранит метаданные

Последние две точки обеспечивают эффективное хранение и запрос данных.

Хранилище столбцов

Предположим, у нас есть простой фрейм данных:

 tibble::tibble(id = 1:3,
              имя = с ("n1", "n2", "n3"),
              возраст = c(20, 35, 62))
#> # Блокнот: 3 × 3
#> возраст идентификатора имени
#>   
#> 1 1 n1 20
#> 2 2 п2 35
#> 3 3 п3 62
 

Если бы мы сохранили этот набор данных в виде файла CSV, то, что мы видим в терминале R зеркалируется в формате файлового хранилища.

Это хранилище строк . Это эффективен для файловых запросов, таких как

 SELECT * FROM table_name WHERE id == 2
 

Мы просто переходим ко второй строке и извлекаем эти данные. Это также очень легко чтобы добавить строки в набор данных — мы просто добавляем строку в конец файл. Однако, если мы хотим просуммировать данные в столбце age , то это потенциально неэффективен. Нам нужно определить, какое значение на каждая строка связана с age и извлеките это значение.

Паркет использует хранилище столбцов. В макетах столбцов данные столбцов хранятся последовательно.

 1 2 3
n1 n2 n3
20 35 62
 

При таком макете такие запросы, как

 SELECT * FROM dd WHERE id == 2
 

теперь неудобны. Но если мы хотим суммировать все эпохи, мы просто идем к третью строку и сложите числа.

Чтение и запись файлов паркета

В R мы читаем и записываем файлы паркета с помощью пакета {стрелка}.

 # install.packages("стрелка")
библиотека ("стрелка")
версия пакета ("стрелка")
#> [1] '6.0.1'
 

Чтобы создать файл паркета, мы используем write_parquet()

 # Используем набор данных пингвинов
данные (пингвины, пакет = "пальмерпингвины")
# Создаем временный файл для вывода
паркет = временный файл (fileext = ".parquet")
write_parquet (пингвины, раковина = паркет)
 

Чтобы прочитать файл, мы используем read_parquet() . Одно из преимуществ использования паркет, есть небольшие размеры файлов. Это важно при работе с большими наборы данных, особенно после того, как вы начнете учитывать стоимость облачных хранилище. Уменьшение размера файла достигается двумя способами:

  • Сжатие файлов. Это указывается через аргумент сжатия
    . в write_parquet() . По умолчанию быстрый .
  • Умное хранение значений (следующий раздел).

Используете ли вы профессиональные продукты Posit? Если да, ознакомьтесь с нашими управляемыми услугами Posit.


Parquet Encoding

Поскольку паркет использует столбцовое хранилище, значения одного и того же типа являются числовыми. хранятся вместе. Это открывает целый мир оптимизационных трюков, которые недоступны, когда мы сохраняем данные в виде строк, например. CSV-файлы.

Кодирование длины цикла

Предположим, что столбец содержит только одно значение, повторяющееся в каждой строке. Вместо того, чтобы хранить один и тот же номер снова и снова (как файл CSV), мы можем просто записать «значение X, повторенное N раз» . Это означает, что даже когда N становится очень большим, затраты на хранение остаются небольшими. Если бы у нас было больше чем одно значение в столбце, то мы можем использовать простую справочную таблицу. В паркет, это известно как кодировка

серий . Если у нас есть следующий столбец

 с(4, 4, 4, 4, 4, 1, 2, 2, 2, 2)
#> [1] 4 4 4 4 4 1 2 2 2 2
 

Это будет сохранено как

  • значение 4, повторенное 5 раз
  • значение 1, повторяется один раз
  • значение 2, сообщается 4 раза

Чтобы увидеть это в действии, давайте создадим простой пример, где символ повторяется несколько раз в столбце фрейма данных:

 x = data. frame(x = rep("A", 1e6))
 

Затем мы можем создать пару временных файлов для нашего эксперимента

 паркет = временный файл (fileext = ".parquet")
csv = временный файл (fileext = ".csv")
 

и записать данные в файлы

 arrow::write_parquet(x, сток = паркет, сжатие = "несжатый")
readr::write_csv(x, файл = csv)
 

Используя пакет {fs}, мы извлекаем размер

 # Также можно использовать file.info()
fs::file_info(c(паркет,csv))[ "размер"]
#> # Блокнот: 2 × 1
#> размер
#> 
#> 1 1014
#> 2 1,91 млн.
 

Мы видим, что файл паркета крошечный, тогда как файл CSV почти 2 МБ. На самом деле это 500-кратное сокращение файлового пространства.

Кодировка словаря

Предположим, у нас есть следующий вектор символов

 c("Jumping Rivers", "Jumping Rivers", "Jumping Rivers")
#> [1] «Прыгающие реки» «Прыгающие реки» «Прыгающие реки»
 

Если мы хотим сэкономить место, то можем заменить Jumping Rivers на номер 0 и иметь таблицу для сопоставления между 0 и Прыжки через реки . Это значительно уменьшит объем памяти, особенно для длинных векторов.

 x = data.frame(x = rep("Прыгающие реки", 1e6))
arrow::write_parquet(x, раковина = паркет)
readr::write_csv(x, файл = csv)
fs::file_info(c(паркет,csv))[ "размер"]
#>
# Блокнот: 2 × 1 #> размер #> #> 1 1,09 тыс. #> 2 14.31M

Дельта-кодирование

Это кодирование обычно используется вместе с метками времени. раз обычно хранятся в виде времени Unix, которое представляет собой количество секунд, прошедших с 1 января, 1970. Этот формат хранения не особенно полезен для люди, поэтому, как правило, это красиво напечатано, чтобы сделать его более привлекательным для нас. Например,

 (время = Sys.time())
#> [1] "2022-03-16 17:47:36 GMT"
некласс (время)
#> [1] 1647452856
 

Если у нас есть большое количество меток времени в столбце, один метод для уменьшение размера файла заключается в том, чтобы просто вычесть минимальную метку времени из всех ценности. Например, вместо хранения

 c(1628426074, 1628426078, 1628426080)
#> [1] 1628426074 1628426078 1628426080
 

мы будем хранить

 c(0, 4, 6)
#> [1] 0 4 6
 

с соответствующим смещением 1628426074 .

Другие кодировки

Паркет использует еще несколько приемов. Их GitHub страница дает полное представление.

Если у вас есть паркетная пилка, вы можете использовать паркет-мистер, чтобы исследовать кодировка, используемая в файле. Тем не менее, установка инструмента не тривиальна и занимает какое-то время.

Перо против паркета

Очевидный вопрос, который приходит на ум при обсуждении паркета, заключается в том, как это сравнивается с форматом пера. Перо оптимизировано для скорости, тогда как паркет оптимизирован для хранения. Также стоит отметить, что апачи Стрелка формат файла это перо.

Parquet против форматов RDS

Формат файла RDS, используемый readRDS()/saveRDS() и load()/save() . Это родной для R формат файла, который может быть прочитан только R. Преимущество использования RDS заключается в том, что он может хранить любые объекты R — среды, списки и функции.

Если нас интересуют исключительно прямоугольные структуры данных, т.е. данные кадров, то причины для использования файлов RDS

  • формат файла существует уже давно и вряд ли будет изменять. Это означает, что он обратно совместим
  • не зависит ни от каких внешних пакетов; просто база
  • р.

Преимущества использования паркета

  • размер файлов паркетных файлов немного меньше. Если вы хотите сравните размеры файлов, убедитесь, что вы установили сжатие = "gzip" в write_parquet() для честного сравнения.
  • паркетные пилки кроссплатформенные
  • в моих экспериментах паркетные пилки, как и следовало ожидать, слегка меньше. В некоторых случаях может оказаться полезной дополнительная экономия в размере 5%. это. Но, как всегда, это зависит от ваших конкретных вариантов использования.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *