Искрогаситель на трубу как сделать


Искрогаситель на дымоход - виды, устройство, пошаговая инструкция изготовления своими руками

Здесь вы узнаете:

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

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

Принцип работы

Принцип действия искрогасителя прост. Он базируется на основах физики. Диаметр устройства должен быть больше дымохода. Устройство и принцип работы искрогасителя на трубу дымохода:

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

Так как искрогаситель установлен снаружи сооружения, он всегда будет находиться в охлажденном состоянии.

Разновидности искрогасителей

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

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

  1. кожух – простейший вариант;
  2. дефлектор, дополнительно улучшающий тягу;
  3. жидкостный.

Искрогаситель-кожух

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


Искрогаситель-кожух

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

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

Искрогаситель-дефлектор

Этот тип искрогасителя на дымовую трубу имеет более сложную конструкцию.

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

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


Искрогаситель-дефлектор

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

Наиболее распространены дефлекторы:

  • ЦАГИ;
  • Вольперт;
  • Григоровича;
  • Н-образный;
  • Тарельчатый;
  • Вращающийся;
  • Флюгер.

Гидрофильтры

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


Водяной искрогаситель

Это сложная конструкция, в состав которой входят:

  1. дымовой колпак;
  2. корпус;
  3. система вентиляции;
  4. металлическая сетка;
  5. фильтры для жира;
  6. устройство для распыления воды;
  7. клапан для подачи воды;
  8. датчик давления;
  9. устройство для разделения дыма и воды;
  10. устройство для отвода грязной воды.

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

Пошаговое сооружение искрогасителя

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

Выбор модели и материалов

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


Если решено сделать искрогаситель, состоящий из крышки и металлической трубы, то здесь много времени не понадобится – все быстро и просто

Когда предстоит изготовить искрогаситель с функциями дефлектора, то нужно:

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

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

Также, если нет заклепочника, можно воспользоваться сварочным аппаратом. Главное не прожечь лишние отверстия в процессе соединения стыков.

Трубу следует выбирать такого же диаметра, как и сам дымоход. Ведь впоследствии искрогаситель будет надеваться на трубу дымохода

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

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

Лист нержавеющей стали можно выбирать цельный или перфорированный, в виде сеточки. Главное, чтобы ячейки были не более 5 мм

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

Металлическую сетку также лучше брать из нержавейки, отдав предпочтение той, у которой размер ячейки составляет 4-5 мм. Больший размер отверстий не так эффективен в борьбе с искрами, а слишком мелкие ячейки могут препятствовать свободному движению газов и дыма.


Оптимальный размер ячеек металлической сетки из нержавеющей стали – 3-5 мм. Если их размер меньше 1 мм, то лучше купить другую сетку

Изготовление прототипа искрогасителя

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

Когда на бумаге все детали вычерчены, следует добавить по краям по 1-2 см – это припуски для соединения частей деталей между собой.


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

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

Сборка изделия своими руками

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

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


Количество и наименование деталей зависит от модели, которую предстоит собирать – чем она проще, тем меньше всего понадобится

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

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


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

Когда собирается гаситель искр с функцией дефлектора, то сначала нужно соорудить сам дефлектор. После – в нижней части основания, на расстоянии 6 см от нижнего края верхнего стакана проделать дрелью отверстия для соединения с юбкой.

Деталь делают из листа нержавейки в форме тарелки с приподнятыми внешними краями.


Металлическая юбка или пластина в виде тарелки с загнутыми краями и отверстием посредине для установки на трубу дефлектора-искрогасителя

Иногда домашние мастера вместо сооружения гасителя искр, совершенствуют дымоход.

Виды манипуляций зависят от типа и формы трубы:

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

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

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

Установка и закрепление прибора

Когда работы по сборке искрогасителя завершены, предстоит последний этап – установка его на дымоход. Для этого понадобится забраться на крышу, а если высота трубы довольно большая, то предстоит пригласить помощника.


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

Для установки понадобится заклепочный механизм с заклепками или металлический хомут. Иногда можно встретить советы мастеров, предлагающих не морочить голову и просто приварить искрогаситель к трубе дымохода. Это плохой совет – по правилам пожарной безопасности этот элемент конструкции должен быть съемным.

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


Хомут позволяет плотно закрепить гаситель искр на трубе. Причем, его удобно снимать, если понадобится почистить сетку от гари и мусора

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

Простые схемы искрогасителей

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

Одна из самых простых схем, которые можно сделать – это заглушка, в которой высверлены отверстия. Очень важным аспектом в данном случае является грамотный выбор диаметра заглушки – ее сечение должно быть немного больше диаметра дымохода, на который она будет устанавливаться. Это требование обусловлено тем, что собранное приспособление надевается на трубу сверху.  «Как сделать сетку на трубу для камней в бане – теория и практика».

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

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

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

Другие конструкции искроуловителей

Иногда хозяева бани приспосабливаются другими методами улавливать вылетающие из дымохода искры. Наиболее распространены следующие методы:

  • Сверху на дымоход бани надевают кусок трубы с заваренным торцом. Сбоку на оголовке прорезают сваркой или сверлят отверстия. Через них будет выходить дым.
  • Простейшая конструкция для бани состоит из сетки, вваренной внутрь изголовка дымохода. Но такой вариант неудобен, так как со временем забитую сажей сетку придется вырезать для замены.
  • Если расположение бани находится в ветреном регионе, на оголовок дымохода можно установить качественный дефлектор. При отсутствии ветра таким дымоходом пользоваться нельзя из-за отсутствия тяги.
  • Проще всего своими руками сделать дымоход с коленами. Идущий по изгибам трубы дым отдаст дополнительное тепло внутри бани, и уменьшить количество вылетающих искр.

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

Как собрать искрогаситель, можно посмотреть в следующем видео.

Техническое обслуживание систем искроулавливания

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

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

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

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

Справочник по искрогасителю

: часто задаваемые вопросы Справочник по искрогасителю


Направляющая искрогасителя


Часто задаваемые вопросы


Общие вопросы по искрогасителю

Общего назначения

Локомотив

Мультипозиция Малый двигатель (MSE)


Общие вопросы по искрогасителю

Что такое искрогаситель?

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

А как насчет обновлений SAG?

SDTDC постоянно проводит испытания новых представленных искрогасителей. Центр будет нести ответственность за уведомление пользователей SAG о недавно прошедших квалификацию и номинальные запасные разрядники.SDTDC отправит информацию в соответствующий региональный и государственные учреждения для их распространения. Пользователи должны связаться с этими источниками для получения обновленной информации. Обновления SAG обычно отправляются через DG в июле и Декабрь.

Для быстрого ознакомления обновления следует вставлять шрифтом публикации в разрядник соответствующего типа. Эти новые квалифицированные ОПН будут включены в иллюстрации при перепечатке Руководств.
Вернуться к началу

Что насчет информации о перепечатке?

SDTDC определит, когда была собрана соответствующая информация, чтобы потребовать переиздание каждой публикации.Центр уведомит региональные и государственные офисы при наличии перепечатки. Ожидается, что повторная печать может Требуется в нечетные годы для многопозиционного двигателя (MSE) Руководство и по четным годам для общего назначения и Локомотив (GP&L) Руководство .
Вернуться к началу

Что мне делать с моделями, снятыми с производства?

Снятые с производства модели будут называться "Замечания.«
Вернуться к началу


Локомотив общего назначения (GP&L)

Что такое универсальное и Руководство по искрогасителю для локомотива?

Направляющая общего назначения и локомотивного искрогасителя является подборка информации, списков и иллюстраций соответствующих лицензий GP&L системы и двигатели искрогасителей, включая их идентификационную маркировку, дизайн и сборка.

Цель SAG - предоставить полевым инспекторам надлежащие информация, чтобы определить, была ли комбинация двигателя и выхлопной системы протестировано и одобрено Центром технологий и развития Сан-Димаса (SDTDC) соответствует Стандарту для искроулавливающих выхлопных систем.

SAG печатается в виде двух публикаций. Этот SAG охватывает Общее положение & Локомотив (GP&L) , а другой SAG охватывает ограничители Multiposition Small Engine (MSE) .

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

Использование SAG также показано в видео "Искрогасители и Предотвращение лесных пожаров »и может использоваться в качестве дополнительного инструмент инструкции. Видео содержит пять отдельных модулей под названием, "Введение, Малогабаритный двигатель общего назначения, внедорожник, и железная дорога ».

Две публикации SAG и видео можно заказать путем покупки или заявка, с:

Национальный межведомственный пожарный центр (NIFC)
Attn: Great Basin Cache, отдел снабжения
3833 S.Development Avenue
Boise, ID 83705
Факс: 208-387-5573
Счет будет выставлен в течение 30 дней с момента доставки.

Номера для заказа:
NFES 2363 - Объем направляющей искрогасителя для малых двигателей (MSE) 2, июнь 1997 г.
NFES 1363 - Руководство по искрогасителям общего назначения и локомотивным разрядникам (GP / LOCO) Том 1, апрель 1998 г.
NFES 2237 - Искрогасители и предотвращение лесных пожаров на суше, (видео) май 1998 г.
Вернуться к началу

Что такое искра общего назначения Разрядник?

Искрогасители общего назначения протестированы против USDA Forest Стандарт обслуживания 5100 фунтов или последняя редакция Автомобильного общества Инженеры (SAE) Рекомендуемая практика SAE J350.Любой из этих документов установить минимальные требования к производительности и обслуживанию однопозиционный искрогаситель общего назначения. Искрогаситель эффективность должна быть не менее 80% для всех расходов на холодном испытании. что соответствует 90 процентам на горячем двигателе.
Вернуться к началу

Что такое искрогаситель экранного типа?

Искрогасители экранного типа как определено лесной службой USDA Стандартные 5100 фунтов попадают в особую категорию.Они предназначены для использования на приложения для небольших двигателей. Все выхлопные продукты должны проходить через экран, с отверстиями размером 0,023 дюйма или меньше. эффективная вытяжная площадь экран ( общая площадь всех проемов экрана ) не менее 200 процент площади выхлопного отверстия двигателя при его наименьшем поперечном сечении. Экран материал должен быть термостойким и устойчивым к коррозии и обеспечивать не менее 100 часов срока службы. Изначально они подходят для всех должностей описано в разделе «Позиции приложений».
Вернуться к началу

Что такое «надстройка» Spark Разрядник?

" Приставка "Искрогасители " добавляются к существующей выхлопной системе глушителя. Обычно они используется на внедорожниках. Дополнительные искрогасители должны иметь метод для удаления скопившихся частиц углерода. Например, заглушка для очистки, стопорное кольцо, съемная крышка конца или съемный конец СК. Съемный конец очистки обычно крепится к глушителю с помощью удерживающей ленты и / или несколько винтов.Чтобы удалить скопившийся углерод частицы со съемным торцом, вся надстройка должна быть снимается, ослабив стопорную ленту или винты, чтобы вытряхнуть частицы углерода.
Вернуться к началу

Что такое приложение Позиции?

Позиции приложения состоят из четырех общих позиций - вертикальный, горизонтальный, перевернутый и многопозиционный. Приложение определяется положением впускной трубы независимо от основного корпуса положение или направление выпуска. Например, : Квалифицированные должности В список включены только протестированные. В некоторых случаях производитель может требовать другие позиции, но тестовая информация на данный момент ни поддерживает, ни опровергает такие претензии. Разрядник отклонен более чем на 60 градусов от его квалифицированного рабочее положение может не задерживать искры. Следовательно, ОПН на мобильное оборудование, кроме разрядников экранного типа, не должно устанавливаться более чем 45 градусов от квалифицированного положения. См. Столбец с пометкой «Appl. Поз.«
Вернуться к началу

Каков номинальный расход Разрядник?

Номинальный расход разрядника - расход испытательного газа в кубических футов в минуту, при котором соответствующее противодавление составляет 1 фунт на квадрат дюйм. Это максимальное желаемое противодавление для большинства четырехтактных циклов. Приложения. См. Столбец «Поток». Примечание: экран общего назначения Тип искрогасителя ограничен указанным номинальным расходом, 2 или 4 цикла, и лошадиных сил.
Вернуться к началу

Можно ли квалифицировать турбокомпрессоры как эффективные Искрогасители?

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

Как очистить разрядник?

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

А как насчет маркировки и маркировки?

На каждом ОПН должна быть нанесена постоянная маркировка модели производителя. обозначение номера и товарный знак или другое обозначение или производитель. Если возможна перевернутая установка, вход или выход также должны быть отмечен. Помимо вышеуказанной маркировки, устройства экранного типа должны иметь слова «Тип экрана» четко отпечатаны буквами размером 1/8 дюйма или больше.номер модели должен точно совпадать. Слова «Квалифицированный» или «Одобрено» - это , а не , а не означает, что устройство является квалифицированным разрядником.
Вернуться к началу

Как проверить искрогаситель общего назначения?

Стандарт на 5100 фунтов требует, чтобы каждый ОПН имел постоянную маркировку. с номером модели и названием производителя или торговой маркой. Модель номер должен точно совпадать. Идентификационный номер должен быть проштампован на металлическом корпусе. или на прикрепленной металлической пластине.Слова «Квалифицированный» или «Одобрено» - это , а не , и , а не указывают на то, что устройство является квалифицированным разрядником.

  1. Если обнаружена идентификация названия производителя и номера модели, затем обратитесь к списку «Квалифицированные и оцененные».
  2. Проверьте список «Квалифицированные и номинальные», чтобы установить, квалифицирован.
  3. Если нет в списке "Квалифицированные и оцененные", обязательно отметьте любые Информация об обновлении SAG, которую вы получили с момента печати вашего присутствует САГ.Отсутствие разрядника в этих списках свидетельствует о том, что разрядник не аттестован.
  4. После того, как ОПН был идентифицирован, перейдите к разделу чертежей и проверьте иллюстрацию искрогасителя на предмет точного совпадения на конфигурация, размеры и очистные устройства. Рисунок должен соответствовать искрогаситель, который вы проверяете.
  5. Предлагаемые инструменты для осмотра:
    1. Ручные инструменты для зачистки, отвертка и плоскогубцы
    2. Фонарик
    3. Проволочный стержень 1/8 дюйма или приклеить к щупу внутри ОПН, чтобы определить, стационарный вентилятор или лопатки на месте
    4. Рулетка
    5. 0.024-дюймовая проволочная сетка для определения размера экрана
  6. Убедитесь, что:
    1. Искрогаситель подходит для положения применения.
    2. Выхлопная система между двигателем и искрогасителем в хорошем состоянии. приказ.
    3. Разрядник должным образом обслуживается и при необходимости очищается.
    4. Выхлопная система без доработок.
  7. Более подробные инструкции доступны в видео NWCG «Искра. Ограничители и предотвращение лесных пожаров ».
  8. При использовании неквалифицированной системы искрогасителя следуйте политике вашего агентства. столкнулся.

Вернуться к началу

Список основных определений:

Частицы выхлопных газов - Все двигатели внутреннего сгорания производят выхлоп частицы, состоящие преимущественно из углерода, с загрязнениями. Эти частицы возникают из-за отложений, образующихся на внутренних поверхностях двигателя, или выхлопной системы и, в зависимости от их точного происхождения, может быть удален температуры выше 3000 ° F.В зависимости от характера загрязняет, эти частицы могут светиться, а иногда и гореть горение. При выбросе через выхлопную систему в атмосферу процесс горения может продолжаться или даже ускоряться во время полета. Такие частицы, если их диаметр превышает 0,023 дюйма и температура 1200 ° F способны воспламенить целлюлозные материалы при контакте.
Глушители - Опыт и испытания показали, что глушители в как правило, не подходят в качестве искрогасителей.Мало глушителей представлено на формальные тесты соответствуют требованиям 5100 фунтов или SAE J350. Однако правильно поддерживал глушители с перегородками, изготовленные по стандартам автомобильной промышленности, и установленные на автотранспортных средствах, кроме мотоциклов, принимаются к использование «на шоссе» и «бездорожье» в некоторых юрисдикциях. Исключение составляют специально отведенные места, где требуется искрогаситель на вездеходы. Прямоточные глушители, например, стеклопакеты без перегородок не приемлемы. Обратитесь к политике вашего агентства для получения дополнительной информации конкретные рекомендации.
Выхлопные системы - Выхлопная система состоит из коллектора ( на многоцилиндровых двигателях ), глушителя или искрогасителя на обоих, выхлопной трубы. между выхлопным отверстием цилиндра двигателя и концом выхлопной трубы. труба, открытая в атмосферу.
Выпускной коллектор - Камера, в которую выходит выхлоп от каждого из цилиндры двигателя собраны. Затем выхлоп выводится из коллектора. к глушителю или искрогасителю или к тому и другому.Большинство крупных локомотивных двигателей имеют искрогаситель, встроенный в выпускной коллектор. Маленький, одноцилиндровый двигатели не имеют коллекторов.
Модификация - Любая модификация или повреждение любой части системы в том виде, в котором она была представлена ​​в SDTDC для тестирования пустот квалификация искрогасителя на оборудовании. Модификации обычно состоят из снятия или повреждения деталей, замены выпускных отверстий, замены набивка из стекловолокна со стальной мочалкой, неправильный монтаж и байпасы.
Вернуться к началу

Локомотив

Каковы стандарты для искрогасителей локомотивного типа?

Искрогасители локомотивного типа испытываются в соответствии с последней редакцией Рекомендаций RP-557 Ассоциации американских железных дорог (AAR)
«Искрогасители для дизельных двигателей без турбонаддува, используемых в железнодорожных локомотивах», Общества инженеров автомобильной промышленности (SAE ) Рекомендуемые Практика J342, «Процедура испытания искрогасителя для двигателей большого размера», SAEJ997, «Углерод для испытания искрогасителя» и Стандарт лесной службы Министерства сельского хозяйства США 5100-1b, «Искрогасители для внутреннего применения. Двигатели внутреннего сгорания.«Эти стандарты и процедуры устанавливают минимальные требования к характеристикам и техническому обслуживанию искрогасителей локомотивного типа.

ВНЕШНИЕ РАЗЪЕМНИКИ предназначены для установки на выхлопной трубе локомотива или стеки. Они могут находиться внутри или снаружи моторного отсека. Для ОПН этого типа используются процедуры испытаний SAE J350 или Forest Service Standard 5100 фунтов.
ВНУТРЕННИЙ ЗАЩИТНИК или РАЗЪЕМНИКИ ТИПА используют коллектор двигателя и устанавливаются под профилем локомотива.
Разрядник этого типа прошел испытания в соответствии с рекомендациями SAE J342 или ARR, RP-557.
Вернуться к началу

Каковы процедуры проверки искрогасителей локомотивного типа?

  1. Найдите название производителя локомотива на раме локомотива под кабиной.
    Примечание:
    • Все новые локомотивы General Electric (GE) имеют турбонаддув.
    • Электровозы
    • Electro-Motive Division (HMD) могут быть как с турбонаддувом, так и без него, с глушителем и без него.
    • Вы будете время от времени осматривать старый локомотив другой марки. Процедуры проверки аналогичны. Определить если он с турбонаддувом или без него, и нужен ли разрядник.
  2. Если у него есть разрядник, поищите на корпусе название производителя и номер модели. разрядника. Их необходимо проштамповать на металлическом корпусе или на прикрепленной металлической пластине. Внутренние разрядники должны быть проштампованы в металлическом корпусе или на прикрепленной металлической пластине, прикрепленной к многообразие.
  3. Если идентификация установлена, проверьте список «Квалифицированные и оцененные».
  4. Если ОПН не может быть идентифицирован (т. Е. Отсутствует бирка), определите, является ли ОПН внутренним. разрядник (коллекторного типа) или внешний разрядник (обычно устанавливаемый на выхлопной трубе).
  5. Затем перейдите в раздел идентификации локомотива и проверьте иллюстрации конфигурации типа кузова, чтобы определить марку и возможности модели.
  6. Проверьте страницы «Квалифицировано и оценено», чтобы определить, соответствует ли он требованиям.(Примечание: два наиболее часто встречающихся являются FARR и HAPCO.)
Вернуться к началу

Как проверить разрядник локомотивного типа?

  1. Локомотивы с турбонаддувом
    Проверьте, нет ли отложений углерода на эдукторных трубах и выхлопной трубе (ограничитель не требуется).
    На локомотивах, оборудованных глушителем, вам необходимо снять или удалить эжектор. на проверку.
    ( Примечание : локомотив будет иметь одну вытяжную трубу.)
  2. Локомотивы без турбонаддува
    Проверьте правильность установки ограничителя.
    Разрядник должным образом очищен и обслуживается.
    Выхлопная система в хорошем состоянии.
    (Примечание: локомотив может иметь до четырех выхлопных отверстий и потребуется до четырех искрогасителей).
  3. Локомотивы с паровым двигателем
    Проверьте, нет ли на всей вытяжной трубе сетки, которая содержится в хорошем состоянии.
    Ознакомьтесь с правилами и положениями вашего агентства.
  4. Инструменты, необходимые для осмотра:
    Разные ручные инструменты
    Комбинезоны
    Перчатки
    Очки
    Фонарик
    Зеркало
    Контейнеры для сбора углеродных частиц
    Более подробные инструкции можно найти в публикации NWCG «Железнодорожная инспекция. Справочник »и видео NWCG« Искрогасители и предотвращение лесных пожаров ».
Вернуться к началу

Как определить искрогаситель локомотивного типа?

ВНЕШНИЙ ЗАЖИГАТЕЛЬ устанавливаются на выхлопную трубу обычного выпускного коллектора локомотива. Они идентифицируются по названию производителя и номеру модели.

ВНУТРЕННИЙ ЗАГЛУШИТЕЛЬ ИЛИ ЗАЖИГАТЕЛЬ ТИПА В КОЛЛЕКТОРЕ имеет семь основных вариантов корпуса, называемых типами от I до VD.
Каждый из этих типов телосложения может использовать одну или несколько из четырех конфигураций ног, называемых А-образной ногой, В-согнутой ногой, С-прямой ногой или D-короткой прямой ногой.См. Иллюстрации на следующих страницах. Квалифицированные внутренние разрядники могут быть перепроектированы как коллекторы, или они могут быть изначально спроектированы как коллекторы искрогасителей. Они могут иметь любые сочетание типа кузова и конфигурации ног
, как показано на следующих страницах и как указано в индивидуальной квалификации. Соответствующий номер модели будет указан на паспортной табличке искрогасителя
и соответствовать номерам чертежей, хранящихся в файле в SDTDC.
Вернуться к началу


Многопозиционный малый двигатель (MSE)

Что такое многопозиционный искрогаситель для малых двигателей?

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

Цель SAG - предоставить полевым инспекторам надлежащие информация, чтобы определить, была ли комбинация двигателя и выхлопной системы протестировано и одобрено Центром технологий и развития Сан-Димаса (SDTDC) соответствует Стандарту для искроулавливающих выхлопных систем.

SAG печатается в виде двух публикаций. Этот SAG охватывает Multiposition Small Engine (MSE) ОПН, а другие покрытия SAG Универсальный и локомотивный (GP&L) ОПН.

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

Использование SAG также показано в видео "Искрогасители и Предотвращение лесных пожаров »и может использоваться в качестве дополнительного инструмент инструкции.Видео содержит пять отдельных модулей под названием, "Введение, Малогабаритный двигатель общего назначения, внедорожник, и железная дорога ».

Две публикации SAG и видео можно заказать в порядке покупки или по запросу по адресу:

Национальный межведомственный пожарный центр (NIFC)
Attn: Great Basin Cache, отдел снабжения
3833 S. Development Avenue
Boise, ID 83705
Факс: 208-387-5573
Вам будет выставлен счет в течение 30 дней с момента доставки.

Номера для заказа:
НФЭС 2363 - Руководство по искрогасителям для многопозиционных двигателей малых двигателей (MSE), том 2, июнь 1997 г.
NFES 1363 - Руководство по искрогасителям общего назначения и локомотивы (GP / LOCO), том 1, апрель 1998 г.
NFES 2237 - Искрогасители и предотвращение Wild Land Fires, (видео) май 1998
Вернуться к началу

Что такое многопозиционный двигатель малого объема?

Мультипозиционный малый определяется Обществом автомобильной промышленности. Инженеры (SAE) рекомендуют использовать J335 как ручной внутренний двигатель внутреннего сгорания, работающий более чем в одном положении.Конфигурации MSE включают, например, такие устройства, как цепные пилы, триммеры для сорняков, кусторезы, воздуходувки, кусторезы и отрезные пилы.
Вернуться к началу

Как устроены многопозиционные малые двигатели Проверено?

Тестирование МСЭ проводится в соответствии с Обществом автомобильных инженеров (SAE) процедура J355. Это обеспечивает методы испытание для оценки возгорания выхлопных систем, используемых в MSE's.Эти методы включают испытания экранов, поверхностных и выхлопных газов. температуры. Экраны и системы крепления проверяются на наличие отверстий, чтобы превышает 0,023 дюйма. Поверхности и выхлопные газы проверяются во время работы MSE. работали в условиях оптимальной нагрузки. Температура не должна превышать 550 ° F для открытых поверхностей и 475 ° F для выхлопных газов.
Вернуться к началу

Как проверить многопозиционный малый Искрогаситель двигателя?

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

  1. Как только идентификация будет установлена, см. «Квалифицированный Список. »
  2. Если ОПН не может быть точно идентифицирован, используйте следующие процедура.
    1. ОПРЕДЕЛИТЬ марку и модель MSE искрогаситель Прикреплено к.
    2. ПРОВЕРИТЬ «Квалифицированный список» для получения конкретной информации на одобренных искрогасителях для данной марки и модели MSE.
    3. ОБЗОР «Чертежный разрез» для соответствия ОПН и проверьте описание.
  3. Если нет в списке "Квалифицированный", обязательно проверьте любое обновление SAG. информация, которую вы получили с момента печати вашего настоящего SAG. Отсутствие разрядника в этих списках указывает на то, что разрядник может не иметь был квалифицирован.
  4. После определения разрядника проверьте требования к компонентам. указаны в «Квалифицированном» списке.Затем перейдите в раздел рисования и проверьте иллюстрацию искрогасителя на предмет точного совпадения на конфигурация. Чертеж должен соответствовать проверяемому разряднику.
  5. Инструменты, необходимые для осмотра:
    1. Разные мелкие ручные инструменты для оператора, снимаемые или разбираемые на части искрогасители для проверки, в том числе отвертки с плоским и крестообразным наконечником, острогубцы и несколько типов комбинированных инструментов для цепных пил у местных дилеров.
    2. Фонарик
    3. 0.Проволочная сетка 024 дюйма для проверки размера экрана.
  6. Проверить выхлопную систему на наличие:
    1. Экран в хорошем состоянии, правильно установлен в держателе и без отверстий больше 0,023 дюйма.
    2. Состояние и наличие всех необходимых деталей в надлежащем состоянии. приказ.
    3. Проверьте конфигурацию на наличие необходимых крышек или экранов.
    4. Необходимое дополнительное оборудование, такое как руль, шип (-ы) бампера или цепь тормоза на месте.
    5. Любые модификации выхлопной системы или двигателя - недопустимые.
  7. Более подробные инструкции доступны в видео NWCG «Spark Ограничители и предотвращение лесных пожаров ".

Вернуться к началу

Процедура проверки цепных пил, изготовленных до 1978

Цепные пилы, изготовленные до 30 июня 1978 г., должны иметь все выхлопные газы проходят через сетку с отверстием не более 0,023 дюйма. Экран должен быть теплостойким и устойчивым к коррозии и выдерживать не менее 100 часов срока службы.

Многие производители предоставляют специальные искрогасители для своих марка и модель пил до 1978 года. С другой стороны, многие этого не делают, но они соответствует требованиям к искрогасителям с помощью нержавеющей стали общего назначения экран (0,023 дюйма), который разрешен только до 1978 г. цепные пилы, не указанные в SAG.

Это приемлемо для магазинов цепных пил и владельцев цепных пил по размеру и установить утвержденные защитные экраны только на пилы изготовлен до июня 1978 г.

Как вы определяете цепную пилу до 1978 года? Спросите оператора или позвоните в дилера с серийным номером.
Вернуться к началу

Список основных определений:

Частицы выхлопных газов - Все двигатели внутреннего сгорания производят выхлопные газы частицы, состоящие преимущественно из углерода, с загрязнениями. Эти частицы возникают из-за отложений, образующихся на внутренних поверхностях двигателя, или выхлопной системы и, в зависимости от их точного происхождения, может быть удален температуры выше 3000 ° F.В зависимости от характера загрязняет, эти частицы могут светиться, а иногда и гореть горение. При выбросе через выхлопную систему в атмосферу процесс горения может продолжаться или даже ускоряться во время полета. Такие частицы, если их диаметр превышает 0,023 дюйма и температура 1200 ° F способны воспламенить целлюлозные материалы при контакте.
Модификация - Любая модификация или повреждение любой части системы в том виде, в котором она была представлена ​​в SDTDC для тестирования пустот квалификация искрогасителя на оборудовании.Модификации обычно состоят из снятия или повреждения деталей, замены выпускных отверстий, замены набивка из стекловолокна со стальной мочалкой, неправильный монтаж и байпасы.

Вернуться к началу

.

Pipe в Spark

Оператор Pipe в Spark позволяет разработчику обрабатывать данные RDD с помощью внешних приложений. Иногда при анализе данных нам необходимо использовать внешнюю библиотеку, которая может быть написана не с использованием Java / Scala. Пример: математические библиотеки Фортрана. В этом случае оператор Spark's pipe позволяет нам отправлять данные RDD во внешнее приложение.

В этом посте мы сначала рассмотрим, как использовать оператор конвейера. Как только мы разберемся в использовании, мы увидим, как мы можем реализовать работу канала в обычных программах Scala.Эта реализация взята из реализации Spark.

Трубка в искре

Следующие шаги показывают, как использовать оператор трубы. Для начала мы создадим RDD из списка inmemory.

Шаг 1. Создайте СДР

  val data = List («привет», «привет», «как», «есть», «вы») val dataRDD = sc.makeRDD (data) // sc - это SparkContext  

Шаг 2. Создайте сценарий оболочки

Как только у нас будет RDD, мы передадим его скрипту оболочки. Давайте создадим файл с именем echo.sh , затем поместите следующий контент.

  #! / Bin / sh echo "Запуск сценария оболочки" пока читал LINE; делать эхо $ {LINE} сделано  

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

Шаг 3. Передача данных rdd в сценарий оболочки

Если у нас есть сценарий оболочки, мы можем передать RDD через этот сценарий. Убедитесь, что вы изменили переменную scriptPath в соответствии с путем к вашему файлу.

  val scriptPath = "/home/hadoop/echo.sh" val pipeRDD = dataRDD.pipe (scriptPath) pipeRDD.collect ()  

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

Реализация труб

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

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

  val proc = Runtime.getRuntime.exec (массив (команда))  

С каждым процессом связано три потока. Это stdin - стандартный ввод, stdout - стандартный вывод и stderr - стандартная ошибка. Важно фиксировать ошибки, возникающие в процессе. Итак, мы перенаправляем процесс stderr на java stderr.Это выполняется в отдельном потоке, так как эти потоки асинхронны по своей природе.

  новый поток ("stderr reader for" + команда) { override def run () { для (строка <- Source.fromInputStream (proc.getErrorStream) .getLines) System.err.println (строка) } } .start ()  

В приведенном выше коде мы читаем из proc.getErrorStream и передаем его в System.err

В качестве следующего шага мы создаем некоторые данные с помощью List. Затем мы передаем эти данные в proc.getOutputStream . Вывод в поток передается в стандартный поток ввода процесса.

  val lineList = List («привет», «как», «есть», «вы») новый поток ("stdin writer for" + команда) { override def run () { val out = новый PrintWriter (proc.getOutputStream) для (elem <- lineList) out.println (elem) out.close () } } .start ()  

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

  val outputLines = Источник.fromInputStream (proc.getInputStream) .getLines println (outputLines.toList)  

Мы собираем вывод путем чтения из proc.getInputStream . Вы можете получить доступ к полному коду на github.

Итак, теперь мы понимаем, как использовать канал и как он реализован.

.

Работа со столбцами Spark ArrayType

Столбцы

Spark DataFrame поддерживают массивы, которые отлично подходят для наборов данных произвольной длины.

В этом сообщении блога будут продемонстрированы методы Spark, которые возвращают столбцы ArrayType, описано, как создавать собственные столбцы ArrayType, и объяснено, когда использовать массивы в анализе.

Книга Beautiful Spark - лучший способ узнать о наиболее важных частях Spark, например о столбцах ArrayType. Книгу легко читать, и она поможет вам улучшить свои навыки игры в Spark.

Коллекции Scala

Scala имеет разные типы коллекций: списки, последовательности и массивы. Давайте быстро рассмотрим различные типы коллекций Scala, прежде чем переходить к коллекциям для анализа Spark.

Давайте создадим и отсортируем набор чисел.

  List (10, 2, 3) .sorted // Список [Int] = List (2, 3, 10) Seq (10, 2, 3) .sorted // Seq [Int] = List (2, 3, 10) Array (10, 2, 3) .sorted // Array [Int] = Array (2, 3, 10)  

List , Seq и Array немного отличаются, но обычно работают одинаково.Большинству программистов Spark не нужно знать, чем отличаются эти коллекции.

Spark использует массивы для столбцов ArrayType , поэтому в наших фрагментах кода мы будем в основном использовать массивы.

Разделение строки на столбец ArrayType

Давайте создадим DataFrame со столбцом name и строкой hit_songs , разделенной вертикальной чертой. Затем давайте воспользуемся методом split () для преобразования hit_songs в массив строк.

  val singersDF = Seq ( ("битлз", "помогите | эй, Джуд"), ("ромео", "эрес миа") ).toDF ("имя", "хит-песни") val actualDF = singersDF.withColumn ( "hit_songs", split (col ("hit_songs"), "\\ |") )  
  actualDF.show () + ------- + ---------------- + | имя | hit_songs | + ------- + ---------------- + | beatles | [помогите, эй, Джуд] | | ромео | [eres mia] | + ------- + ---------------- +  
  actualDF.printSchema () корень | - имя: строка (nullable = true) | - hit_songs: массив (nullable = true) | | - элемент: строка (containsNull = true)  

В этом примере подходит столбец ArrayType , потому что певец может иметь произвольное количество хитовых песен.Мы не хотим создавать DataFrame с hit_song1 , hit_song2 ,…, hit_songN столбцами.

Непосредственное создание столбца ArrayType

Давайте воспользуемся методом spark-daria createDF , чтобы напрямую создать DataFrame со столбцом ArrayType. См. Это сообщение в блоге для получения дополнительной информации о методе createDF .

Давайте создадим еще певцов DF с разными исполнителями.

  val singersDF = искра.createDF ( Список( ("Бибер", Массив ("малыш", "прости")), ("озуна", Массив ("преступник")) ), Список ( ("имя", StringType, истина), ("hit_songs", ArrayType (StringType, true), true) ) )  
  певцовDF.show () + ------ + ------------- + | имя | hit_songs | + ------ + ------------- + | Бибер | [детка, прости] | | узуна | [преступник] | + ------ + ------------- +  
  певцовDF.printSchema () корень | - имя: строка (nullable = true) | - hit_songs: массив (nullable = true) | | - элемент: строка (containsNull = true)  

Класс случая ArrayType создается с помощью elementType и флага containsNull ArrayType (StringType, true) , StringType - это elementType , а true - это флаг containsNull .

См. Документацию по классу здесь.

array_contains

Объект функций Spark предоставляет вспомогательные методы для работы со столбцами ArrayType . Метод array_contains возвращает true , если столбец содержит указанный элемент.

Давайте создадим массив из людей и их любимых цветов. Затем давайте используем array_contains , чтобы добавить столбец Like_red , который возвращает true, если человеку нравится красный цвет.

  val peopleDF = spark.createDF ( Список( ("боб", Массив ("красный", "синий")), ("Мария", Массив ("зеленый", "красный")), ("sue", Массив ("черный")) ), Список ( ("имя", StringType, истина), ("любимые_цветы", ArrayType (StringType, true), true) ) ) val actualDF = peopleDF.withColumn ( "Like_red", array_contains (col ("любимые_колоры"), "красный") )  
  actualDF.show () + ----- + --------------- + --------- + | name | favour_colors | like_red | + ----- + --------------- + --------- + | боб | [красный, синий] | правда | | мария | [зеленый, красный] | правда | | подать в суд | [черный] | ложь | + ----- + --------------- + --------- +  

взорвать

Давайте используем тот же DataFrame ранее и explode () , чтобы создать новую строку для каждого элемента в каждом массиве.

  val df = peopleDF.select ( col ("имя"), взорваться (col ("любимые_колоры")). as ("цвет") )  
  df.show () + ----- + ----- + | имя | цвет | + ----- + ----- + | боб | красный | | боб | синий | | Мария | зеленый | | мария | красный | | Сью | черный | + ----- + ----- +  

человекDF имеет 3 ряда, а df - 5 рядов. Метод explode () добавляет строки в DataFrame.

собирать_лист

Метод collect_list сворачивает DataFrame на меньшее количество строк и сохраняет свернутые данные в столбце ArrayType .

Давайте создадим DataFrame со столбцами letter1 , letter2 и number1 .

  val df = Seq ( («а», «б», 1), («а», «б», 2), («а», «б», 3), ("z", "b", 4), («а», «х», 5) ) .toDF ("буква1", "буква2", "число1") df.show ()  
  + ------- + ------- + ------- + | letter1 | letter2 | number1 | + ------- + ------- + ------- + | а | б | 1 | | а | б | 2 | | а | б | 3 | | z | б | 4 | | а | х | 5 | + ------- + ------- + ------- +  

Давайте воспользуемся методом collect_list () , чтобы удалить все строки с повторяющимися строками letter1 и letter2 в DataFrame и собрать все записи number1 в виде списка.

  df .groupBy ("буква1", "буква2") .agg (collect_list ("число1") как "число1") .show ()  
  + ------- + ------- + --------- + | письмо1 | письмо2 | number1s | + ------- + ------- + --------- + | а | х | [5] | | z | б | [4] | | а | b | [1, 2, 3] | + ------- + ------- + --------- +  

Мы видим, что number1s - это столбец ArrayType .

  df.printSchema корень | - letter1: строка (nullable = true) | - letter2: строка (nullable = true) | - number1s: массив (nullable = true) | | - элемент: целое число (containsNull = true)  

Функции массива с одним столбцом

Spark добавил массу полезных функций массива в 2.4 выпуск.

Мы начнем с функций для одного столбца ArrayType , а затем перейдем к функциям для нескольких столбцов ArrayType .

Начнем с создания DataFrame со столбцом ArrayType .

  val df = spark.createDF ( Список( (Массив (1, 2)), (Массив (1, 2, 3, 1)), (значение NULL) ), Список ( ("числа", ArrayType (IntegerType, true), true) ) )  
  df.show () + ------------ + | числа | + ------------ + | [1, 2] | | [1, 2, 3, 1] | | null | + ------------ +  

Давайте воспользуемся методом array_distinct () , чтобы удалить все повторяющиеся элементы массива в столбце nums .

  df .withColumn ("nums_distinct", array_distinct ($ "nums")) .Показать() + ------------ + ------------- + | nums | nums_distinct | + ------------ + ------------- + | [1, 2] | [1, 2] | | [1, 2, 3, 1] | [1, 2, 3] | | null | null | + ------------ + ------------- +  

Давайте воспользуемся array_join () , чтобы создать строку, разделенную вертикальной чертой, из всех элементов в массивах.

  df .withColumn ("nums_joined", array_join ($ "nums", "|")) .Показать() + ------------ + ----------- + | nums | nums_joined | + ------------ + ----------- + | [1, 2] | 1 | 2 | | [1, 2, 3, 1] | 1 | 2 | 3 | 1 | | null | null | + ------------ + ----------- +  

Давайте воспользуемся методом printSchema , чтобы убедиться, что столбец nums_joined является StringType .

  df .withColumn ("nums_joined", array_join ($ "nums", "|")) .printSchema () корень | - nums: массив (nullable = true) | | - элемент: целое число (containsNull = true) | - nums_joined: строка (nullable = true)  

Давайте используем array_max , чтобы получить максимальное значение из массивов.

  df .withColumn ("nums_max", array_max ($ "nums")) .Показать() + ------------ + -------- + | nums | nums_max | + ------------ + -------- + | [1, 2] | 2 | | [1, 2, 3, 1] | 3 | | null | null | + ------------ + -------- +  

Давайте используем array_min , чтобы получить минимальное значение из массивов.

  df .withColumn ("nums_min", array_min ($ "nums")) .Показать() + ------------ + -------- + | nums | nums_min | + ------------ + -------- + | [1, 2] | 1 | | [1, 2, 3, 1] | 1 | | null | null | + ------------ + -------- +  

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

  df .withColumn ("nums_sans_1", array_remove ($ "nums", 1)) .Показать() + ------------ + ----------- + | nums | nums_sans_1 | + ------------ + ----------- + | [1, 2] | [2] | | [1, 2, 3, 1] | [2, 3] | | null | null | + ------------ + ----------- +  

Давайте используем array_sort для сортировки всех массивов в порядке возрастания.

  df .withColumn ("nums_sorted", array_sort ($ "nums")) .Показать() + ------------ + ------------ + | числа | nums_sorted | + ------------ + ------------ + | [1, 2] | [1, 2] | | [1, 2, 3, 1] | [1, 1, 2, 3] | | null | null | + ------------ + ------------ +  

Spark 3 Функции массива

В

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

exists, forall, transform, aggregate и zip_with значительно упрощает использование столбцов ArrayType с собственным кодом Spark вместо использования UDF. Обязательно прочтите сообщение в блоге, в котором подробно обсуждаются эти функции, если вы используете Spark 3.

Общие функции массива с одним столбцом

Пропустите этот раздел, если вы используете Spark 3. Подход, описанный в этом разделе, необходим только для Spark 2.

Предположим, у вас есть массив строк и вы хотите проверить, начинаются ли все элементы в массиве с буквы c .Вот как можно выполнить эту проверку для массива Scala:

  Array ("сливки", "печенье"). Forall (_. PlaysWith ("c")) // истина Array ("taco", "clam"). Forall (_. StartWith ("c")) // false  

Вы можете использовать метод spark-daria forall () для запуска этого вычисления в Spark DataFrame со столбцом ArrayType .

  импорт com.github.mrpowers.spark.daria.sql.functions._ val df = spark.createDF ( Список( (Массив («сливки», «печенье»)), (Массив ("тако", "моллюск")) ), Список ( ("слова", ArrayType (StringType, true), true) ) ) df.withColumn ( "all_words_begin_with_c", forall [String] ((x: String) => x.startsWith ("c")). apply (col ("words")) ) .show ()  
  + ---------------- + ---------------------- + | слова | all_words_begin_with_c | + ---------------- + ---------------------- + | [крем, печенье] | правда | | [тако, моллюск] | ложь | + ---------------- + ---------------------- +  

Собственный API Spark не предоставляет доступ ко всем полезным методам сбора, предоставляемым Scala.Spark-daria использует определяемые пользователем функции для определения для всех и существует методов. Напишите мне или создайте вопрос, если вы хотите, чтобы в Spark-daria были добавлены какие-либо дополнительные UDF.

Функции с несколькими столбцами

Давайте создадим DataFrame с двумя столбцами ArrayType , чтобы мы могли опробовать встроенные функции массива Spark, которые принимают несколько столбцов в качестве входных данных.

  числа valDF = spark.createDF ( Список( (Массив (1, 2), Массив (4, 5, 6)), (Массив (1, 2, 3, 1), Массив (2, 3, 4)), (null, массив (6, 7)) ), Список ( ("nums1", ArrayType (IntegerType, true), true), ("nums2", ArrayType (IntegerType, true), true) ) )  

Давайте используем array_intersect , чтобы получить элементы, присутствующие в обоих массивах, без какого-либо дублирования.

  номеровDF .withColumn ("nums_intersection", array_intersect ($ "nums1", $ "nums2")) .Показать() + ------------ + --------- + ----------------- + | nums1 | nums2 | nums_intersection | + ------------ + --------- + ----------------- + | [1, 2] | [4, 5, 6] | [] | | [1, 2, 3, 1] | [2, 3, 4] | [2, 3] | | null | [6, 7] | null | + ------------ + --------- + ----------------- +  

Давайте используем array_union , чтобы получить элементы в любом массиве без дублирования.

  номеровDF .withColumn ("nums_union", array_union ($ "nums1", $ "nums2")) .show ()  
  + ------------ + --------- + --------------- + | nums1 | nums2 | nums_union | + ------------ + --------- + --------------- + | [1, 2] | [4, 5, 6] | [1, 2, 4, 5, 6] | | [1, 2, 3, 1] | [2, 3, 4] | [1, 2, 3, 4] | | null | [6, 7] | null | + ------------ + --------- + --------------- +  

Давайте использовать array_except , чтобы получить элементы, которые находятся в num1 , а не в num2 , без какого-либо дублирования.

  номеровDF .withColumn ("nums1_nums2_except", array_except ($ "nums1", $ "nums2")) .Показать() + ------------ + --------- + ------------------ + | nums1 | nums2 | nums1_nums2_except | + ------------ + --------- + ------------------ + | [1, 2] | [4, 5, 6] | [1, 2] | | [1, 2, 3, 1] | [2, 3, 4] | [1] | | null | [6, 7] | null | + ------------ + --------- + ------------------ +  

Разделить столбец массива на несколько столбцов

Мы можем разделить столбец массива на несколько столбцов с помощью getItem .Давайте создадим DataFrame со столбцом букв и и продемонстрируем, как этот единственный столбец ArrayType можно разделить на DataFrame с тремя столбцами StringType .

  val df = spark.createDF ( Список( (Массив ("a", "b", "c")), (Массив ("d", "e", "f")), (значение NULL) ), Список ( ("буквы", ArrayType (StringType, true), true) ) )  
  df.show () + --------- + | буквы | + --------- + | [a, b, c] | | [d, e, f] | | null | + --------- +  

В этом примере используются те же данные, что и в этом вопросе Stackoverflow.

Давайте используем getItem , чтобы разбить массив на col1 , col2 и col3 .

  df .Выбрать( $ "письма" .getItem (0) .as ("col1"), $ "письма" .getItem (1) .as ("col2"), $ "письма" .getItem (2) .as ("col3") ) .Показать() + ---- + ---- + ---- + | col1 | col2 | col3 | + ---- + ---- + ---- + | а | б | c | | d | е | f | | null | null | null | + ---- + ---- + ---- +  

Вот как мы можем использовать getItem с циклом.

  df .Выбрать( (От 0 до 3) .map (i => $ "письма" .getItem (i) .as (s "col $ i")): _ * ) .Показать() + ---- + ---- + ---- + | col0 | col1 | col2 | + ---- + ---- + ---- + | а | б | c | | d | е | f | | null | null | null | + ---- + ---- + ---- +  

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

  val numCols = df .withColumn ("размер_ букв", размер ($ "буквы")) .agg (max ($ "letter_size")) .голова() .getInt (0) df .Выбрать( (От 0 до numCols) .map (i => $ "letter" .getItem (i) .as (s "col $ i")): _ * ) .Показать() + ---- + ---- + ---- + | col0 | col1 | col2 | + ---- + ---- + ---- + | а | б | c | | d | е | f | | null | null | null | + ---- + ---- + ---- +  

Типы сложных искровых колонн

Spark поддерживает столбцы MapType и StructType в дополнение к столбцам ArrayType, описанным в этом сообщении.

Прочтите статью «Написание красивого кода Spark», чтобы получить подробный обзор различных сложных типов столбцов и того, как их следует использовать при создании архитектуры приложений Spark.

Заключительные мысли

Spark Столбцы ArrayType упрощают работу с масштабными коллекциями.

Освойте содержание этого блога, чтобы добавить мощный навык в свой набор инструментов.

.

Искрогаситель Трубка Глушитель Выхлопные трубы / Искрогаситель Грузовик Китай Выхлопная труба Глушитель Искрогаситель

Производитель, Торговая Компания

100% Скорость отклика
4,000+ для 8 транзакций

Транзакции поставщика осуществляются через Alibaba.com за последние 6 месяцев.

Скорость доставки в срок
.

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