we hebben onze mongo DB die JSON-gegevens opslaat. We wilden gegevens migreren naar Redshift voor een aantal query-doeleinden.
We hebben mongoexport csv gebruikt om csv van de mongo-tabel te maken en deze naar S3 te uploaden. We hebben het bijbehorende relationele schema in Redshift gemaakt en kopieeropdrachten gebruikt om deze csv-gegevens van s3 naar redshift te laden.
We kunnen java-apis gebruiken om mongo te doorzoeken en csv te maken en te uploaden naar s3. Hetzelfde kan worden geladen naar roodverschuiving.
Het echte probleem is dat omdat we mongo (json) of NoSQL gebruiken, we mogelijk een ander aantal kolommen hebben voor een bepaald object dat tot dezelfde tabel behoort (zoals wij JSON), maar in Redshift hebben we een vast aantal kolommen per tabel. moet alle mogelijke kolommen maken en gegevens laden. Voor die objecten die niet alle kolommen hebben, kunnen we er null-waarden voor invullen.