temos nosso mongo DB que armazena dados JSON. Queríamos migrar os dados para o Redshift para alguns fins de consulta.
Usamos o mongoexport csv para criar o csv da tabela mongo e o carregamos para o S3. Criamos o esquema relacional correspondente no Redshift e usamos comandos de cópia para carregar esses dados csv de s3 para redshift.
Podemos usar java apis para consultar o mongo e criar e fazer upload de csv para s3. O mesmo pode ser carregado para redshift.
O problema real é que, como usamos mongo (json) ou NoSQL, podemos ter um número diferente de colunas para determinado objeto que pertence à mesma tabela (como JSON), mas no Redshift temos um número fixo de colunas por tabela. precisa criar todas as colunas possíveis e carregar dados. Para aqueles objetos que não possuem todas as colunas, podemos preencher valores nulos para eles.