Convenções de nomenclatura de arquivos para exportações para o Amazon S3 para o Amazon RDS
Os dados exportados para tabelas específicas são armazenados no formato
, onde o prefixo base é o seguinte:base_prefix
/files
export_identifier
/database_name
/schema_name
.table_name
/
Por exemplo:
export-1234567890123-459/rdststdb/rdststdb.DataInsert_7ADB5D19965123A2/
Existem duas convenções de nomenclatura para arquivos.
-
Convenção atual:
batch_index
/part-partition_index
-random_uuid
.format-based_extension
O índice do lote é um número de sequência que representa um lote de dados lidos da tabela. Se não conseguirmos particionar a tabela em pequenos blocos para serem exportados paralelamente, haverá vários índices de lote. O mesmo acontecerá se a tabela for particionada em várias tabelas. Haverá vários índices de lote, um para cada partição da tabela principal.
Se conseguirmos particionar a tabela em pequenos blocos para serem lidos paralelamente, haverá apenas a pasta
1
de índices de lote.Na pasta de índices de lote, há um ou mais arquivos Parquet que contêm os dados da sua tabela. O prefixo do nome do arquivo Parquet é
part-
. Se a tabela estiver particionada, haverá vários arquivos que começam com o índice de partiçãopartition_index
00000
.Pode haver lacunas na sequência do índice de partição. Isso acontece porque cada partição é obtida de uma consulta por intervalos na tabela. Se não houver dados no intervalo dessa partição, esse número de sequência será ignorado.
Por exemplo, suponha que a coluna
id
seja a chave primária da tabela e os valores mínimo e máximo sejam100
e1000
. Quando tentamos exportar essa tabela com nove partições, a lemos com consultas paralelas, como as seguintes:SELECT * FROM table WHERE id <= 100 AND id < 200 SELECT * FROM table WHERE id <= 200 AND id < 300
Isso deve gerar nove arquivos, de
part-00000-
arandom_uuid
.gz.parquetpart-00008-
. No entanto, se não houver linhas com IDs entrerandom_uuid
.gz.parquet200
e350
, uma das partições concluídas estará vazia e nenhum arquivo será criado para ela. No exemplo anterior,part-00001-
não foi criado.random_uuid
.gz.parquet -
Convenção mais antiga:
part-
partition_index
-random_uuid
.format-based_extension
É igual à convenção atual, mas sem o prefixo
, por exemplo:batch_index
part-00000-c5a881bb-58ff-4ee6-1111-b41ecff340a3-c000.gz.parquet part-00001-d7a881cc-88cc-5ab7-2222-c41ecab340a4-c000.gz.parquet part-00002-f5a991ab-59aa-7fa6-3333-d41eccd340a7-c000.gz.parquet
A convenção de nomenclatura de arquivos está sujeita a alterações. Portanto, ao ler as tabelas de destino, recomendamos que você leia tudo dentro do prefixo base para a tabela.