Multitenant PrestoDB as a service

In recent years, there has been tremendous growth in both the volumes of data that is produced, stored, and queried by organizations. Organizations spend more money to investigate and obtain useful information or knowledge against terabytes and even petabytes of data. Large-scale data analysis is th...

Full description

Bibliographic Details
Main Author: Yedurupak, Aruna Kumari
Format: Others
Language:English
Published: KTH, Skolan för informations- och kommunikationsteknik (ICT) 2017
Subjects:
SQL
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-222359
Description
Summary:In recent years, there has been tremendous growth in both the volumes of data that is produced, stored, and queried by organizations. Organizations spend more money to investigate and obtain useful information or knowledge against terabytes and even petabytes of data. Large-scale data analysis is the key functionality provided by Big Data platforms. Previously, data platforms would get the information from unstructured data in the form of files, text, and videos. In recent times, the Hadoop stack has played a vital role in Big Data, becoming the defector open source software used to process and analyze Big Data. Hops is a Hadoop distribution developed by KTH and RISE SICS. Hops modifies the Hadoop stack by moving the meta-data for YARN and HDFS to NDB, an open-source in-memory distributed database. HopsWorks is the User Interface for Hops and provides support for multi-tenant users, as well as self-service, graphical access to frameworks such as Hadoop, Flink, Spark, Kafka, and Kibana. HopsWorks currently does not provide a SQL-on-Hadoop service, although work is ongoing for supporting Hive. Presto is one of the main SQL-on-Hadoop platform, but, currently, Presto does not provide multi-tenancy support for users. This thesis investigates providing multitenancy support to Presto with the help of HopsWorks, including both the security problem and the self-service UI requirements of HopsWorks. Presto is a distributed SQL query Engine which can run SQL queries against up to petabytes of data. As HopsWorks provides UI access to services, we decided to build our UI for Presto on an existing open-source UI for Presto, called Airpal, developed by Airbnb. This provided solution of the thesis divided into two functionalities. First one, maintain two separate Applications (HopsWorks and Airpal Applications) run by the help of two JVMs and maintain ProxyServlet to control traffic between them. Second one HopsWorks-Presto-service leverages HopsWorks access-control (Data owner and Data-scientist) and self-service security model. The evaluation of the thesis used qualitative approach by comparing HopsWorks-PrestoService with standalone PrestoDB and comparing HopsWorks-PrestoService with HopsWorks without Presto-Service. === De senaste åren, har det varit en avsevärd ökning vad gäller mängden av data som produceras, lagras och som används för analys av olika organisationer. Organisationer spenderar mer pengar för att undersöka och extrahera information och insikter i enorma datavolymer på flera terabyte eller petabyte. Storskalig dataanalys är en central funktionalitet som tillhandahålls av Big Data plattformar. I tidigare tillvägagångssätt hämtade data plattformaro-strukturerade data i form av filer, texter och videoklipp. I nutid, så har Hadoop-stacken spelat en kärnroll i Big Data, och blivit en viktig öppen källkod mjukvara som används för att processera och analysera Big Data. Hops är en Hadoop distribution som har utvecklats av KTH och RISE SICS. Hops tillför ändringar till Hadoop stacken genom att migrera metadata för YARN och HDFS till NDB, en öppen källkod i-minnet distribuerad databas. HopsWorks är ett användargränssnitt för Hops och tillför stöd för flera användare, med tillgång till självservice och tjänster såsom Hadoop, Flink, Spark, Kafka och Kibana. HopsWorks stödjer i nuläget inte någon SQL på Hadoop tjänst, även om arbete utförs i nuläget för att integrera Hive. Presto är en av de mest populära SQL på Hadoop plattformarna, men i nuläget så stödjer inte Presto flera användare. Den här uppsatsen utreder stöd för flera användare i Presto med hjälp av HopsWorks, både vad gäller säkerhetsproblem och självservice i HopsWorks. Presto är en distribuerad SQL frågespråk motor som kan ställa frågor mot upp till petabyte med data. Eftersom HopsWorks tillhandahåller ett gränssnitt för att interagera med tjänster, beslutade vi oss att bygga ett gränssnitt för Presto på det existerande öppen källkod gränssnittet för Presto, vid namn AirPal, utvecklat av Airbnb. Den utvecklade lösningen för uppsatsen kan delas in i två delar. Den första delen, att hantera två separata applikationer (HopsWorks och AirPal) som kör med hjälp av två Java virtuella maskiner och använder en ProxyServlet för att kontrollera trafik mellan dom. Den andra, HopsWorks-Presto-service som tillhandahåller HopsWorks åtkomstkontroll (Dataägare och Dataforskare) och en självservice säkerhetsmodell. Utvärderingen i uppsatsen är att genom ett kvalitativt tillvägagångssätt jämföra HopsWorks-Presto-service med en fristående PrestoDB och jämföra HopsWorks-Presto-service med HopsWorks utan Presto-service.