Uma Proposta de Implementação de Álgebra de Workflows em Apache Spark no Apoio a Processos de Análise de Dados
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.
Referências
CRAN (2017). The comprehensive r archive network. Technical report, https://cran.rproject.org.
Deelman, E., Gannon, D., Shields, M., and Taylor, I. (2009). Workflows and e-Science: An overview of workflow system features and capabilities. Future Generation Computer Systems, 25(5):528–540.
Fayad, M. and Schmidt, D. C. (1997). Object-oriented application frameworks. Communications of the ACM, 40(10):32–38.
Freire, J., Koop, D., Santos, E., and Silva, C. T. (2008). Provenance for computational tasks: A survey. Computing in Science & Engineering, 10(3):11–21.
Jergler, M., Sadoghi, M., and Jacobsen, H.-A. (2015). D2worm: A Management Infrastructure for Distributed Data-centric Workflows. In Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data, pages 1427–1432, New York, NY, USA. ACM.
Liu, J., Pacitti, E., Valduriez, P., and Mattoso, M. (2015). A Survey of Data-Intensive Scientific Workflow Management. Journal of Grid Computing, 13(4):457–493.
Ogasawara, E., Dias, J., Oliveira, D., Porto, F., Valduriez, P., and Mattoso, M. (2011). An algebraic approach for data-centric scientific workflows. Proc. of VLDB Endowment, 4(12):1328–1339.
Ogasawara, E., Dias, J., Silva, V., Chirigati, F., de Oliveira, D., Porto, F., Valduriez, P., and Mattoso, M. (2013). Chiron: a parallel engine for algebraic scientific workflows. Concurrency and Computation: Practice and Experience, 25(16):2327–2341. 00042.
Rheinländer, A., Heise, A., Hueske, F., Leser, U., and Naumann, F. (2015). SOFA: An extensible logical optimizer for UDF-heavy data flows. Information Systems, 52:96– 125.
Salloum, S., Dautov, R., Chen, X., Peng, P. X., and Huang, J. Z. (2016). Big data analytics on apache spark. International Journal of Data Science and Analytics, pages 1–20.
SciPy (2017). Python-based ecosystem of open-source software for mathematics, science, and engineering. Technical report, https://www.scipy.org.
Silva, A. B., Porto, F., and Ogasawara, E. (2016). Identificação de Motifs em Agregações de Séries Espaço-Temporais de Mobilidade Urbana. In WTDBD, Salvador, BA.
Simmhan, Y. L., Plale, B., and Gannon, D. (2005). A survey of data provenance in escience. ACM Sigmod Record, 34(3):31–36.
Van Der Aalst, W. M., Ter Hofstede, A. H., and Weske, M. (2003). Business process management: A survey. In International conference on business process management, pages 1–12. Springer.
Zaharia, M., Chowdhury, M., Das, T., Dave, A., Ma, J., McCauley, M., Franklin, M. J., Shenker, S., and Stoica, I. (2012). Resilient distributed datasets: A fault-tolerant abstraction for in-memory cluster computing. In Proceedings of the 9th USENIX conference on Networked Systems Design and Implementation, pages 2–2.