Todos os produtos
Search
Central de documentação

AnalyticDB:Configure o acesso à internet pública para aplicações Spark

Última atualização: Jun 27, 2026

Este tópico explica como configurar uma aplicação Spark no AnalyticDB for MySQL para acessar recursos públicos, como um banco de dados autogerenciado ou serviços de dados de outros provedores de nuvem.

Contexto

O Internet NAT Gateway fornece tradução de endereços de rede (NAT). Crie um Internet NAT Gateway para uma Virtual Private Cloud (VPC) a fim de permitir que as instâncias na VPC acessem a internet. Para mais informações, consulte O que é um Internet NAT gateway?.

Observações de uso

Se sua fonte de dados externa utilizar controles de segurança de rede, como firewall ou lista de permissões de IP, adicione o endereço IP público da entrada SNAT ou o bloco CIDR de IP do vSwitch a esses controles. Caso contrário, a aplicação Spark não conseguirá acessar a fonte de dados.

Procedimento

  1. Crie um Internet NAT Gateway.

    O Internet NAT Gateway deve estar na mesma região da instância do AnalyticDB for MySQL.

  2. Associe um endereço Elastic IP (EIP).

  3. Crie uma entrada SNAT.

    Recomendamos criar uma entrada SNAT em Select vSwitch. Selecione qualquer vSwitch para a entrada.

  4. Na aplicação Spark, configure os seguintes parâmetros principais conforme o exemplo abaixo.

    Nota

    Essa configuração não é necessária se você desenvolver jobs Spark em um Notebook.

    {
        "comments": ["-- Here is just an example of SparkPi. Modify the content and run your spark program."],
        "args": ["1000"],
        "file": "local:///tmp/spark-examples.jar",
        "name": "SparkPi",
        "className": "org.apache.spark.examples.SparkPi",
        "conf": {
            "spark.driver.resourceSpec": "small",
            "spark.executor.instances": 1,
            "spark.executor.resourceSpec": "small",
            "spark.adb.eni.enabled": "true",
            "spark.adb.eni.vswitchId": "vsw-bp1ghmwrkeaw3xvnd****",
            "spark.adb.eni.securityGroupId": "sg-bp1airvjxl5vpr2****"	
        }
    }

    A tabela a seguir descreve os parâmetros principais.

    Parâmetro

    Descrição

    spark.adb.eni.enabled

    Define se uma interface de rede elástica (ENI) será usada para acessar fontes de dados externas por meio de tabelas externas. Defina este parâmetro como true.

    spark.adb.eni.vswitchId

    ID do vSwitch da interface de rede elástica. Defina este parâmetro com o vSwitch ID especificado na SNAT entry.

    spark.adb.eni.securityGroupId

    ID do grupo de segurança da interface de rede elástica. Defina este parâmetro com o ID de um grupo de segurança na VPC onde reside o Internet NAT gateway.

    Para mais informações sobre aplicações Spark, consulte Visão geral do desenvolvimento de aplicações Spark.

-- For test methods, see https://www.alibabacloud.com/help/document_detail/2539754.html
-- The url parameter specifies the public connection address.
-- For information about ENI configuration, see the preceding sections.

set spark.adb.eni.enabled=true;
set spark.adb.eni.vswitchId=<vsw-bp1sxxsodv28ey5dl****>;   
set spark.adb.eni.securityGroupId=<sg-bp19mr685pmg4ihc****>;    

CREATE TEMPORARY VIEW table_tmp
USING org.apache.spark.sql.jdbc
OPTIONS (
  url '<jdbc:mysql://rm-bp1k87323a7ia****.mysql.rds.aliyuncs.com:3306>',     
  dbtable '<db_1.table_11>',    
  user '<user>',       
  password '<password>'      
);

select * from table_tmp;