Sistemas de tipos do AWS Glue - AWS União

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Sistemas de tipos do AWS Glue

O AWS Glue usa sistemas de vários tipos para fornecer uma interface versátil em sistemas de dados que armazenam dados de maneiras muito diferentes. Este documento fornece esclarecimentos sobre sistemas do tipo AWS Glue e padrões de dados.

Tipos de AWS Glue Data Catalog

O Data Catalog é um registro de tabelas e campos armazenados em vários sistemas de dados, um metastore. Quando componentes do AWS Glue, como crawlers do AWS Glue e trabalhos do AWS Glue com Spark, gravam no Data Catalog, eles fazem isso com um sistema de tipos interno para rastrear os tipos de campos. Esses valores são mostrados na coluna Tipo de dados do esquema de tabela no console do AWS Glue. Esse sistema de tipos é baseado no sistema de tipos do Apache Hive. Para obter mais informações sobre o sistema de tipos do Apache Hive, consulte Tipos na wiki do Apache Hive. Para obter mais informações sobre tipos específicos e suporte, exemplos são fornecidos no console do AWS Glue, como parte do Schema Builder.

Validação, compatibilidade e outros usos

O Data Catalog não valida tipos gravados em campos de tipo. Quando os componentes do AWS Glue leem e gravam no Data Catalog, eles são compatíveis entre si. AWS Os componentes de Glue também visam preservar um alto grau de compatibilidade com os tipos do Hive. Porém, os componentes do AWS Glue não garantem a compatibilidade com todos os tipos do Hive. Isso permite a interoperabilidade com ferramentas como o Athena DDL ao trabalhar com tabelas no Data Catalog.

Como o Data Catalog não valida tipos, outros serviços podem usar o Data Catalog para rastrear tipos usando sistemas estritamente conformes com o sistema do tipos do Hive ou qualquer outro sistema.

Tipos em scripts do AWS Glue com Spark

Quando um script do AWS Glue with Spark interpreta ou transforma um conjunto de dados, fornecemos o DynamicFrame, uma representação na memória do conjunto de dados conforme ele é usado em seu script. O objetivo de um DynamicFrame é semelhante ao do DataFrame do Spark: ele modela o conjunto de dados para que o Spark possa agendar e executar transformações nos dados. Garantimos que a representação de tipo do DynamicFrame seja intercompatível com o DataFrame, fornecendo os métodos toDF e fromDF.

Se as informações de tipo puderem ser inferidas ou fornecidas a um DataFrame, elas poderão ser inferidas ou fornecidas a um DynamicFrame, a menos documentado o contrário. Quando fornecemos leitores ou gravadores otimizados para formatos de dados específicos, se o Spark puder ler ou gravar seus dados, nossos leitores e gravadores fornecidos poderão fazê-lo, sujeito às limitações documentadas. Para obter mais informações sobre leitores e gravadores, consulte Opções de formato de dados para entradas e saídas no AWS Glue para Spark.

O tipo Escolha

Os DynamicFrames fornecem um mecanismo para modelar campos em um conjunto de dados cujo valor pode ter tipos inconsistentes em disco entre as linhas. Por exemplo, um campo pode conter um número armazenado como uma string em determinadas linhas e um número inteiro em outras. Esse mecanismo é um tipo de memória denominado Choice. Fornecemos transformações, como o método ResolveChoice, para resolver as colunas de Escolha em um tipo concreto. O ETL do AWS GLue não gravará o tipo Escolha no Data Catalog durante o curso normal da operação; os tipos Escolha só existem no contexto dos modelos de memória DynamicFrame de conjuntos de dados. Para obter um exemplo do uso do tipo Escolha, consulte Exemplo de código: preparo de dados usando ResolveChoice, Lambda e ApplyMapping.

Tipos de crawler do AWS Glue

Os crawlers visam produzir um esquema consistente e utilizável para seu conjunto de dados e, em seguida, armazená-lo no Data Catalog para uso em outros componentes do AWS Glue e do Athena. Os crawlers lidam com os tipos conforme descrito na seção anterior sobre o Data Catalog, Tipos de AWS Glue Data Catalog. Para produzir cenários utilizáveis do tipo "Escolha", em que uma coluna contém valores de dois ou mais tipos, os crawlers criam um tipo de struct que modela os tipos possíveis.