Teknologian jakaminen

Flink window -liipaisin (Trigger) (2)

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Flink window -liipaisin (Trigger) (1)
Flink window -liipaisin (Trigger) (2)

Apache Flink on avoimen lähdekoodin virrankäsittelykehys rajoittamattomien ja rajattujen tietovirtojen käsittelyyn. Flinkin aikaikkunatoiminnassa triggeri on erittäin tärkeä käsite, joka määrittää milloin ikkuna tulee laskea ja tulokset tulostetaan. Liipaisimet määrittelevät ehdot, jolloin ikkuna on valmis käsiteltäväksi (eli kun laskelmat käynnistetään).
ikkunan tyyppi

  • aikaikkuna(Time Windows): Aikajakoon perustuvat ikkunat, kuten rullaavat aikaikkunat (Tumbling Time Windows) ja liukuvat aikaikkunat (Sliding Time Windows).
  • tapahtuman aikaikkuna(Tapahtuman aikaikkunat): Tapahtuman aikaleimoihin perustuva ikkuna, joka pystyy käsittelemään epäjärjestyksessä olevia tietoja.

Laukaista

Liipaisimia käytetään määrittämään ehdot, jolloin ikkuna on valmis laskentaa varten. Flink tarjoaa joitain sisäänrakennettuja laukaisimia ja antaa käyttäjille mahdollisuuden mukauttaa laukaisimia tarpeen mukaan.

Sisäänrakennettu liipaisin

  • ProcessingTimeTrigger: Käsittelyaikaan perustuva laukaisu, joka käynnistyy aina, kun määritetty aikaväli saavutetaan.
  • EventTimeTrigger : Tapahtuma-aikaan perustuva laukaisu, joka laukeaa, kun ikkunan päättymisaika saavuttaa. Tämä sopii tilattujen tai tilaamattomien tapahtuma-aikaisten tietovirtojen käsittelyyn.
  • CountTrigger: Elementtien määrään perustuva liipaisin, joka laukeaa, kun ikkunan elementtien määrä saavuttaa määritetyn kynnyksen.

Mukautettu laukaisin

Käyttäjät voivat luoda mukautettuja triggereitä ottamalla käyttöön Trigger-käyttöliittymän. Mukautetut liipaisimet voivat päättää, milloin käynnistävät ikkunalaskelmat monimutkaisen logiikan perusteella. Mukautettujen triggereiden on yleensä otettava käyttöön seuraavat menetelmät:

  • onElement(elementti, aikaleima, ikkuna, ctx): Kutsutaan, kun elementti lisätään ikkunaan.
  • onEventTime(aika, ikkuna, ctx, ulos): Kutsutaan, kun ikkunan tapahtumaaika saapuu.
  • onProcessingTime(aika, ikkuna, ctx, ulos): Kutsutaan, kun ikkunan käsittelyaika saapuu.
  • onMerge(other): Kutsutaan, kun kaksi ikkunaa yhdistetään (käytetään esimerkiksi istuntoikkunoissa).
  • voi yhdistää(): Ilmaisee, tukeeko liipaisin ikkunoiden yhdistämistä.

vaikutus

  • Triggerien päätehtävä on ohjata ikkunoiden laskenta-ajoitusta, mikä tekee Flinkin ikkunatoiminnoista joustavampia ja tehokkaampia. Valitsemalla sopivat triggerit voit optimoida streaminkäsittelysovellustesi suorituskyvyn ja resurssien käytön.

Esimerkki

Tässä on yksinkertainen esimerkki Flink-ikkunoiden ja laukaisimien käyttämisestä (olettaen, että Java API on käytössä):

DataStream