Classe DynamicFrameReader
— métodos —
__init__
__init__(glue_context)
glue_context– O Classe GlueContext a ser usado.
from_rdd
from_rdd(data, name, schema=None, sampleRatio=None)
Lê um DynamicFrame de um Conjunto de dados resiliente distribuído (RDD).
data– O conjunto de dados onde a leitura será feita.name– O nome onde a leitura será feita.schema– O esquema a ser lido (opcional).sampleRatio– A proporção da amostra (opcional).
from_options
from_options(connection_type, connection_options={}, format=None,
format_options={}, transformation_ctx="")
Lê um DynamicFrame usando a conexão e o formato especificados.
connection_type: o tipo de conexão. Os valores válidos incluems3,mysql,postgresql,redshift,sqlserver,oracle,dynamodbesnowflake.connection_options– Opções de conexão, como caminho e tabela de banco de dados (opcional). Para obter mais informações, consulte Tipos de conexão e opções para ETL no AWS Glue para Spark. Para umconnection_typedos3, os caminhos do Amazon S3 são definidos em uma matriz.connection_options = {"paths": [ "s3://amzn-s3-demo-bucket/object_a", "s3://amzn-s3-demo-bucket/object_b"]}Para conexões JDBC, várias propriedades devem ser definidas. Observe que o nome do banco de dados deve fazer parte do URL. Ele também pode ser incluído nas opções de conexão.
Atenção
Não é recomendável armazenar senhas no script. Considere usar
boto3para recuperá-los do AWS Secrets Manager ou do catálogo de dados do AWS Glue.connection_options = {"url": "jdbc-url/database", "user": "username", "password":passwordVariable,"dbtable": "table-name", "redshiftTmpDir": "s3-tempdir-path"}Para uma conexão JDBC que realiza leituras paralelas, você pode definir a opção hashfield. Por exemplo:
connection_options = {"url": "jdbc-url/database", "user": "username", "password":passwordVariable,"dbtable": "table-name", "redshiftTmpDir": "s3-tempdir-path" , "hashfield": "month"}Para obter mais informações, consulte Leitura de tabelas JDBC em paralelo.
format: uma especificação de formato (opcional). Essa ação é usada para um Amazon Simple Storage Service (Amazon S3) ou uma conexão do AWS Glue que ofereça suporte a vários formatos. Consulte Opções de formato de dados para entradas e saídas no AWS Glue para Spark para obter os formatos compatíveis.format_options: as opções de formato para o formato especificado. Consulte Opções de formato de dados para entradas e saídas no AWS Glue para Spark para obter os formatos compatíveis.transformation_ctx– O contexto de transformação a ser usado (opcional).push_down_predicate: filtra partições sem a necessidade de listar e ler todos os arquivos no seu conjunto de dados. Para obter mais informações, consulte Pré-filtragem usando a aplicação de predicados.
from_catalog
from_catalog(database, table_name, redshift_tmp_dir="", transformation_ctx="", push_down_predicate="", additional_options={})
Lê um DynamicFrame usando o namespace do catálogo e o nome da tabela especificados.
database– O banco de dados onde a leitura será feita.table_name– O nome da tabela onde a leitura será feita.redshift_tmp_dir: um diretório temporário do Amazon Redshift a ser usado (opcional se não estiver lendo dados do Redshift).transformation_ctx– O contexto de transformação a ser usado (opcional).push_down_predicate: filtra partições sem a necessidade de listar e ler todos os arquivos no seu conjunto de dados. Para obter mais informações, consulte Pré-filtragem usando a aplicação de predicados.additional_options: opções adicionais fornecidas ao AWS Glue.-
Para usar uma conexão JDBC que realiza leituras paralelas, você pode definir as opções
hashfield,hashexpressionouhashpartitions. Por exemplo:additional_options = {"hashfield": "month"}Para obter mais informações, consulte Leitura de tabelas JDBC em paralelo.
-
Para transmitir uma expressão de catálogo para filtrar com base nas colunas de índice, você pode consultar o opção
catalogPartitionPredicate.catalogPartitionPredicate: você pode transmitir uma expressão de catálogo para filtrar com base nas colunas de índice. Isso leva a filtragem para o lado do servidor. Para obter mais informações, consulte Índices de partição do AWS Glue. Observe quepush_down_predicateecatalogPartitionPredicateusam sintaxes diferentes. O primeiro usa a sintaxe padrão do Spark SQL e o outro usa o analisador JSQL.Para obter mais informações, consulte Gerenciar partições para saída de ETL no AWS Glue.
-