Detta dokument beskriver utmaningarna och erfarenheterna i utvecklingen av IBM Streams löpare för Apache Beam. Apache Beam växer fram som ett gemensamt ström programmeringsgränssnitt för flera datormotorer. Varje deltagande motor implementerar en löpare för att översätta Beam applikationer till motorspecifika program. Därför kan applikationer skrivna med Beam SDK utföras på olika underliggande ström datormotorer, med försumbar migration straff. IBM Streams är en allmänt använd plattform för streaming av företag. Den har en rik uppsättning kontakter och verktygssatser för enkel integrering av strömmande program med andra företagsprogram. Den stöder också ett brett spektrum av programmeringsspråk gränssnitt, inklusive Java, C++, Python, Stream Processing Language (SPL) och Apache Beam. Detta dokument fokuserar på våra lösningar för att effektivt stödja Beam programmering abstraktioner i IBM Streams löpare. Strålen organiserar data i diskreta händelsetidsfönster. Denna design, å ena sidan, stöder oordning data ankomster, men å andra sidan, tvingar löpare att upprätthålla fler tillstånd, vilket leder till högre utrymme och beräkning overhead. IBM Streams löpare lindrar detta problem genom att effektivt indexera beroende stater, sophämtning gamla nycklar och genomdriva buntstorlekar. Vi delar också prestandaproblem i Beam som skulle kunna påverka applikationer. Utvärderingar visar att IBM Streams löpare överträffar Flink löpare och Spark löpare i de flesta scenarier när du kör Beam NEXMark riktmärken. IBM Streams löpare finns tillgänglig för nedladdning från IBM Cloud Streaming Analytics servicekonsol. Referensformat för PVLDB:
Utvecklingen av löpare för IBM Streams beskrivs i REF.
Challenges and Experiences in Building an Efficient Apache Beam Runner For IBM Streams
{'venue': 'PVLDB', 'journal': 'PVLDB', 'mag_field_of_study': ['Computer Science']}