Uma Proposta de Implementação de Álgebra de Workflows em Apache Spark no Apoio a Processos de Análise de Dados

The typical activity of a Data Scientist involves the implementation of various processes that characterize data analysis experiments. In these analyzes there is a need to execute several codes in different programming languages (Python, R, C, Java, and Scala) in different parallel and distributed processing environments. Depending on the complexity of the process and the numerous possibilities for distributed execution of these solutions, it may be necessary to spend a lot of energy on different implementations that take the Data Scientist away from his ultimate goal of producing knowledge from large volumes of data. In this context, this paper aims to support this difficulty by proposing the construction of a framework conceived from an algebraic approach that isolates the process modeling from the difficulty of optimally executing such workflows. The proposal presents a typical Extract Transform Load (ETL) workflow for performing data analysis and points to promising results in terms of representation and abstraction/isolation potential of the execution environment. Resumo. A atividade tı́pica de um Cientista de Dados envolve a implementação de diversos processos que caracterizam experimentos de análise de dados. Nestas análises há a necessidade de executar diversos códigos em diferentes linguagens de programação (Python, R, C, Java e Scala) em diferentes ambientes de processamento paralelo e distribuı́do. Dependendo da complexidade do processo e das inúmeras possibilidades para execução distribuı́da destas soluções, pode ser necessário gastar muito energia em diferentes implementações que afastam o Cientista de Dados do seu objetivo final, que é produzir conhecimento a partir dos grandes volumes de dados. Dentro deste contexto, este trabalho visa apoiar na solução de tal dificuldade ao propor a construção de um framework concebido a partir de uma abordagem algébrica que isola a modelagem do processo da dificuldade de executar, de modo otimizado, tais workflows. A proposta apresenta um workflow tı́pico de Extract Transform Load (ETL) para realização de análise de dados e aponta para resultados promissores em termos de representação e potencial de abstração/isolamento do ambiente de execução.

[1]  Michael J. Franklin,et al.  Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing , 2012, NSDI.

[2]  Marta Mattoso,et al.  A Survey of Data-Intensive Scientific Workflow Management , 2015, Journal of Grid Computing.

[3]  Joshua Zhexue Huang,et al.  Big data analytics on Apache Spark , 2016, International Journal of Data Science and Analytics.

[4]  Marta Mattoso,et al.  Chiron: a parallel engine for algebraic scientific workflows , 2013, Concurr. Comput. Pract. Exp..

[5]  Yogesh L. Simmhan,et al.  A survey of data provenance in e-science , 2005, SGMD.

[6]  Marta Mattoso,et al.  An algebraic approach for data-centric scientific workflows , 2011, Proc. VLDB Endow..

[7]  Mathias Weske,et al.  Business Process Management: A Survey , 2003, Business Process Management.

[8]  Kurt Hornik,et al.  The Comprehensive R Archive Network , 2012 .

[9]  Cláudio T. Silva,et al.  Provenance for Computational Tasks: A Survey , 2008, Computing in Science & Engineering.

[10]  Hans-Arno Jacobsen,et al.  D2WORM: A Management Infrastructure for Distributed Data-centric Workflows , 2015, SIGMOD Conference.

[11]  Joseph K. Bradley,et al.  Spark SQL: Relational Data Processing in Spark , 2015, SIGMOD Conference.

[12]  Douglas C. Schmidt,et al.  Object-oriented application frameworks , 1997, CACM.

[13]  Felix Naumann,et al.  SOFA: An extensible logical optimizer for UDF-heavy data flows , 2015, Inf. Syst..

[14]  Ian J. Taylor,et al.  Workflows and e-Science: An overview of workflow system features and capabilities , 2009, Future Gener. Comput. Syst..