Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este tutorial mostra como criar um aplicativo Node.js simples no Databricks Apps que serve uma página da Web com um gráfico dinâmico usando oChart.js e o Express. O aplicativo inclui:
- Uma página inicial com estilo que renderiza um gráfico
- Um endpoint da API que retorna dados de vendas simulados em séries temporais
- Uma porta dinâmica usando uma variável de ambiente
Pré-requisitos
Antes de concluir este tutorial:
- Verifique se o espaço de trabalho do Azure Databricks e o ambiente de desenvolvimento local estão configurados corretamente. Consulte Configurar seu espaço de trabalho e ambiente de desenvolvimento do Databricks Apps.
- Crie um aplicativo Databricks personalizado para servir como o contêiner para seu código Node.js. Consulte Criar um aplicativo Databricks personalizado.
Passo 1: Instalar dependências
Abra um terminal e execute os seguintes comandos para:
- Instalar Node.js
- Criar um diretório local para os arquivos de origem e configuração do seu aplicativo
- Instalar o Express
brew install node
mkdir my-node-app
cd my-node-app
npm install express
Passo 2: Defina a lógica da sua aplicação
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}`);
});
Este código cria um servidor Express que:
- Serve uma página HTML do
/staticdiretório - Responde a
/datadados de vendas fictícios - Escuta na porta definida pela variável de ambiente
PORT(ou 8000 como padrão)
Passo 3: Adicionar um ficheiro HTML estático
Crie um ficheiro em static/index.html que carregue Chart.js e renderize 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>
Passo 4: Definir dependências
Crie um arquivo package.json que declare o Express como uma dependência e configure seu script de início:
{
"name": "databricks-chart-app",
"version": "1.0.0",
"type": "module",
"main": "app.js",
"scripts": {
"start": "node app.js"
},
"dependencies": {
"express": "^4.19.2"
}
}
Passo 5: Execute a aplicação 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óximos passos
- Implante o aplicativo. Consulte Implantar um aplicativo Databricks.
- Substitua dados fictícios por dados do Unity Catalog ou de uma API externa.
- Adicione filtros de interface do usuário, como um intervalo de datas ou categoria de produto.
- Proteja seu aplicativo usando segredos do Azure Databricks ou OAuth.