Descarregamento de dados semiestruturados - Amazon Redshift

O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a publicação de blog .

Descarregamento de dados semiestruturados

Com o Amazon Redshift, você pode exportar dados semiestruturados do cluster do Amazon Redshift para o Amazon S3 em vários formatos, incluindo texto, Apache Parquet, Apache ORC e Avro. As seções a seguir orientam você no processo de configuração e execução de operações de descarregamento de dados semiestruturados no Amazon Redshift.

CSV or text formats

É possível descarregar tabelas com colunas de dados SUPER no Amazon S3 em um formato CSV (valores separados por vírgula) ou em texto. Usando uma combinação de cláusulas de navegação e unnest, o Amazon Redshift descarrega dados hierárquicos no formato de dados SUPER para o Amazon S3 em formatos CSV ou de texto. Posteriormente, você pode criar tabelas externas contra dados descarregados e consultá-los usando o Redshift Spectrum. Para obter informações sobre como usar UNLOAD e as permissões necessárias do IAM, consulte UNLOAD.

O exemplo a seguir descarrega todos os dados de uma tabela do Amazon Redshift em um bucket do Amazon S3.

UNLOAD ('SELECT * FROM <redshift_table>') TO '<S3_bucket>' IAM_ROLE '<iam_role>' DELIMITER AS '|' GZIP ALLOWOVERWRITE;

Ao contrário de outros tipos de dados em que uma string definida pelo usuário representa um valor nulo, o Amazon Redshift exporta as colunas de dados SUPER usando o formato JSON e a representa como nulo conforme determinado pelo formato JSON. Como resultado, as colunas de dados SUPER ignoram a opção NULL [AS] usada nos comandos UNLOAD.

Parquet format

É possível descarregar tabelas com colunas de dados SUPER para o Amazon S3 no formato Parquet. O Amazon Redshift representa as colunas SUPER em Parquet como o tipo de dados JSON. Isso permite que dados semiestruturados sejam representados em Parquet. É possível consultar essas colunas usando o Redshift Spectrum ou ingeri-las de volta ao Amazon Redshift usando o comando COPY. Para obter informações sobre como usar UNLOAD e as permissões necessárias do IAM, consulte UNLOAD.

O exemplo a seguir descarrega todos os dados de uma tabela do Amazon Redshift em um bucket do Amazon S3 no formato Parquet.

UNLOAD ('SELECT * FROM <Amazon Redshift_table>') TO '<S3_bucket>' IAM_ROLE '<iam_role>' FORMAT PARQUET;