共用方式為


將 Azure Databricks 連線至 Azure NetApp Files 物件已啟用 REST API 的磁碟區

物件 REST API 功能可讓 Azure Databricks 讀取和寫入資料至 Azure NetApp Files 磁碟區,支援從擷取到模型部署的端對端資料科學工作流程。

若要連線到 Azure Databricks,您可以設定初始化 (init) 腳本,以在 Databricks 計算端點上載入 SSL 憑證。 使用此設定可確保 Azure Databricks 與已啟用 REST API 的 Azure NetApp Files 物件磁碟區之間的安全通訊。

開始之前

確保您擁有:

建立init指令碼

init 指令碼會在叢集啟動期間執行。 如需 init 指令碼的詳細資訊,請參閱 什麼是 init 指令碼?

  1. 編寫一個 bash 腳本來載入 SSL 憑證。 使用.sh副檔名儲存指令碼。 例如:

    #!/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. 使用 Databricks CLI 或 Databricks UI,將 bash 腳本上傳至 Databricks 檔案系統 (DBFS) 。 如需詳細資訊,請參閱在 Azure Databricks 上管理檔案

設定叢集

  1. 瀏覽至 Azure Databricks 工作區。 開啟叢集組態設定。

  2. 「進階選項」 區段中,在「 初始化指令碼」下新增init指令碼的路徑。 例如:dbfs:/path/to/your/script.sh

    建立新的計算功能表的螢幕擷取畫面。

  3. 選取 init.sh 指令碼。 選取 [ 新增 ],然後 選取 [確認]。

  4. 若要套用變更並載入 SSL 憑證,請重新啟動叢集。

  5. 在記錄中,驗證憑證是否正確放置。

連線至 Azure NetApp Files 儲存區

Databricks 建議使用秘密範圍來儲存所有認證。 如需詳細資訊,請參閱 管理秘密範圍

  1. 在 Databricks 筆記本中,設定 Spark 工作階段以連線至 Azure NetApp 檔案貯體。 例如:

    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. 透過執行簡單的讀取操作來驗證連線。 例如:

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

    讀取操作成功截圖。

詳細資訊