Recargar datos del informe y mucho más: Llamadas a URL desde EDA
Category : Noticias
Hacer una llamada a una URL desde un informe puede parecer que es una funcionalidad poco atractiva. Pero. Si te digo que eso te abre la puerta a disparar todo tipo de acciones desde el informe cómo recargar datos, invocar un modelo de IA o disparar eventos en sistemas terceros, la cosa cambia.
Para este ejemplo vamos a recargar los datos de un informe disparando una ETL.
Paso 1: ETL que genera los datos.
Para ello vamos a usar una ETL muy simple definida en Apache Hop . Genera un set de datos aleatorios y los mete en una tabla.
Paso 2: Informe que muestra los datos.
A continuación crearemos un informe muy simple con EDA que visualizará los datos de nuestra ETL.
Paso 3: Habilitar el servicio web.
Para esto hay infinidad de opciones. Desde el servido hop hasta servicios en python. Para hacerlo muy sencillo y no complicar el ejemplo he hecho una simple jsp que invoca el proceso de carga. update.jsp
<body>
<%@page import="java.io.*" %>
<%@page import="java.io.IOException" %>
<%@page import="java.io.InputStream" %>
<%
String s = null;int i=0;
String x[]=new String[300];
try {
Process p = Runtime.getRuntime().exec("C:\\Programas\\Hop\\apache-hop-client-2.10.0\\hop\\hop-run.bat --project=default --file=data.hpl");
BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));
BufferedReader stdError = new BufferedReader(new InputStreamReader(p.getErrorStream()));
while ( (s = stdInput.readLine()) !=null )
{ %>
<h2><%=s%></h2><br>
<% }
while ((s = stdError.readLine()) != null)
{ %>
<h1> <%= s%> </h1> <br>
<% }
}
catch(IOException e)
{ }
%>
</body>
Paso 4: Invocar la llamada
Y ahora se trata simplemente de ponerlo todo en conjunto. En nuestro informe habilitaremos la llamada a update.jsp y obtendremos datos frescos cada vez que invoquemos la llamada.
Y a partir de ahora. Cada vez que hagamos click. Se recargarán los datos del informe con nuestra ETL
Si recargamos nuestro informe. Veremos que los datos se han regenerado.
Impresionante, verdad? Si quieres probarlo, siempre puedes hacerlo de forma sencilla desde nuestro servicio cloud Edalitics. o en tu instancia local.