perldoop
Execución eficiente de scripts Perl en clústeres Hadoop
De que trata Perldoop?
Perldoop é unha nova ferramenta desenvolvida por investigadores da Universidade de Santiago de Compostela (España) no marco do proxecto "High Performance Computing for Natural Language Processing -- HPCNLP". Esta ferramenta traduce automaticamente scripts Perl preparados para Hadoop aos seus equivalentes en Java, que se poden executar directamente nun clúster de Hadoop e melloran significativamente o seu rendemento.
Hadoop ofrece unha utilidade para executar aplicacións escritas en linguaxes distintas de Java, coñecida como Hadoop Streaming. O único requisito para utilizar esta ferramenta é que as aplicacións lean de stdin e escriban en stdout. Aínda que Hadoop Streaming é unha ferramenta moi útil, detectáronse importantes degradacións do rendemento ao utilizalo, en comparación co código Java para Hadoop. Só no caso de tarefas con gran intensidade computacional e un tamaño reducido de entrada/saída, o rendemento de Hadoop Streaming é ás veces mellor, debido ao uso dunha linguaxe de programación máis eficiente.
Polo tanto, a mellor opción en termos de rendemento é desenvolver aplicacións para Hadoop en Java. Non obstante, traducir código Perl a Java é unha tarefa longa e tediosa, especialmente cando as aplicacións conteñen moitas expresións regulares. Por este motivo, desenvolvemos a ferramenta Perldoop, que permite automatizar o proceso de tradución e aumentar o rendemento, a eficiencia e a produtividade.
O caso xeral de traducir automaticamente código Perl arbitrario ao seu equivalente en Java é un problema moi difícil, debido ás características de ambas as linguaxes. Cómpre sinalar que o noso obxectivo neste traballo non era desenvolver unha ferramenta potente que permitise traducir automaticamente a Java calquera código Perl existente, senón unha ferramenta sinxela e fácil de usar que recibise como entrada código Perl escrito para Hadoop Streaming e producise código Java preparado para Hadoop.
J. M. Abuin, J. C. Pichel, T. F. Pena, P. Gamallo and M. Garcia. "Perldoop: Efficient Execution of Perl Scripts on Hadoop Clusters", IEEE International Conference on Big Data, pp. 766-771, 2014.