Integrating Pig and Stratosphere

MapReduce is a wide-spread programming model for processing big amounts of data in parallel. PACT is a generalization of MapReduce, based on the concept of Parallelization Contracts (PACTs). Writing efficient applications in MapReduce or PACT requires strong programming skills and in-depth understan...

Full description

Bibliographic Details
Main Author: Kalavri, Vasiliki
Format: Others
Language:English
Published: KTH, Skolan för informations- och kommunikationsteknik (ICT) 2012
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-98786
id ndltd-UPSALLA1-oai-DiVA.org-kth-98786
record_format oai_dc
spelling ndltd-UPSALLA1-oai-DiVA.org-kth-987862013-01-08T13:52:14ZIntegrating Pig and StratosphereengKalavri, VasilikiKTH, Skolan för informations- och kommunikationsteknik (ICT)2012MapReduce is a wide-spread programming model for processing big amounts of data in parallel. PACT is a generalization of MapReduce, based on the concept of Parallelization Contracts (PACTs). Writing efficient applications in MapReduce or PACT requires strong programming skills and in-depth understanding of the systems’ architectures. Several high-level languages have been developed, in order to make the power of these systems accessible to non-experts, save development time and make application code easier to understand and maintain. One of the most popular high-level dataflow systems is Apache Pig. Pig overcomes Hadoop’s oneinput and two-stage dataflow limitations, allowing the developer to write SQL-like scripts. However, Hadoop’s limitations are still present in the backend system and add a notable overhead to the execution time. Pig is currently implemented on top of Hadoop, however it has been designed to be modular and independent of the execution engine. In this thesis project, we propose the integration of Pig with another framework for parallel data processing, Stratosphere. We show that Stratosphere has desirable properties that significantly improve Pig’s performance. We present an algorithm that translates Pig Latin scripts into PACT programs that can be executed on the Nephele execution engine. We also present a prototype system that we have developed and we provide measurements on a set of basic Pig scripts and their native MapReduce and PACT implementations. We show that the Pig-Stratosphere integration is very promising and can lead to Pig scripts executing even more efficiently than native MapReduce applications. Att skapa effektiva applikationer i MapReduce eller PACT kråver goda programmeringskunskaper och djup förståelse utav systemens arkitektur. Flera högnivå-språk har utvecklats för att göra de kraftfulla systemen tillgängliga för icke-experter, för att spara utvecklingstid och för att göra applikationernas kod lättare att förstå. Ett utav de mest populära systemen för högnivå-dataflöden är Apache Pig. Pig överkommer Hadoops ett-input och tvånivå-begränsningar och låter utvecklaren skriva SQL-liknande skript. Dock är Hadoops begränsningar fortfarande närvarande i backend-systemet och lägger till ett synligt tillägg till exekutionstiden. Pig är för nuvarande implenterat ovanpåHadoop, dock har det designats för att vara modulärt och oberoende utav exekutionsmotorn. I det här exjobbs-projektet presenterar vi integration utav Pig med ett annat framework för parallel dataprocessering, Stratosphere. Vi visar att Stratosphere har önskade egenskaper som signifikant förbättrar Pigs prestanda. Vi presenterar en algoritm som översätter Pig Latin-skript till PACT-program som can köras påNepheleexekutionsmotorn. Vi presenterar ocksåett prototypsystem som vi har utvecklat och vi bidrar med mätningar utav ett set av grundläggande Pigskript och deras MapReduce och Pact-implementationer. Vi visar att Pig-Stratosphere-integrationen är väldigt lovande och kan leda till att Pigskript exekuteras mer effektivt än MapReduce applikationer. Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-98786application/pdfinfo:eu-repo/semantics/openAccess
collection NDLTD
language English
format Others
sources NDLTD
description MapReduce is a wide-spread programming model for processing big amounts of data in parallel. PACT is a generalization of MapReduce, based on the concept of Parallelization Contracts (PACTs). Writing efficient applications in MapReduce or PACT requires strong programming skills and in-depth understanding of the systems’ architectures. Several high-level languages have been developed, in order to make the power of these systems accessible to non-experts, save development time and make application code easier to understand and maintain. One of the most popular high-level dataflow systems is Apache Pig. Pig overcomes Hadoop’s oneinput and two-stage dataflow limitations, allowing the developer to write SQL-like scripts. However, Hadoop’s limitations are still present in the backend system and add a notable overhead to the execution time. Pig is currently implemented on top of Hadoop, however it has been designed to be modular and independent of the execution engine. In this thesis project, we propose the integration of Pig with another framework for parallel data processing, Stratosphere. We show that Stratosphere has desirable properties that significantly improve Pig’s performance. We present an algorithm that translates Pig Latin scripts into PACT programs that can be executed on the Nephele execution engine. We also present a prototype system that we have developed and we provide measurements on a set of basic Pig scripts and their native MapReduce and PACT implementations. We show that the Pig-Stratosphere integration is very promising and can lead to Pig scripts executing even more efficiently than native MapReduce applications. === Att skapa effektiva applikationer i MapReduce eller PACT kråver goda programmeringskunskaper och djup förståelse utav systemens arkitektur. Flera högnivå-språk har utvecklats för att göra de kraftfulla systemen tillgängliga för icke-experter, för att spara utvecklingstid och för att göra applikationernas kod lättare att förstå. Ett utav de mest populära systemen för högnivå-dataflöden är Apache Pig. Pig överkommer Hadoops ett-input och tvånivå-begränsningar och låter utvecklaren skriva SQL-liknande skript. Dock är Hadoops begränsningar fortfarande närvarande i backend-systemet och lägger till ett synligt tillägg till exekutionstiden. Pig är för nuvarande implenterat ovanpåHadoop, dock har det designats för att vara modulärt och oberoende utav exekutionsmotorn. I det här exjobbs-projektet presenterar vi integration utav Pig med ett annat framework för parallel dataprocessering, Stratosphere. Vi visar att Stratosphere har önskade egenskaper som signifikant förbättrar Pigs prestanda. Vi presenterar en algoritm som översätter Pig Latin-skript till PACT-program som can köras påNepheleexekutionsmotorn. Vi presenterar ocksåett prototypsystem som vi har utvecklat och vi bidrar med mätningar utav ett set av grundläggande Pigskript och deras MapReduce och Pact-implementationer. Vi visar att Pig-Stratosphere-integrationen är väldigt lovande och kan leda till att Pigskript exekuteras mer effektivt än MapReduce applikationer.
author Kalavri, Vasiliki
spellingShingle Kalavri, Vasiliki
Integrating Pig and Stratosphere
author_facet Kalavri, Vasiliki
author_sort Kalavri, Vasiliki
title Integrating Pig and Stratosphere
title_short Integrating Pig and Stratosphere
title_full Integrating Pig and Stratosphere
title_fullStr Integrating Pig and Stratosphere
title_full_unstemmed Integrating Pig and Stratosphere
title_sort integrating pig and stratosphere
publisher KTH, Skolan för informations- och kommunikationsteknik (ICT)
publishDate 2012
url http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-98786
work_keys_str_mv AT kalavrivasiliki integratingpigandstratosphere
_version_ 1716531113286959104