MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Esporta i dati JSON e caricali in un database relazionale

abbiamo il nostro mongo DB che memorizza i dati JSON. Volevamo migrare i dati su Redshift per alcuni scopi di query.

Abbiamo usato mongoexport csv per creare CSV dalla tabella mongo e l'abbiamo caricato su S3. Abbiamo creato lo schema relazionale corrispondente in Redshift e utilizzato i comandi di copia per caricare questi dati CSV da s3 a redshift.

Possiamo usare java apis per interrogare mongo e creare e caricare CSV su s3. Lo stesso può essere caricato in redshift.

Il vero problema è che poiché usiamo mongo (json) o NoSQL potremmo avere un numero diverso di colonne per un determinato oggetto che appartiene alla stessa tabella (come noi JSON), ma in Redshift abbiamo un numero fisso di colonne per tabella Quindi in questi casi tu è necessario creare tutte le colonne possibili e caricare i dati. Per quegli oggetti che non hanno tutte le colonne possiamo popolare valori null per loro.