{"id":21,"date":"2024-06-03T02:19:31","date_gmt":"2024-06-03T02:19:31","guid":{"rendered":"https:\/\/juanluisacebal.com\/?p=21"},"modified":"2024-06-07T02:39:23","modified_gmt":"2024-06-07T02:39:23","slug":"bases-de-datos-analiticas-pr2-procesos-etl-con-spoon","status":"publish","type":"post","link":"https:\/\/juanluisacebal.com\/index.php\/2024\/bases-de-datos-analiticas-pr2-procesos-etl-con-spoon\/","title":{"rendered":"Bases de datos anal\u00edticas. PR2. Procesos ETL con Spoon"},"content":{"rendered":"\n<p>En este documento, vamos a explorar la creaci\u00f3n de procesos ETL (Extract, Transform, Load) utilizando Spoon, la interfaz gr\u00e1fica de Pentaho Data Integration (PDI). A trav\u00e9s de un conjunto de transformaciones y su automatizaci\u00f3n mediante jobs, lograremos gestionar y procesar grandes vol\u00famenes de datos de manera eficiente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfQu\u00e9 son los Procesos ETL?<\/h3>\n\n\n\n<p>Los procesos ETL son fundamentales en la gesti\u00f3n de datos y en la construcci\u00f3n de almacenes de datos. Se dividen en tres fases principales:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Extract (Extracci\u00f3n)<\/strong>: Recuperaci\u00f3n de datos desde diferentes fuentes (bases de datos, archivos, APIs, etc.).<\/li>\n\n\n\n<li><strong>Transform (Transformaci\u00f3n)<\/strong>: Limpieza, enriquecimiento y transformaci\u00f3n de los datos seg\u00fan las necesidades del an\u00e1lisis.<\/li>\n\n\n\n<li><strong>Load (Carga)<\/strong>: Inserci\u00f3n de los datos transformados en un destino, como una base de datos anal\u00edtica o un data warehouse.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Uso de Spoon para Procesos ETL<\/h3>\n\n\n\n<p>Spoon es la herramienta gr\u00e1fica de Pentaho Data Integration (PDI) que facilita la creaci\u00f3n y gesti\u00f3n de procesos ETL mediante una interfaz de arrastrar y soltar. Con Spoon, puedes dise\u00f1ar complejas transformaciones y workflows de manera intuitiva.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Ejemplo Pr\u00e1ctico: Proceso ETL con Spoon<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Paso 1: Configuraci\u00f3n del Entorno<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Instalaci\u00f3n de Spoon<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Descarga Pentaho Data Integration desde el <a href=\"https:\/\/pentaho.com\/pentaho-community-edition\/\">sitio oficial<\/a>.<\/li>\n\n\n\n<li>Extrae el contenido y navega al directorio <code>data-integration<\/code>.<\/li>\n\n\n\n<li>Ejecuta Spoon (<code>spoon.bat<\/code> en Windows o <code>.\/spoon.sh<\/code> en Linux).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Conexi\u00f3n a la Fuente de Datos<\/strong>:\n<ul class=\"wp-block-list\">\n<li>En Spoon, ve a <code>File &gt; New &gt; Database Connection<\/code>.<\/li>\n\n\n\n<li>Configura la conexi\u00f3n a tu base de datos origen (por ejemplo, MySQL).<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">Paso 2: Creaci\u00f3n de una Transformaci\u00f3n<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Crear una Nueva Transformaci\u00f3n<\/strong>:\n<ul class=\"wp-block-list\">\n<li>En Spoon, selecciona <code>File &gt; New &gt; Transformation<\/code>.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Agregar un Paso de Entrada<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Arrastra un \u00abTable Input\u00bb desde el panel de pasos y config\u00faralo para extraer datos de tu base de datos origen.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Agregar un Paso de Transformaci\u00f3n<\/strong>:\n<ul class=\"wp-block-list\">\n<li>A\u00f1ade pasos como \u00abSelect Values\u00bb para seleccionar y renombrar campos, o \u00abFilter Rows\u00bb para filtrar datos seg\u00fan ciertas condiciones.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Agregar un Paso de Salida<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Arrastra un \u00abTable Output\u00bb y config\u00faralo para insertar los datos transformados en la base de datos destino.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Conectar los Pasos<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Conecta los pasos en el orden adecuado (entrada, transformaci\u00f3n, salida) utilizando flechas de conexi\u00f3n.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">Paso 3: Automatizaci\u00f3n con Jobs<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Crear un Nuevo Job<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Selecciona <code>File &gt; New &gt; Job<\/code>.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Agregar un Inicio de Job<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Arrastra un \u00abStart\u00bb desde el panel de pasos de job.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Agregar la Transformaci\u00f3n<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Arrastra un \u00abTransformation\u00bb y config\u00faralo para ejecutar la transformaci\u00f3n que creaste anteriormente.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Definir el Flujo del Job<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Conecta el \u00abStart\u00bb al paso de \u00abTransformation\u00bb para definir el orden de ejecuci\u00f3n.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Programar el Job<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Guarda el job y config\u00faralo en el servidor de PDI para su ejecuci\u00f3n peri\u00f3dica.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<div data-wp-interactive=\"core\/file\" class=\"wp-block-file\"><object data-wp-bind--hidden=\"!state.hasPdfPreview\" hidden class=\"wp-block-file__embed\" data=\"https:\/\/juanluisacebal.com\/wp-content\/uploads\/2024\/06\/jacebal_BDA_PR2.pdf\" type=\"application\/pdf\" style=\"width:100%;height:600px\" aria-label=\"Incrustado de jacebal_BDA_PR2.\"><\/object><a id=\"wp-block-file--media-34d94455-4f18-48d5-9a2d-3040a003c83e\" href=\"https:\/\/juanluisacebal.com\/wp-content\/uploads\/2024\/06\/jacebal_BDA_PR2.pdf\">jacebal_BDA_PR2<\/a><a href=\"https:\/\/juanluisacebal.com\/wp-content\/uploads\/2024\/06\/jacebal_BDA_PR2.pdf\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-34d94455-4f18-48d5-9a2d-3040a003c83e\">Descarga<\/a><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Conclusi\u00f3n<\/h3>\n\n\n\n<p>Los procesos ETL son esenciales para gestionar grandes vol\u00famenes de datos y Spoon facilita enormemente esta tarea con su interfaz intuitiva y capacidades avanzadas. Con esta explicaci\u00f3n y gu\u00eda pr\u00e1ctica, deber\u00edas estar listo para comenzar a dise\u00f1ar y automatizar tus propios procesos ETL, mejorando as\u00ed la eficiencia y calidad de tus datos.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este documento, vamos a explorar la creaci\u00f3n de procesos ETL (Extract, Transform, Load) utilizando Spoon, la interfaz gr\u00e1fica de Pentaho Data Integration (PDI). A trav\u00e9s de un conjunto de transformaciones y su automatizaci\u00f3n mediante jobs, lograremos gestionar y procesar grandes vol\u00famenes de datos de manera eficiente. \u00bfQu\u00e9 son los Procesos ETL? Los procesos ETL [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[4],"tags":[],"class_list":["post-21","post","type-post","status-publish","format-standard","hentry","category-etl"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_shortlink":"https:\/\/wp.me\/pfPbyZ-l","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/juanluisacebal.com\/index.php\/wp-json\/wp\/v2\/posts\/21","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/juanluisacebal.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/juanluisacebal.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/juanluisacebal.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/juanluisacebal.com\/index.php\/wp-json\/wp\/v2\/comments?post=21"}],"version-history":[{"count":4,"href":"https:\/\/juanluisacebal.com\/index.php\/wp-json\/wp\/v2\/posts\/21\/revisions"}],"predecessor-version":[{"id":28,"href":"https:\/\/juanluisacebal.com\/index.php\/wp-json\/wp\/v2\/posts\/21\/revisions\/28"}],"wp:attachment":[{"href":"https:\/\/juanluisacebal.com\/index.php\/wp-json\/wp\/v2\/media?parent=21"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/juanluisacebal.com\/index.php\/wp-json\/wp\/v2\/categories?post=21"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/juanluisacebal.com\/index.php\/wp-json\/wp\/v2\/tags?post=21"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}