Aracılığıyla paylaş


Azure Databricks'i Azure NetApp Files nesnesi REST API özellikli bir birime bağlama

Nesne REST API özelliği, Azure Databricks'in Verileri Okumasına ve Azure NetApp Files birimlerine yazmasına olanak tanır ve veri alımından model dağıtımına kadar uçtan uca veri bilimi iş akışlarını destekler.

Azure Databricks'e bağlanmak için, Databricks işlem uç noktalarına SSL sertifikasını yüklemek için bir başlatma (init) betiği yapılandırırsınız. Bu kurulumun kullanılması, Azure Databricks ile Azure NetApp Files nesnesi REST API özellikli biriminiz arasında güvenli iletişim sağlar.

Başlamadan önce

Şu durumlara sahip olduğunuzdan emin olun:

init betiğini oluşturma

Init betiği küme başlatma sırasında çalışır. Başlatma betikleri hakkında daha fazla bilgi için bkz. Başlatma betikleri nedir?

  1. SSL sertifikasını yüklemek için bir bash betiği yazın. Betiği .sh uzantısıyla kaydedin. Örneğin:

    #!/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. Bash betiğini Databricks Dosya Sistemi'ne (DBFS) yüklemek için Databricks CLI veya Databricks kullanıcı arabirimini kullanın. Daha fazla bilgi için bkz. Azure Databricks'te dosyalarla çalışma.

Kümeyi yapılandırma

  1. Azure Databricks çalışma alanınıza gidin. Küme yapılandırma ayarlarını açın.

  2. Gelişmiş Seçenekler bölümünde, Init Betikleri'nin altına init betiğinin yolunu ekleyin. Örneğin: dbfs:/path/to/your/script.sh

    Yeni işlem oluştur menüsünün ekran görüntüsü.

  3. init.sh betiğini seçin. Ekle'yi ve ardından Onayla'yı seçin.

  4. Değişiklikleri uygulamak ve SSL sertifikasını yüklemek için kümeyi yeniden başlatın.

  5. Günlüklerde sertifikanın doğru yerleştirilip yerleştirilmediğini doğrulayın.

Azure NetApp Files demetine bağlanma

Databricks, kimlik bilgilerini depolamak için gizli kapsamların kullanılmasını önerir. Daha fazla bilgi için bkz. Gizli dizin kapsamlarını yönetme.

  1. Databricks not defterinizde Spark oturumunu Azure NetApp Files demetine bağlanacak şekilde yapılandırın. Örneğin:

    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. Basit bir okuma işlemi gerçekleştirerek bağlantıyı doğrulayın. Örneğin:

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

    Başarılı okuma işleminin ekran görüntüsü.

Daha Fazla Bilgi