Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este tutorial se muestra cómo crear una aplicación de Node.js sencilla en Aplicaciones de Databricks que sirve una página web con un gráfico dinámico mediante Chart.js y Express. La aplicación incluye:
- Página principal con estilo que representa un gráfico
- Un punto final de API que devuelve datos ficticios de series temporales de ventas
- Un puerto dinámico mediante una variable de entorno
Prerrequisitos
Antes de completar este tutorial:
- Asegúrese de que el área de trabajo de Azure Databricks y el entorno de desarrollo local estén configurados correctamente. Consulte Configuración del área de trabajo y el entorno de desarrollo de Databricks Apps.
- Cree una aplicación de Databricks personalizada para que actúe como contenedor para el código de Node.js. Consulte Creación de una aplicación personalizada de Databricks.
Paso 1: Instalación de dependencias
Abra un terminal y ejecute los comandos siguientes para:
- Instalación de Node.js
- Creación de un directorio local para los archivos de origen y configuración de la aplicación
- Instalación de Express
brew install node
mkdir my-node-app
cd my-node-app
npm install express
Paso 2: Definir la lógica de la aplicación
Cree un archivo llamado app.js con el siguiente contenido:
import express from 'express';
import path from 'path';
import { fileURLToPath } from 'url';
const app = express();
const port = process.env.PORT || 8000;
const __dirname = path.dirname(fileURLToPath(import.meta.url));
app.use('/static', express.static(path.join(__dirname, 'static')));
// Serve chart page
app.get('/', (req, res) => {
res.sendFile(path.join(__dirname, 'static/index.html'));
});
// Serve mock time-series data
app.get('/data', (req, res) => {
const now = Date.now();
const data = Array.from({ length: 12 }, (_, i) => ({
date: new Date(now - i * 86400000).toISOString().slice(0, 10),
sales: Math.floor(Math.random() * 1000) + 100,
})).reverse();
res.json(data);
});
app.listen(port, () => {
console.log(`🚀 App running at http://localhost:${port}`);
});
Este código crea un servidor Express que:
- Proporciona una página HTML desde el
/staticdirectorio - Responde a
/datacon datos de ventas ficticios - Escucha en el puerto definido por la variable de entorno
PORT(o 8000 de forma predeterminada)
Paso 3: Agregar un archivo HTML estático
Cree un archivo en static/index.html que cargue Chart.js y represente un gráfico de líneas. El gráfico captura automáticamente los datos ficticios de la /data API y los representa en el explorador.
<!DOCTYPE html>
<html>
<head>
<title>Sales Dashboard</title>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<style>
body {
font-family: sans-serif;
padding: 2rem;
}
canvas {
max-width: 100%;
height: 400px;
}
</style>
</head>
<body>
<h1>📈 Sales Dashboard</h1>
<canvas id="salesChart"></canvas>
<script>
async function renderChart() {
const response = await fetch('/data');
const data = await response.json();
const ctx = document.getElementById('salesChart').getContext('2d');
new Chart(ctx, {
type: 'line',
data: {
labels: data.map((d) => d.date),
datasets: [
{
label: 'Daily Sales',
data: data.map((d) => d.sales),
borderWidth: 2,
fill: false,
},
],
},
options: {
responsive: true,
scales: {
y: {
beginAtZero: true,
},
},
},
});
}
renderChart();
</script>
</body>
</html>
Paso 4: Definir dependencias
Cree un archivo package.json que declare Express como dependencia y configure el script de inicio:
{
"name": "databricks-chart-app",
"version": "1.0.0",
"type": "module",
"main": "app.js",
"scripts": {
"start": "node app.js"
},
"dependencies": {
"express": "^4.19.2"
}
}
Paso 5: Ejecutar la aplicación localmente
Para probar la aplicación localmente, ejecute los siguientes comandos:
npm install
npm run start
Vaya a http://localhost:8000 para ver un gráfico dinámico de datos de ventas simulados en los últimos 12 días.
Pasos siguientes
- Implemente la aplicación. Consulte Implementación de una aplicación de Databricks.
- Reemplace los datos ficticios por datos de Unity Catalog o una API externa.
- Agregue filtros de interfaz de usuario, como un intervalo de fechas o una categoría de producto.
- Proteja la aplicación mediante secretos de Azure Databricks o OAuth.