ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Databricks에서 Azure DataLake Storage Gen2 액세스하기
    Data 2022. 9. 2. 14:25
    반응형

    다음 3단계 스텝으로 진행하는 방법을 보여준다.

    1. Secret 스콥과 Secret을 생성한다.
    2. account 키를 사용하여 스파크 세션을 위한 설정을 한다.
    3. ADLS Gen3를 액세스한다.

    먼저 keyr값을 이용하여 직접액세스하는 것을 보여준다.

    • 먼저 애저의 storage account를 생성하고, 컨테이너를 하나 생성한다.
    • 그리고 아래에서 account key를 이용하여 databricks에서 액세스 할것이기 때문에 키를 복사한다.

    데이터브릭스에서 demoCluster 생성 : 14일 무료버전 사용중이고, 데모클러스터는 적당히 생성하였음.

    노트북 생성

    • spark 세션을 구성한다.
    spark.conf.set("fs.azure.account.key.스토리지어카운트.dfs.core.windows.net","위에서 복사한 key")
    
    • azure datalake 에있는 csv 파일을 읽어와서 데이터프레임을 보여준다.
    sdf = spark.read.csv(path='abfss://컨테이너이름@스토리지어카운트.dfs.core.windows.net/TotalSales.csv',header=True)
    display(sdf)
    

     💡 secrets Scope 만들기

    • Azure Key vault를 생성하여 맨위에서 생성한 키값을 저장한다. Secrets Name 에 adlkey라고 생성하고 데이터레이크 액세스키값을 등록한다.

    • azure databricks 워크스페이스에서 아래와 같이 입력한다.

    https://<databricks-instance>#secrets/createScope

    https://adb-8622536066129541.1.azuredatabricks.net/?o=8622531234567890#secrets/createScope

     

    Databricks - Sign In

     

    adb-8622536066129541.1.azuredatabricks.net

    Key vault에 접근하기 위해서 DNS Name 과 Resource ID를 입력한다.

    • 맨위에처럼 key 값을 바로 사용하지않고 secret Scope을 이용해서 데이터레이크의 csv를 액세스 하는방법이다.
    • 새로운 노트북을 notebook2를 생성한다.
    • spark 세션을구성한다.
    spark.conf.set("fs.azure.account.key.스토리지어카운트.dfs.core.windows.net",dbutils.secrets.get("testScope","adlkey"))
    
    • 위에서 생성한 secret scope을 이용하여 세션을 구성하고, 아래처럼 csv를 읽고 데이터프레임을 조회할수 있다.
    sdf = spark.read.csv(path='abfss://컨테이너@스토리지어카운트.dfs.core.windows.net/TotalSales.csv',header=True)
    display(sdf)
    
    • 이렇게하면 보안에 대한 이슈를 해결할수 있다.

    기존에 애저 클라우드에서 데이터를 데이터레이크에 적재하여 시냅스의 스파크를 이용할수도 있지만, 데이터브릭스를 이용하여 애저의 데이터레이크를 안전하게 연결하여 데이터를 로드하고 분석할수 있다.

     

    반응형

    댓글

Designed by Tistory.