Continuando la serie de posts de Azure Data Factory y extracción de datos, hoy vamos a ver como Extraer texto de un PDF con un custom extractor, usando Azure Data Factory y Azure Data Lake Analytics. En mi caso, como he dicho, voy a crear un extractor de texto desde un PDF, pero podríamos implementar cualquier extractor que deseemos.

Anteriormente, en otro post, vimos cómo usar unas dlls como custom extractor en Azure Data Lake Analytics. Pues hoy vamos a hacer lo mismo, pero esta vez las dlls las vamos a generar nosotros con un proyecto propio de librería de C#.

Comenzando

Para empezar, vamos a crear un proyecto de tipo class library (For U-SQL Application):

Lo vamos a llamar PDFExtractor:

Creamos una clase Extractor, y vamos a tener el siguiente código:

Nos va a hacer falta instalar el nuget de iTextSharp, para poder hacer la extracción del texto de un PDF.

Compilamos el proyecto y ya tendremos las dll’s generadas.

A continuación, creamos un proyecto de tipo U-SQL Database Project:

Añadimos como referencia el proyecto de librería creado anteriormente y añadimos un nuevo fichero de tipo Assembly script:

En la vista de diseño elegimos nuestra librería y marcamos la opción de crear si no existe, y añadimos a mano también la línea para registrar las dll de itextsharp:

Publicando

Ahora procederemos a publicar el proyecto, para ello, botón derecho y deploy. Tendremos que elegir la cuenta de ADLA en la que queremos publicar:

Podemos ver el resultado de la ejecución del job:

Si vamos al portal de Azure al catalogo PEDRODEMOADLDB, podremos ver las dlls nuevas registradas:

Ahora vamos a definir el script U-SQL para la extracción de texto del PDF:

Subimos el U-SQL script a la cuenta de almacenamiento en la que almacenamos estos scripts:

Subimos un pdf de ejemplo a la carpeta de catalog/source/pdf:

Ahora procedemos a crear el pipeline en Azure Data Factory:

Se trata de una actividad de tipo U-SQL que ejecutara el script anteriormente subido a la cuenta de almacenamiento. Guardamos y publicamos el pipeline.

Resultado

Finalmente, procedemos a ejecutar el pipeline de Azure Data Factory y monitorizamos el job de Azure Data Lake Analytics que se lanza:

Ahora si vamos a la carpeta de prepareddata data en Azure Data Lake Storage, veremos el texto del PDF extraído en formato CSV.

Os dejo el código del proyecto de U-SQL en mi GitHub.

Con este post, termino el hilo de iniciación a Azure Data Factory. ¡Espero que os haya gustado!

Procesando…
¡Lo lograste! Ya estás en la lista.
Última modificación: mayo 12, 2020

Autor

Comentarios

Comenta o responde a los comentarios

Tu dirección de correo no será publicada.