Skip to content

Commit 324cb2e

Browse files
author
Pablo Andino
committed
Actualización de documentación
1 parent c833229 commit 324cb2e

File tree

3 files changed

+88
-12
lines changed

3 files changed

+88
-12
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Para correr la aplicación:
3737
Situarse dentro de la carpeta "docker" y correr el siguiente comando:
3838

3939
```
40-
docker-compose up
40+
docker-compose up -d
4141
```
4242

4343
Para indexar los archivos generados por el ETL correr el siguiente comando:

docs/etl-install/index.html

+52-10
Original file line numberDiff line numberDiff line change
@@ -674,10 +674,53 @@
674674
<div class="md-content">
675675
<article class="md-content__inner md-typeset">
676676

677-
678-
679-
<h1 id="instalacion-y-ejecucion-de-georef-etl">Instalación y Ejecución de Georef ETL<a class="headerlink" href="#instalacion-y-ejecucion-de-georef-etl" title="Permanent link">&para;</a></h1>
677+
678+
679+
<h1 id="d-instalacion-y-ejecucion-de-georef-etl">Instalación y Ejecución de Georef ETL<a class="headerlink" href="#d-instalacion-y-ejecucion-de-georef-etl" title="Permanent link">&para;</a></h1>
680680
<p>En este documento se detallan los pasos a seguir si se desea ejecutar el ETL de Georef en un entorno propio.</p>
681+
682+
<h2 id="d11-instalacion">1.1. Utilizando contenedores<a class="headerlink" href="#d11-instalacion" title="Permanent link">&para;</a></h2>
683+
684+
<p>Para correr los contenedores asegúrate de tener instalado docker-compose. El archivo de configuración puede correr tres servicios creando los siguientes contenedores:</p>
685+
<ul>
686+
<li>georef-etl_db: Un contenedor con postgres y postgis para almacenar los datos procesados. Estos datos son almacenados y persistidos en un volumen de docker. La configuración de credenciales de la base de datos se lee del archivo .env</li>
687+
<li>georef-etl_app: Un contenedor con la aplicación. Al correrlo la primera vez, o después de modificar algún modelo, es necesario correr una migración.</li>
688+
<li>georref-etl_db_test: En forma optativa se puede levantar el tercer contenedor para correr las pruebas del ETL</li>
689+
</ul>
690+
691+
<h3 id="d111-codigo">1.1.1 Código<a class="headerlink" href="#d111-codigo" title="Permanent link">&para;</a></h3>
692+
<p>Clonar el repositorio:</p>
693+
<pre>
694+
<code class="bash">$ git clone https://github.com/datosgobar/georef-ar-etl.git
695+
$ cd georef-ar-etl
696+
</code></pre>
697+
698+
<h3 id="d112-configuracion">1.1.2 Configuración<a class="headerlink" href="#d112-configuracion" title="Permanent link">&para;</a></h3>
699+
<p>Crear un nuevo archivo de configuración <code>georef.cfg</code>. Se recomienda partir desde el archivo de ejemplo en <code>docker/georef.example.cfg</code>:</p>
700+
<pre><code class="bash">cp docker/georef.example.cfg config/georef.cfg
701+
</code></pre>
702+
703+
<h3 id="d113-contenedores">1.1.3 Levantar contenedores<a class="headerlink" href="#d113-contenedores" title="Permanent link">&para;</a></h3>
704+
<p>Para iniciar los contenedores situarse dentro de la carpeta docker y correr la receta:</p>
705+
<pre><code class="bash">$ cd docker
706+
$ docker-compose up -d
707+
</code></pre>
708+
709+
<h3 id="d114-migracion-inicial">1.1.4 Migración inicial<a class="headerlink" href="#d114-migracion-inicial" title="Permanent link">&para;</a></h3>
710+
<p>Para crear las tablas utilizadas en el proceso de ETL, utilizar la receta <code>migrate</code>:</p>
711+
<pre><code class="bash">(env) $ docker-compose exec app make migrate
712+
</code></pre>
713+
714+
<h3 id="d114-ejecucion">1.1.5. Ejecución<a class="headerlink" href="#d114-ejecucion" title="Permanent link">&para;</a></h3>
715+
<p>Una vez finalizado el proceso de instalación, utilizar la receta <code>run</code> para ejecutar todas las tareas del ETL. <strong>Se generarán los archivos de salida y reportes en las carpetas files/latest y reports</strong>.</p>
716+
<pre><code class="bash">(env) $ docker-compose exec app make run
717+
</code></pre>
718+
719+
720+
721+
<h2 id="1-instalacion">1.2. Instalación local<a class="headerlink" href="#1-instalacion" title="Permanent link">&para;</a></h2>
722+
723+
681724
<h2 id="dependencias">Dependencias<a class="headerlink" href="#dependencias" title="Permanent link">&para;</a></h2>
682725
<p>El proyecto <code>georef-ar-etl</code> utiliza los siguientes componentes para cumplir sus funciones:</p>
683726
<ul>
@@ -687,21 +730,20 @@ <h2 id="dependencias">Dependencias<a class="headerlink" href="#dependencias" tit
687730
<li>ogr2ogr (GDAL) 2.2.2</li>
688731
</ul>
689732
<p>A continuación, se detallan los pasos a seguir para instalar y ejecutar el ETL en un entorno Ubuntu 16.04 (Xenial).</p>
690-
<h2 id="1-instalacion">1. Instalación<a class="headerlink" href="#1-instalacion" title="Permanent link">&para;</a></h2>
691-
<h3 id="12-dependencias">1.2 Dependencias<a class="headerlink" href="#12-dependencias" title="Permanent link">&para;</a></h3>
733+
<h3 id="12-dependencias">1.2.1 Dependencias<a class="headerlink" href="#12-dependencias" title="Permanent link">&para;</a></h3>
692734
<p>Primero, instalar PostgreSQL, PostGIS y ogr2ogr utilizando el comando <code>apt</code>:</p>
693735
<pre><code class="bash">$ sudo add-apt-repository -y ppa:ubuntugis/ppa
694736
$ sudo apt update
695737
$ sudo apt install postgresql-9.5 postgresql-9.5-postgis-2.4 gdal-bin libpq-dev
696738
</code></pre>
697739

698-
<h3 id="12-codigo">1.2 Código<a class="headerlink" href="#12-codigo" title="Permanent link">&para;</a></h3>
740+
<h3 id="12-codigo">1.2.2 Código<a class="headerlink" href="#12-codigo" title="Permanent link">&para;</a></h3>
699741
<p>Luego, clonar el repositorio:</p>
700742
<pre><code class="bash">$ git clone https://github.com/datosgobar/georef-ar-etl.git
701743
$ cd georef-ar-etl
702744
</code></pre>
703745

704-
<h3 id="13-configuracion">1.3 Configuración<a class="headerlink" href="#13-configuracion" title="Permanent link">&para;</a></h3>
746+
<h3 id="13-configuracion">1.2.3 Configuración<a class="headerlink" href="#13-configuracion" title="Permanent link">&para;</a></h3>
705747
<p>Crear un nuevo archivo de configuración <code>georef.cfg</code>. Se recomienda partir desde el archivo de ejemplo en <code>config/georef.example.cfg</code>:</p>
706748
<pre><code class="bash">cp config/georef.example.cfg config/georef.cfg
707749
</code></pre>
@@ -715,7 +757,7 @@ <h3 id="13-configuracion">1.3 Configuración<a class="headerlink" href="#13-conf
715757
password = changeme
716758
</code></pre>
717759

718-
<h3 id="14-base-de-datos">1.4 Base de Datos<a class="headerlink" href="#14-base-de-datos" title="Permanent link">&para;</a></h3>
760+
<h3 id="14-base-de-datos">1.2.4 Base de Datos<a class="headerlink" href="#14-base-de-datos" title="Permanent link">&para;</a></h3>
719761
<p>Para el funcionamiento del ETL, se debe contar con una base de datos con la extensión PostGIS habilitada, y un usuario que pueda crear, eliminar y modificar tablas.</p>
720762
<p>Bajo un usuario administrador de PostgreSQL (por defecto, <code>postgres</code>), utilizar el comando <code>psql</code> para ejecutar las sentencias necesarias:</p>
721763
<pre><code class="sql">create database georef_ar_etl with encoding = 'utf-8';
@@ -727,7 +769,7 @@ <h3 id="14-base-de-datos">1.4 Base de Datos<a class="headerlink" href="#14-base-
727769
grant all privileges on all tables in schema public to georef;
728770
</code></pre>
729771

730-
<h3 id="15-entorno-python">1.5 Entorno Python<a class="headerlink" href="#15-entorno-python" title="Permanent link">&para;</a></h3>
772+
<h3 id="15-entorno-python">1.2.5 Entorno Python<a class="headerlink" href="#15-entorno-python" title="Permanent link">&para;</a></h3>
731773
<p>En la raíz del proyecto clonado con <code>git</code>, ejecutar los siguientes comandos para crear un nuevo entorno virtual de Python con <code>venv</code>:</p>
732774
<pre><code class="bash">$ python3 -m venv env
733775
$ source env/bin/activate
@@ -743,7 +785,7 @@ <h3 id="15-entorno-python">1.5 Entorno Python<a class="headerlink" href="#15-ent
743785
(env) $ pip install -r requirements.txt
744786
</code></pre>
745787

746-
<h3 id="16-migracion-inicial">1.6 Migración inicial<a class="headerlink" href="#16-migracion-inicial" title="Permanent link">&para;</a></h3>
788+
<h3 id="16-migracion-inicial">1.2.6 Migración inicial<a class="headerlink" href="#16-migracion-inicial" title="Permanent link">&para;</a></h3>
747789
<p>Para crear las tablas utilizadas en el proceso de ETL, utilizar la receta <code>migrate</code>:</p>
748790
<pre><code class="bash">(env) $ make migrate
749791
</code></pre>

docs/georef-api-development/index.html

+35-1
Original file line numberDiff line numberDiff line change
@@ -816,7 +816,41 @@ <h2 id="profiling"><em>Profiling</em><a class="headerlink" href="#profiling" tit
816816

817817
<p>Luego, al realizar cualquier consulta a <code>localhost:5000</code>, se almacenará en el directorio <code>profile/</code> información sobre el tiempo que llevó completar la consulta. Los datos se generan utilizando el módulo <code>cProfile</code> de Python.</p>
818818

819-
819+
<h2 id="d11-instalacion">Utilizando contenedores<a class="headerlink" href="#d11-instalacion" title="Permanent link">&para;</a></h2>
820+
821+
<p>Para correr los contenedores asegúrate de tener instalado docker-compose. El archivo de configuración correrá dos servicios creando los siguientes contenedores:</p>
822+
<ul>
823+
<li>georef-api_es01: Un contenedor con Elasticsearch procesar e indexar los datos. Estos datos son almacenados y persistidos en un volumen de docker.</li>
824+
<li>georef-api_app: Un contenedor con la aplicación. Al correrlo la primera vez es necesario correr una indexación.</li>
825+
</ul>
826+
827+
<h3 id="d1-codigo">1. Código<a class="headerlink" href="#d1-codigo" title="Permanent link">&para;</a></h3>
828+
<p>Clonar el repositorio:</p>
829+
<pre>
830+
<code class="bash">$ git clone https://github.com/datosgobar/georef-ar-api.git
831+
$ cd georef-ar-etl
832+
</code></pre>
833+
834+
<h3 id="d2-configuracion">2. Configuración<a class="headerlink" href="#d2-configuracion" title="Permanent link">&para;</a></h3>
835+
<p>Crear un nuevo archivo de configuración <code>georef.cfg</code>. Se recomienda partir desde el archivo de ejemplo en <code>docker/georef.example.cfg</code>:</p>
836+
<pre><code class="bash">cp docker/georef.example.cfg config/georef.cfg
837+
</code></pre>
838+
839+
<h3 id="d3-contenedores">3. Levantar contenedores<a class="headerlink" href="#d3-contenedores" title="Permanent link">&para;</a></h3>
840+
<p>Para iniciar los contenedores situarse dentro de la carpeta docker y correr la receta:</p>
841+
<pre><code class="bash">$ cd docker
842+
$ docker-compose up -d
843+
</code></pre>
844+
845+
<h3 id="d4-indexacion-inicial">4. Indexación inicial<a class="headerlink" href="#d4-indexacion-inicial" title="Permanent link">&para;</a></h3>
846+
<p>Para indexar los archivos generados por el ETL copiar los archivos a la carpeta source y luego utilizar la receta <code>index</code>:</p>
847+
<pre><code class="bash">$ docker-compose exec app make index
848+
</code></pre>
849+
850+
<h3 id="d5-consultas">5. Consultas<a class="headerlink" href="#d5-consultas" title="Permanent link">&para;</a></h3>
851+
<p>Una vez finalizado el proceso de indexación se podrán hacer consultas a la API.</p>
852+
<pre><code class="bash">$ curl localhost:5000/api/provincias
853+
</code></pre>
820854

821855

822856

0 commit comments

Comments
 (0)