Azure Data Explorer에서 Databricks로 데이터 수집

7097 단어 databricksadxazure
에서는 Blob 스토리지에서 ADX(Azure Data Explorer)로 데이터를 수집하는 방법을 설명합니다.

이 기사에서는 Databricks에서 데이터를 ADX하는 방법에 대해 설명합니다.

Azure Kusto Python SDK을 사용하여 데이터를 쿼리합니다. 샘플 코드here를 찾을 수 있습니다.

전제 조건



Azure Databricks를 추가합니다. 서비스 사용 방법에 따라 다르지만 이번에는 프리미엄이 필요하지 않기 때문에 "표준 등급"으로 만들었습니다.

Databricks용 클러스터 만들기



Databricks 리소스를 만든 후 클러스터를 추가합니다.

1. Azure Portal로 이동하여 방금 만든 Databricks 리소스를 선택합니다.



2. "워크플레이스 시작"을 클릭합니다.



3. 클러스터 메뉴로 이동하여 기본 설정으로 클러스터를 생성합니다. 비용을 절약하기 위해 Auto Scaling을 비활성화하고 노드 번호를 1로 설정했습니다.

노트북 만들기



마지막으로 데이터를 처리할 노트북을 만듭니다.

1. 직장으로 이동 | 사용자 | 귀하의 계정을 만들고 노트북을 만드십시오.



2. Python을 사용할 노트북을 생성합니다.



3. 필요한 pip 패키지를 설치합니다. 셀을 실행하여 성공적으로 설치되었는지 확인하십시오.

pip install azure-kusto-data azure-kusto-ingest

4. 새 셀을 추가하고 sample에서 가져온 다음 코드를 추가합니다. 환경에 맞게 다음 값을 바꿉니다.
  • 클러스터: 이것은 ADX 클러스터 주소입니다. Azure Portal의 ADX 개요 창에서 주소를 확인할 수 있습니다. URI 값을 복사합니다.
  • client_id: 이전 문서에서 만든 서비스 주체 ID입니다.
  • client_secret: 이전 문서에서 만든 서비스 주체 암호입니다.
  • authority_id: 서비스 주체가 추가된 테넌트 ID입니다. 서비스 주체 개요 창에서 ID를 볼 수 있습니다.



  • """A simple example how to use KustoClient."""
    
    from datetime import timedelta
    
    from azure.kusto.data.exceptions import KustoServiceError
    from azure.kusto.data.helpers import dataframe_from_result_table
    from azure.kusto.data import KustoClient, KustoConnectionStringBuilder, ClientRequestProperties
    
    ######################################################
    ##                        AUTH                      ##
    ######################################################
    
    cluster = "https://<your adx name>.<region>.kusto.windows.net"
    client_id = "<service principal id>"
    client_secret = "<service principal secret>"
    authority_id = "<tenant id>"
    
    kcsb = KustoConnectionStringBuilder.with_aad_application_key_authentication(cluster, client_id, client_secret, authority_id)
    
    client = KustoClient(kcsb)
    
    ######################################################
    ##                       QUERY                      ##
    ######################################################
    
    # once authenticated, usage is as following
    db = "catlogsdb"
    query = "cats | take 10"
    
    response = client.execute(db, query)
    dataframe = dataframe_from_result_table(response.primary_results[0])
    
    print(dataframe)
    

    다른 데이터베이스를 쿼리하거나 다른 쿼리를 사용하려면 쿼리 섹션을 변경하십시오.

    5. 노트북을 실행하고 결과를 확인합니다.



    입증



    암호화 없이 노트북에 비밀 정보를 하드코딩하는 것은 좋은 생각이 아닙니다.

    보안을 유지하는 방법에는 여러 가지가 있습니다.
  • 사용인증서
  • 시스템 할당 관리 서비스 ID(MSI) 사용
  • 사용자 지정 관리 서비스 ID(MSI) 사용
  • 사용자 이름 및 비밀번호(안전하지 않음)
  • 장치 인증 사용

  • Databricks 프리미엄 계층을 사용하는 경우 "비밀 저장소"에서 비밀을 얻을 수도 있습니다. 자세한 내용은 Secrets을 참조하십시오.

    요약



    ADX는 빅 데이터 분석을 위한 인기 있는 데이터 소스 중 하나입니다. Python 사용자가 아니더라도 걱정할 필요가 없습니다. Microsoft는 다른 언어에 대한 SDK도 제공합니다. Node SDK , .NETJava 참조

    좋은 웹페이지 즐겨찾기