Partilhar via


Conectar o Azure Databricks a um volume habilitado para API REST do objeto Azure NetApp Files

O recurso de API REST do objeto permite que o Azure Databricks leia e grave dados nos volumes do Azure NetApp Files, dando suporte a fluxos de trabalho de ciência de dados de ponta a ponta, desde a ingestão até a implantação do modelo.

Para se conectar ao Azure Databricks, configure um script de inicialização (init) para carregar o certificado SSL nos pontos de extremidade de computação do Databricks. O uso dessa configuração garante uma comunicação segura entre o Azure Databricks e seu volume habilitado para API REST do objeto Azure NetApp Files.

Antes de começar

Certifique-se de que tem:

Criar o script init

O script init é executado durante a inicialização do cluster. Para obter mais informações sobre scripts init, consulte O que são scripts init?

  1. Escreva um script bash para carregar o certificado SSL. Salve o script com uma extensão .sh. Por exemplo:

    #!/bin/bash 
    
    cat << 'EOF' > /usr/local/share/ca-certificates/myca.crt 
    
    -----BEGIN CERTIFICATE----- 
    
    
    -----END CERTIFICATE----- 
    
    EOF 
    
    update-ca-certificates 
    
    PEM_FILE="/etc/ssl/certs/myca.pem" 
    
    PASSWORD="changeit" 
    
    JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::") 
    
    KEYSTORE="$JAVA_HOME/lib/security/cacerts" 
    
    CERTS=$(grep 'END CERTIFICATE' $PEM_FILE| wc -l) 
    
    # To process multiple certificates with keytool, you need to extract each one from the PEM file and import it into the Java KeyStore. 
    
    for N in $(seq 0 $(($CERTS - 1))); do 
    
    ALIAS="$(basename $PEM_FILE)-$N" 
    
    echo "Adding to keystore with alias:$ALIAS" 
    
    cat $PEM_FILE | 
    
        awk "n==$N { print }; /END CERTIFICATE/ { n++ }" | 
    
        keytool -noprompt -import -trustcacerts \ 
    
                -alias $ALIAS -keystore $KEYSTORE -storepass $PASSWORD 
    
    done 
    
    echo "export REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt" >> /databricks/spark/conf/spark-env.sh 
    
    echo "export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt" >> /databricks/spark/conf/spark-env.sh 
    
    #echo "volume IP URL of the bucket >> /etc/hosts 
    
  2. Use a CLI do Databricks ou a interface do usuário do Databricks para carregar o script bash no sistema de arquivos Databricks (DBFS). Para obter mais informações, consulte Trabalhar com arquivos no Azure Databricks.

Configurar o cluster

  1. Navegue até à sua área de trabalho do Azure Databricks. Abra as definições de configuração do cluster.

  2. Na seção Opções Avançadas , adicione o caminho ao script init em Init Scripts. Por exemplo: dbfs:/path/to/your/script.sh

    Captura de tela do menu Criar novo computador.

  3. Selecione o script init.sh. Selecione Adicionar e, em seguida, Confirmar.

  4. Para aplicar as alterações e carregar o certificado SSL, reinicie o cluster.

  5. Nos logs, valide se o certificado foi colocado corretamente.

Conectar-se a um bucket do Azure NetApp Files

O Databricks recomenda o uso de escopos secretos para armazenar todas as credenciais. Para obter mais informações, consulte Gerenciar escopos secretos.

  1. Em seu bloco de anotações Databricks, configure a sessão do Spark para se conectar ao bucket do Azure NetApp Files. Por exemplo:

    spark.conf.set("fs.s3a.endpoint", "https://your-s3-endpoint") 
    spark.conf.set("fs.s3a.access.key", "your-access-key") 
    spark.conf.set("fs.s3a.secret.key", "your-secret-key") 
    spark.conf.set("fs.s3a.connection.ssl.enabled", "true") 
    
  2. Verifique a conexão executando uma operação de leitura simples. Por exemplo:

    df = spark.read.csv("s3a://your-bucket/path/to/data.csv") 
    df.show() 
    

    Captura de tela da operação de leitura bem-sucedida.

Mais informações