-
Databricks에서 Azure DataLake Storage Gen2 액세스하기Data 2022. 9. 2. 14:25반응형
다음 3단계 스텝으로 진행하는 방법을 보여준다.
- Secret 스콥과 Secret을 생성한다.
- account 키를 사용하여 스파크 세션을 위한 설정을 한다.
- 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
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)
- 이렇게하면 보안에 대한 이슈를 해결할수 있다.
기존에 애저 클라우드에서 데이터를 데이터레이크에 적재하여 시냅스의 스파크를 이용할수도 있지만, 데이터브릭스를 이용하여 애저의 데이터레이크를 안전하게 연결하여 데이터를 로드하고 분석할수 있다.
반응형'Data' 카테고리의 다른 글
데이터브릭스(databricks)에 쓰이는 매직 명령어(magic command) (0) 2023.01.27 데이터브릭스(databricks) 레이크하우스(Lakehouse) (2) 2022.11.24 Azure Synapse에 있는 Spark 클러스터로 NYC Taxi 데이터 분석 (1) 2022.08.30 Delta Lake 란 무엇일까요? (0) 2022.08.28 Azure AI Engineer Associate(AI-102)합격! (0) 2022.08.20