Summingbird är ett domänspecifikt språk med öppen källkod som implementerats i Scala och utformats för att integrera online och batch MapReduce beräkningar i ett enda ramverk. Summingbird program skrivs med hjälp av dataflöde abstraktioner såsom källor, sänkor, och butiker, och kan köras på olika utförande plattformar: Hadoop för batch bearbetning (via Skalning/Cascading) och Storm för online bearbetning. Olika utförandelägen kräver olika bindningar för dataflödesuttag (t.ex. HDFS-filer eller brevköer för källan) men kräver inga ändringar av programlogiken. Dessutom kan Summingbird arbeta i ett hybridbearbetningsläge som på ett transparent sätt integrerar batch- och onlineresultat för att effektivt generera aktuella aggregeringar över långa tidsperioder. Språket var utformat för att förbättra utvecklarens produktivitet och adressera smärtpunkter i att bygga analyslösningar på Twitter där samma kod ofta måste skrivas två gånger (en gång för batch bearbetning och igen för online-bearbetning) och på obestämd tid upprätthållas parallellt. Vår nyckelinsikt är att vissa algebraiska strukturer utgör den teoretiska grunden för att integrera batch- och onlinebearbetning på ett sömlöst sätt. Detta innebär att Simmingbird inför begränsningar för de typer av aggregeringar som kan utföras, även om vi i praktiken inte har funnit dessa begränsningar vara alltför restriktiva för ett brett spektrum av analysuppgifter på Twitter.
För online och offline integrerad bearbetning, Twitter föreslår också Summingbird REF, ett ramverk som integrerar batch bearbetning och online stream processing.
Summingbird: A Framework for Integrating Batch and Online MapReduce Computations
{'venue': 'PVLDB', 'journal': 'PVLDB', 'mag_field_of_study': ['Computer Science']}