Esportazione Dati in HarborDB
HarborDB fornisce capacità di esportazione potenti per salvare i risultati delle query in vari formati. Che tu debba condividere dati con colleghi, importare in altre applicazioni, o archiviare risultati per analisi successive, questa guida copre tutto ciò che devi sapere per esportare dati in modo efficiente e sicuro.
Panoramica dei Formati di Esportazione
HarborDB supporta più formati di esportazione, ciascuno adatto a diversi casi d'uso:
CSV (Valori Separati da Virgola)
- Ideale per: Fogli di calcolo (Excel, Google Sheets), import/export dati, scambio dati di base
- Caratteristiche: Delimitatori personalizzati, intestazioni, qualificatori di testo, opzioni di codifica
- Limitazioni: Nessun supporto per dati gerarchici, preservazione limitata dei tipi di dati
JSON (JavaScript Object Notation)
- Ideale per: Applicazioni web, API, database NoSQL, interscambio dati
- Caratteristiche: Formattazione leggibile, formattazione compatta, preserva tipi di dati
- Limitazioni: Dimensione file maggiore, non ideale per fogli di calcolo
Excel (Prossimamente)
- Ideale per: Report aziendali, fogli di calcolo formattati, presentazione dati complessi
- Caratteristiche: Fogli multipli, formule, formattazione, grafici
- Stato: Pianificato per release futura
Processo Base di Esportazione
Passo 1: Prepara i Tuoi Dati
- Esegui una query o seleziona una tabella nella barra laterale
- Rivedi i risultati per assicurarti che contengano i dati che vuoi esportare
- Considera il filtraggio se hai bisogno solo di righe o colonne specifiche
Passo 2: Avvia l'Esportazione
Ci sono diversi modi per iniziare un'esportazione:
Da Risultati Query
- Clicca il pulsante Esporta (📤) nella barra degli strumenti dei risultati
- Oppure clicca con il tasto destro ovunque nella griglia dei risultati
- Seleziona "Esporta Risultati" dal menu contestuale
Da Navigazione Tabelle
- Clicca con il tasto destro su una tabella nella barra laterale
- Seleziona "Esporta Dati"
- Scegli ambito di esportazione:
- Tabella intera: Tutti i dati (usa con cautela su tabelle grandi)
- Prime N righe: Campione limitato (raccomandato per test)
- Query personalizzata: Scrivi una specifica istruzione SELECT
Scorciatoie da Tastiera
⌘ + E: Finestra di dialogo esportazione rapida⌘ + Shift + E: Esporta con ultime impostazioni usate
Passo 3: Configura le Impostazioni di Esportazione
La finestra di dialogo di esportazione fornisce opzioni di configurazione:
Impostazioni Generali
- Nome File: Nome generato automaticamente o personalizzato
- Posizione Salvataggio: Scegli cartella di destinazione
- Includi Intestazioni: Nomi colonne come prima riga (CSV)
- Codifica: UTF-8 (raccomandato), Latin-1, o default del sistema
Opzioni Specifiche CSV
- Delimitatore: Virgola, punto e virgola, tabulazione, pipe, o carattere personalizzato
- Qualificatore Testo: Virgolette singole, doppie, o nessuno
- Terminazione Righe: macOS/Linux (LF), Windows (CRLF), o default del sistema
- Rappresentazione Null: Stringa vuota, "NULL", o testo personalizzato
Opzioni Specifiche JSON
- Formato: Leggibile (pretty) o Compatto (minimizzato)
- Formato Array: Array di oggetti o oggetto con proprietà data
- Includi Metadati: Informazioni esecuzione query, tipi colonne, timestamp
Passo 4: Esegui e Verifica
- Clicca "Esporta" per salvare il file
- Monitora il progresso per esportazioni grandi
- Verifica dimensione file e contenuto
- Apri file esportato per confermare la formattazione
Tecniche Avanzate di Esportazione
Esportare Sottoinsiemi Specifici di Dati
Selezione Colonne
Esporta solo colonne specifiche modificando la tua query:
-- Invece di SELECT *
SELECT customer_id, email, last_purchase_date
FROM customers
WHERE active = true;
Filtraggio Righe
Usa clausole WHERE per limitare i dati esportati:
-- Esporta solo dati recenti
SELECT * FROM orders
WHERE order_date >= CURRENT_DATE - INTERVAL '30 days';
Dati Aggregati
Esporta risultati riassunti:
-- Esporta totali vendite giornalieri
SELECT
DATE(order_date) as day,
COUNT(*) as order_count,
SUM(total_amount) as daily_revenue
FROM orders
GROUP BY DATE(order_date)
ORDER BY day DESC;
Esportazione in Batch
Per dataset grandi che superano i limiti di memoria:
Esportazioni Suddivise
-- Esporta in lotti di 10.000 righe
SELECT * FROM large_table
ORDER BY id
LIMIT 10000 OFFSET 0;
-- Poi incrementa OFFSET per il lotto successivo
SELECT * FROM large_table
ORDER BY id
LIMIT 10000 OFFSET 10000;
Cursori Lato Server
Abilita cursori lato server in Preferenze → Prestazioni per streaming di grandi set di risultati senza problemi di memoria.
Esportazioni Pianificate (Avanzato)
Mentre HarborDB non ha pianificazione integrata, puoi:
- Salvare query di esportazione come file
- Usare macOS Automator per eseguire esportazioni
- Pianificare con cron o launchd (utenti avanzati)
- Esportare in cartelle monitorate per elaborazione automatizzata
Guida Specifica per Formato
Best Practice Esportazione CSV
Preparazione Dati
- Pulisci caratteri speciali che potrebbero rompere il parsing CSV:
-- Rimuovi o escapa virgole nei campi testo
SELECT
id,
REPLACE(description, ',', ';') as description,
amount
FROM products;
- Gestisci interruzioni di riga nei campi testo:
-- Sostituisci newline con spazi
SELECT
id,
REPLACE(REPLACE(notes, CHR(10), ' '), CHR(13), ' ') as notes_clean
FROM customer_notes;
Impostazioni CSV Compatibili per Import
Per massima compatibilità con altre applicazioni:
| Applicazione | Impostazioni Raccomandate | | ------------------- | ------------------------------------------------------- | | Excel | Delimitatore virgola, Qualificatore doppie virgolette, Codifica UTF-8 | | Google Sheets | Delimitatore virgola, Codifica default | | Python/R Pandas | Delimitatore virgola, Nessun qualificatore testo | | PostgreSQL COPY | Delimitatore virgola, Intestazione CSV, Virgolette doppie |
Best Practice Esportazione JSON
Esportazione Dati Strutturati
-- Esporta dati gerarchici
SELECT
order_id,
order_date,
JSON_BUILD_OBJECT(
'customer_id', c.customer_id,
'name', c.name,
'email', c.email
) as customer,
JSON_AGG(
JSON_BUILD_OBJECT(
'product_id', p.product_id,
'name', p.name,
'quantity', oi.quantity,
'price', oi.price
)
) as items
FROM orders o
JOIN customers c ON o.customer_id = c.customer_id
JOIN order_items oi ON o.order_id = oi.order_id
JOIN products p ON oi.product_id = p.product_id
GROUP BY o.order_id, o.order_date, c.customer_id, c.name, c.email;
Considerazioni Schema JSON
- Struttura consistente: Assicurati che tutte le righe abbiano le stesse chiavi
- Tipi di dati: JSON preserva stringhe, numeri, booleani, null
- Profondità annidamento: Considera appiattimento per alcune applicazioni
Ottimizzazione delle Prestazioni
Esportazione di Grandi Dataset
Gestione Memoria
- Abilita modalità streaming in Preferenze → Prestazioni
- Aumenta dimensione chunk per esportazioni più veloci (se RAM sufficiente)
- Chiudi altre applicazioni per liberare risorse di sistema
- Monitora Activity Monitor per uso memoria
Considerazioni di Rete
Per esportazioni da database remoti:
- Esporta sul server se possibile (usa SSH o desktop remoto)
- Comprimi esportazioni (HarborDB auto-comprime JSON grandi)
- Pianifica in ore di minor traffico per database di produzione
- Usa clausole WHERE per limitare trasferimento dati
Suggerimenti Velocità Esportazione
- Seleziona solo colonne necessarie (non SELECT *)
- Evita calcoli costosi nelle query di esportazione
- Usa colonne indicizzate nelle clausole WHERE
- Esporta su SSD per I/O disco più veloce
- Disabilita scansione antivirus in tempo reale sulla cartella di esportazione (temporaneamente)
Sicurezza e Privacy
Gestione Dati Sensibili
Redazione Dati
-- Esporta senza informazioni sensibili
SELECT
user_id,
LEFT(email, 3) || '***@***' as email_masked,
'***' as password_hash,
created_at
FROM users;
Considerazioni di Conformità
- GDPR/CCPA: Rimuovi informazioni personali identificabili (PII)
- HIPAA: De-identifica informazioni sanitarie protette (PHI)
- PCI DSS: Non esportare mai numeri di carta di credito completi
- Politiche interne: Segui le regole di gestione dati della tua organizzazione
Pratiche Sicure di Esportazione
- Cripta esportazioni sensibili usando macOS FileVault o strumenti di terze parti
- Usa metodi di trasferimento sicuri per file esportati (SFTP, email criptata)
- Imposta permessi file appropriati (chmod 600 per file sensibili)
- Elimina automaticamente file temporanei di esportazione
- Verifica log di esportazione (disponibili in Preferenze → Log)
Risoluzione Problemi Comuni
Problemi CSV
"Colonne disallineate in Excel"
- Causa: Virgole o interruzioni di riga incorporate nei dati
- Soluzione: Usa qualificatori di testo o pulisci dati prima dell'esportazione
"Problemi di codifica caratteri"
- Causa: Caratteri non UTF-8 nei dati
- Soluzione: Esporta con codifica UTF-8 con BOM per Excel
"Errori di importazione file grandi"
- Causa: Limiti righe/colonne Excel (1.048.576 righe, 16.384 colonne)
- Soluzione: Dividi dati o usa strumenti CSV senza limiti
Problemi JSON
"Sintassi JSON non valida"
- Causa: Caratteri speciali non correttamente escapati
- Soluzione: Usa funzioni JSON PostgreSQL per sanificare dati
"Errori di memoria su esportazioni grandi"
- Causa: Tentativo di caricare intero dataset in memoria
- Soluzione: Abilita esportazione streaming o esporta in chunk
"Dati annidati troppo complessi"
- Causa: JSON annidato troppo profondamente difficile da parsare
- Soluzione: Appiattisci struttura o semplifica query
Problemi Generali
"Esportazione troppo lenta"
- Possibili cause: Latenza di rete, velocità disco, prestazioni query
- Passi di debug:
- Testa prima con dataset piccolo
- Controlla connettività di rete
- Verifica che il disco abbia spazio libero
- Ottimizza query database
"Dati mancanti nell'esportazione"
- Controlla: Filtri clausola WHERE, selezione colonne, gestione NULL
- Verifica: Conteggio righe corrisponde alle aspettative, tutte le colonne incluse
"Errori di permesso negato"
- Soluzione:
- Scegli posizione di salvataggio diversa
- Controlla permessi cartella
- Esegui HarborDB con privilegi appropriati
- Disabilita software di sicurezza temporaneamente
Integrazione con Altri Strumenti
Automazione con Script
Esempio Script Shell
#!/bin/bash
# Esporta report giornaliero e invialo via email
EXPORT_FILE="/Users/$(whoami)/Exports/daily_sales_$(date +%Y%m%d).csv"
# Dovresti dover scrivere script per azioni HarborDB qui
# Considera di usare strumenti da riga di comando PostgreSQL per automazione
pg_dump -t sales -c --inserts your_database > "$EXPORT_FILE"
# Comprimi e invia email
gzip "$EXPORT_FILE"
echo "Esportazione vendite giornaliera allegata" | mail -s "Report Vendite Giornaliero" \
-a "$EXPORT_FILE.gz" team@example.com
Importazione in Altre Applicazioni
Excel/Google Sheets
- CSV: Importazione diretta tramite Dati → Da Testo/CSV
- JSON: Usa Power Query (Excel) o Apps Script (Sheets)
Sistemi Database
-- Comando PostgreSQL COPY (da CSV esportato)
COPY customers FROM '/path/to/export.csv' DELIMITER ',' CSV HEADER;
-- MySQL LOAD DATA
LOAD DATA LOCAL INFILE '/path/to/export.csv'
INTO TABLE customers
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
Linguaggi di Programmazione
# Esempio Python pandas
import pandas as pd
# Leggi esportazione CSV HarborDB
df = pd.read_csv('export.csv', encoding='utf-8')
print(f"Importate {len(df)} righe")
# O esportazione JSON
df_json = pd.read_json('export.json', orient='records')
Riepilogo Best Practice
Prima di Esportare
- Testa con dataset piccolo prima
- Verifica che i risultati della query corrispondano alle aspettative
- Controlla spazio disco disponibile
- Considera sensibilità dati e requisiti di conformità
Durante l'Esportazione
- Scegli formato appropriato per il tuo caso d'uso
- Usa nomi file descrittivi con date
- Includi intestazioni/metadati per chiarezza
- Monitora il progresso per esportazioni grandi
Dopo l'Esportazione
- Verifica integrità file (apri e controlla un campione)
- Proteggi file sensibili (crittografa se necessario)
- Pulisci file temporanei
- Documenta l'esportazione per riproducibilità
Prossimi Passi
Ora che puoi esportare dati efficacemente:
- Basi delle Query - Padroneggia la scrittura di query SQL
- Navigazione Database - Esplora la struttura del database
- Ottimizzazione Prestazioni - Ottimizza la velocità di esportazione
- Integrazione macOS - Usa le funzionalità native macOS
Ottenere Aiuto
Se incontri problemi di esportazione:
- Controlla la nostra Guida al Supporto per risoluzione problemi
- Visita le FAQ per domande comuni
- Contatta il Supporto per assistenza personalizzata
È stato utile?
Aiutaci a migliorare questa documentazione fornendo feedback.