Azure Databricks Learning
  • Azure Databricks Learning
  • Cluster Deployment
    • Create Azure Databricks Workspace
    • Create First Databricks Cluster
    • Get Databricks Instance
  • Environment Configuration
    • Get Databricks Personal Access Token
    • Development Environment Configuration
    • Create Azure Data Lake Storage Gen2 Storage Account
    • Secret Scopes
    • Use secrets in Databricks
    • Mount ADSL Gen2 to Cluster using service principal and OAuth 2.0
    • Create Azure Databricks Cluster - Azure Data Lake Storage Credential Passthrough
由 GitBook 提供支持
在本页

这有帮助吗?

  1. Environment Configuration

Use secrets in Databricks

Below scripts base on python notebook

dbutils.secrets.help()

Provides utilities for leveraging secrets within notebooks. Databricks documentation for more info.

get(scope: String, key: String): String -> Gets the string representation of a secret value with scope and key getBytes(scope: String, key: String): byte[] -> Gets the bytes representation of a secret value with scope and key list(scope: String): Seq -> Lists secret metadata for secrets within a scope listScopes: Seq -> Lists secret scopes

dbutils.secrets.listScopes()

Out[2]: [SecretScope(name='ADBDataLakeKeyVault'), SecretScope(name='DataLakeKeyVault')]

dbutils.secrets.list(scope="ADBDataLakeKeyVault")

Out[7]: [SecretMetadata(key='ADSL-AccountKey'),

SecretMetadata(key='ADSL-AccountName'),

SecretMetadata(key='ADSL-ContainerName-DWData'),

SecretMetadata(key='ADSL-ContainerName-ODSData'),

SecretMetadata(key='ADSL-ContainerName-RawData')]

dbutils.secrets.list(scope="DataLakeKeyVault")

Out[8]: [SecretMetadata(key='ADSL-AccountKey'),

SecretMetadata(key='ADSL-AccountName'),

SecretMetadata(key='ADSL-ContainerName-DWData'),

SecretMetadata(key='ADSL-ContainerName-ODSData'),

SecretMetadata(key='ADSL-ContainerName-RawData')]

dbutils.secrets.get(scope="ADBDataLakeKeyVault", key="ADSL-AccountKey")

Out[11]: '[REDACTED]'

spark.conf.set(
  "fs.azure.account.key." + dbutils.secrets.get(scope="DataLakeKeyVault",key="ADSL-AccountName") + ".dfs.core.windows.net",
  dbutils.secrets.get(scope="DataLakeKeyVault",key="ADSL-AccountKey"))
filePath = "abfss://" + dbutils.secrets.get(scope="DataLakeKeyVault",key="ADSL-ContainerName-RawData") + "@" + dbutils.secrets.get(scope="DataLakeKeyVault",key="ADSL-AccountName") + ".dfs.core.windows.net/"
dbutils.fs.ls(filePath)

Out[14]: [FileInfo(path='abfss://[REDACTED]@[REDACTED].dfs.core.windows.net/Customer.csv', name='Customer.csv', size=196514)]

dfCustomer = spark.read.format("csv") \
              .options(header='true', inferSchema='true') \
              .load(filePath + "Customer.csv")
dfCustomer.createOrReplaceTempView("customer")
%sql
select * from customer

Reference

上一页Secret Scopes下一页Mount ADSL Gen2 to Cluster using service principal and OAuth 2.0

最后更新于4年前

这有帮助吗?

Secrets CLI