Exportation de données dans HarborDB
HarborDB fournit des capacités d'exportation puissantes pour sauvegarder vos résultats de requêtes dans divers formats. Que vous ayez besoin de partager des données avec des collègues, d'importer dans d'autres applications ou d'archiver des résultats pour une analyse ultérieure, ce guide couvre tout ce que vous devez savoir sur l'exportation de données de manière efficace et sécurisée.
Aperçu des formats d'exportation
HarborDB prend en charge plusieurs formats d'exportation, chacun adapté à différents cas d'utilisation :
CSV (Valeurs séparées par des virgules)
- Idéal pour : Tableurs (Excel, Google Sheets), import/export de données, échange de données de base
- Fonctionnalités : Délimiteurs personnalisés, en-têtes, qualificateurs de texte, options d'encodage
- Limitations : Pas de support pour les données hiérarchiques, préservation limitée des types de données
JSON (JavaScript Object Notation)
- Idéal pour : Applications web, API, bases de données NoSQL, échange de données
- Fonctionnalités : Impression formatée, format compact, préservation des types de données
- Limitations : Taille de fichier plus grande, pas idéal pour les tableurs
Excel (Bientôt disponible)
- Idéal pour : Rapports d'entreprise, tableurs formatés, présentation de données complexes
- Fonctionnalités : Feuilles multiples, formules, formatage, graphiques
- Statut : Prévu pour une version future
Processus d'exportation de base
Étape 1 : Préparez vos données
- Exécutez une requête ou sélectionnez une table dans la barre latérale
- Vérifiez les résultats pour vous assurer qu'ils contiennent les données que vous souhaitez exporter
- Envisagez un filtrage si vous n'avez besoin que de lignes ou de colonnes spécifiques
Étape 2 : Lancez l'exportation
Il existe plusieurs façons de démarrer une exportation :
À partir des résultats de requête
- Cliquez sur le bouton Exporter (📤) dans la barre d'outils des résultats
- Ou faites un clic droit n'importe où dans la grille des résultats
- Sélectionnez "Exporter les résultats" dans le menu contextuel
À partir de la navigation dans les tables
- Clic droit sur une table dans la barre latérale
- Sélectionnez "Exporter les données"
- Choisissez la portée de l'exportation :
- Table entière : Toutes les données (à utiliser avec précaution sur les grandes tables)
- N premières lignes : Échantillon limité (recommandé pour les tests)
- Requête personnalisée : Écrivez une instruction SELECT spécifique
Raccourcis clavier
⌘ + E: Boîte de dialogue d'exportation rapide⌘ + Shift + E: Exporter avec les derniers paramètres utilisés
Étape 3 : Configurez les paramètres d'exportation
La boîte de dialogue d'exportation fournit des options de configuration :
Paramètres généraux
- Nom du fichier : Généré automatiquement ou nom personnalisé
- Emplacement de sauvegarde : Choisissez le dossier de destination
- Inclure les en-têtes : Noms des colonnes comme première ligne (CSV)
- Encodage : UTF-8 (recommandé), Latin-1, ou par défaut du système
Options spécifiques au CSV
- Délimiteur : Virgule, point-virgule, tabulation, barre verticale, ou caractère personnalisé
- Qualificateur de texte : Guillemets simples, guillemets doubles, ou aucun
- Fin de ligne : macOS/Linux (LF), Windows (CRLF), ou par défaut du système
- Représentation des NULL : Chaîne vide, "NULL", ou texte personnalisé
Options spécifiques au JSON
- Format : Formaté (lisible par l'humain) ou Compact (minimisé)
- Format de tableau : Tableau d'objets ou objet avec propriété de données
- Inclure les métadonnées : Informations d'exécution de requête, types de colonnes, horodatages
Étape 4 : Exécutez et vérifiez
- Cliquez sur "Exporter" pour sauvegarder le fichier
- Surveillez la progression pour les grandes exportations
- Vérifiez la taille du fichier et son contenu
- Ouvrez le fichier exporté pour confirmer le formatage
Techniques d'exportation avancées
Exportation de sous-ensembles de données spécifiques
Sélection de colonnes
Exportez uniquement des colonnes spécifiques en modifiant votre requête :
-- Au lieu de SELECT *
SELECT customer_id, email, last_purchase_date
FROM customers
WHERE active = true;
Filtrage de lignes
Utilisez des clauses WHERE pour limiter les données exportées :
-- Exporter uniquement les données récentes
SELECT * FROM orders
WHERE order_date >= CURRENT_DATE - INTERVAL '30 days';
Données agrégées
Exportez des résultats résumés :
-- Exporter les totaux de ventes quotidiens
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;
Exportation par lots
Pour les grands jeux de données qui dépassent les limites de mémoire :
Exportations par morceaux
-- Exporter par lots de 10 000 lignes
SELECT * FROM large_table
ORDER BY id
LIMIT 10000 OFFSET 0;
-- Puis incrémentez OFFSET pour le lot suivant
SELECT * FROM large_table
ORDER BY id
LIMIT 10000 OFFSET 10000;
Curseurs côté serveur
Activez les curseurs côté serveur dans Préférences → Performance pour diffuser de grands ensembles de résultats sans problèmes de mémoire.
Exportations planifiées (Avancé)
Bien que HarborDB n'ait pas de planification intégrée, vous pouvez :
- Sauvegarder les requêtes d'exportation en tant que fichiers
- Utiliser macOS Automator pour exécuter des exportations
- Planifier avec cron ou launchd (utilisateurs avancés)
- Exporter vers des dossiers surveillés pour un traitement automatisé
Guide spécifique au format
Meilleures pratiques d'exportation CSV
Préparation des données
- Nettoyez les caractères spéciaux qui pourraient rompre l'analyse CSV :
-- Supprimez ou échappez les virgules dans les champs texte
SELECT
id,
REPLACE(description, ',', ';') as description,
amount
FROM products;
- Gérez les sauts de ligne dans les champs texte :
-- Remplacez les nouvelles lignes par des espaces
SELECT
id,
REPLACE(REPLACE(notes, CHR(10), ' '), CHR(13), ' ') as notes_clean
FROM customer_notes;
Paramètres CSV compatibles avec l'importation
Pour une compatibilité maximale avec d'autres applications :
| Application | Paramètres recommandés | | ------------------- | ------------------------------------------------------- | | Excel | Délimiteur virgule, Qualificateur guillemets doubles, Encodage UTF-8 | | Google Sheets | Délimiteur virgule, Encodage par défaut | | Python/R Pandas | Délimiteur virgule, Pas de qualificateur de texte | | PostgreSQL COPY | Délimiteur virgule, En-tête CSV, Guillemets doubles |
Meilleures pratiques d'exportation JSON
Exportation de données structurées
-- Exporter des données hiérarchiques
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;
Considérations sur le schéma JSON
- Structure cohérente : Assurez-vous que toutes les lignes ont les mêmes clés
- Types de données : JSON préserve les chaînes, nombres, booléens, null
- Profondeur d'imbrication : Envisagez l'aplatissement pour certaines applications
Optimisation des performances
Exportation de grands jeux de données
Gestion de la mémoire
- Activez le mode streaming dans Préférences → Performance
- Augmentez la taille des morceaux pour des exportations plus rapides (si RAM suffisante)
- Fermez les autres applications pour libérer les ressources système
- Surveillez le Moniteur d'activité pour l'utilisation de la mémoire
Considérations réseau
Pour les exportations de bases de données distantes :
- Exportez sur le serveur si possible (utilisez SSH ou bureau à distance)
- Compressez les exportations (HarborDB compresse automatiquement les grands JSON)
- Planifiez hors des heures de pointe pour les bases de données de production
- Utilisez des clauses WHERE pour limiter le transfert de données
Conseils de vitesse d'exportation
- Sélectionnez uniquement les colonnes nécessaires (pas SELECT *)
- Évitez les calculs coûteux dans les requêtes d'exportation
- Utilisez des colonnes indexées dans les clauses WHERE
- Exportez vers SSD pour un I/O disque plus rapide
- Désactivez l'analyse antivirus en temps réel sur le dossier d'exportation (temporairement)
Sécurité et confidentialité
Gestion des données sensibles
Rédaction de données
-- Exporter sans informations sensibles
SELECT
user_id,
LEFT(email, 3) || '***@***' as email_masked,
'***' as password_hash,
created_at
FROM users;
Considérations de conformité
- GDPR/CCPA : Supprimez les informations personnellement identifiables (PII)
- HIPAA : Désidentifiez les informations de santé protégées (PHI)
- PCI DSS : N'exportez jamais les numéros de carte de crédit complets
- Politiques internes : Suivez les règles de gestion des données de votre organisation
Pratiques d'exportation sécurisées
- Chiffrez les exportations sensibles en utilisant macOS FileVault ou des outils tiers
- Utilisez des méthodes de transfert sécurisées pour les fichiers exportés (SFTP, email chiffré)
- Définissez les permissions de fichiers appropriées (chmod 600 pour les fichiers sensibles)
- Supprimez automatiquement les fichiers d'exportation temporaires
- Auditez les journaux d'exportation (disponibles dans Préférences → Journaux)
Dépannage des problèmes courants
Problèmes CSV
"Colonnes mal alignées dans Excel"
- Cause : Virgules ou sauts de ligne intégrés dans les données
- Solution : Utilisez des qualificateurs de texte ou nettoyez les données avant l'exportation
"Problèmes d'encodage de caractères"
- Cause : Caractères non UTF-8 dans les données
- Solution : Exportez avec l'encodage UTF-8 avec BOM pour Excel
"Erreurs d'importation de grands fichiers"
- Cause : Limites de lignes/colonnes d'Excel (1 048 576 lignes, 16 384 colonnes)
- Solution : Divisez les données ou utilisez des outils CSV sans limites
Problèmes JSON
"Syntaxe JSON invalide"
- Cause : Caractères spéciaux non correctement échappés
- Solution : Utilisez les fonctions JSON de PostgreSQL pour assainir les données
"Erreurs de mémoire sur les grandes exportations"
- Cause : Tentative de charger l'ensemble des données en mémoire
- Solution : Activez l'exportation en streaming ou exportez par morceaux
"Données imbriquées trop complexes"
- Cause : JSON profondément imbriqué difficile à analyser
- Solution : Aplatissez la structure ou simplifiez la requête
Problèmes généraux
"Exportation trop lente"
- Causes possibles : Latence réseau, vitesse du disque, performance de la requête
- Étapes de débogage :
- Testez d'abord avec un petit jeu de données
- Vérifiez la connectivité réseau
- Vérifiez que le disque a de l'espace libre
- Optimisez la requête de base de données
"Données manquantes dans l'exportation"
- Vérifiez : Filtres de clause WHERE, sélection de colonnes, gestion des NULL
- Confirmez : Le nombre de lignes correspond aux attentes, toutes les colonnes incluses
"Erreurs d'autorisation refusée"
- Solution :
- Choisissez un autre emplacement de sauvegarde
- Vérifiez les permissions des dossiers
- Exécutez HarborDB avec les privilèges appropriés
- Désactivez temporairement le logiciel de sécurité
Intégration avec d'autres outils
Automatisation avec des scripts
Exemple de script shell
#!/bin/bash
# Exporter le rapport quotidien et l'envoyer par email
EXPORT_FILE="/Users/$(whoami)/Exports/ventes_quotidiennes_$(date +%Y%m%d).csv"
# Vous devriez scripter les actions HarborDB ici
# Envisagez d'utiliser les outils en ligne de commande PostgreSQL pour l'automatisation
pg_dump -t sales -c --inserts your_database > "$EXPORT_FILE"
# Compressez et envoyez par email
gzip "$EXPORT_FILE"
echo "Exportation quotidienne des ventes jointe" | mail -s "Rapport quotidien des ventes" \
-a "$EXPORT_FILE.gz" team@example.com
Importation vers d'autres applications
Excel/Google Sheets
- CSV : Importation directe via Données → Depuis un fichier texte/CSV
- JSON : Utilisez Power Query (Excel) ou Apps Script (Sheets)
Systèmes de base de données
-- Commande COPY PostgreSQL (depuis CSV exporté)
COPY customers FROM '/chemin/vers/export.csv' DELIMITER ',' CSV HEADER;
-- LOAD DATA MySQL
LOAD DATA LOCAL INFILE '/chemin/vers/export.csv'
INTO TABLE customers
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
Langages de programmation
# Exemple Python pandas
import pandas as pd
# Lire l'exportation CSV HarborDB
df = pd.read_csv('export.csv', encoding='utf-8')
print(f"Importé {len(df)} lignes")
# Ou exportation JSON
df_json = pd.read_json('export.json', orient='records')
Résumé des meilleures pratiques
Avant l'exportation
- Testez d'abord avec un petit jeu de données
- Vérifiez que les résultats de la requête correspondent aux attentes
- Vérifiez l'espace disque disponible
- Considérez la sensibilité des données et les exigences de conformité
Pendant l'exportation
- Choisissez le format approprié pour votre cas d'utilisation
- Utilisez des noms de fichiers descriptifs avec des dates
- Incluez des en-têtes/métadonnées pour plus de clarté
- Surveillez la progression pour les grandes exportations
Après l'exportation
- Vérifiez l'intégrité du fichier (ouvrez et vérifiez un échantillon)
- Sécurisez les fichiers sensibles (chiffrez si nécessaire)
- Nettoyez les fichiers temporaires
- Documentez l'exportation pour la reproductibilité
Prochaines étapes
Maintenant que vous pouvez exporter des données efficacement :
- Bases des requêtes - Maîtrisez l'écriture de requêtes SQL
- Navigation dans la base de données - Explorez la structure de la base de données
- Optimisation des performances - Optimisez la vitesse d'exportation
- Intégration macOS - Utilisez les fonctionnalités natives de macOS
Obtenir de l'aide
Si vous rencontrez des problèmes d'exportation :
- Consultez notre Guide de support pour le dépannage
- Visitez la FAQ pour les questions courantes
- Contactez le support pour une assistance personnalisée
Cela vous a-t-il été utile ?
Aidez-nous à améliorer cette documentation en fournissant des commentaires.