Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este tutorial mostra como criar um aplicativo Node.js simples nos Aplicativos do Databricks que serve uma página da Web com um gráfico dinâmico usando Chart.js e Express. O aplicativo inclui:
- Uma home page com estilo que renderiza um gráfico
- Um ponto de extremidade de API que retorna dados de séries temporais de vendas simulados
- Uma porta dinâmica usando uma variável de ambiente
Pré-requisitos
Antes de concluir este tutorial:
- Verifique se o workspace do Azure Databricks e o ambiente de desenvolvimento local estão configurados corretamente. Consulte Configurar o ambiente de desenvolvimento e o workspace do Databricks Apps.
- Crie um aplicativo personalizado do Databricks para servir como contêiner para seu código Node.js. Consulte Criar um aplicativo personalizado do Databricks.
Etapa 1: Instalar dependências
Abra um terminal e execute os seguintes comandos para:
- Instalar o Node.js
- Criar um diretório local para os arquivos de origem e configuração para seu aplicativo
- Instalar o Express
brew install node
mkdir my-node-app
cd my-node-app
npm install express
Etapa 2: Definir a lógica do aplicativo
Crie um arquivo chamado app.js com o seguinte conteúdo:
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}`);
});
Esse código cria um servidor Express que:
- Serve uma página HTML do
/staticdiretório - Responde a
/datacom dados fictícios de vendas - Escuta na porta definida pela variável de ambiente
PORT(ou 8000 por padrão)
Etapa 3: Adicionar um arquivo HTML estático
Crie um arquivo em static/index.html que carrega Chart.js e renderiza um gráfico de linhas. O gráfico busca automaticamente dados fictícios da /data API e os renderiza no navegador.
<!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>
Etapa 4: Definir dependências
Crie um arquivo package.json que declare o Express como uma dependência e configure seu script inicial:
{
"name": "databricks-chart-app",
"version": "1.0.0",
"type": "module",
"main": "app.js",
"scripts": {
"start": "node app.js"
},
"dependencies": {
"express": "^4.19.2"
}
}
Etapa 5: Executar o aplicativo localmente
Para testar o aplicativo localmente, execute os seguintes comandos:
npm install
npm run start
Navegue até http://localhost:8000 para ver um gráfico dinâmico de dados de vendas fictícios dos últimos 12 dias.
Próximas etapas
- Implante o aplicativo. Consulte Implantar um aplicativo do Databricks.
- Substitua dados fictícios por dados do Catálogo do Unity ou de uma API externa.
- Adicione filtros de interface do usuário, como um intervalo de datas ou uma categoria de produto.
- Proteja seu aplicativo usando segredos do Azure Databricks ou OAuth.