자습서: Azure Cosmos DB for NoSQL에서 Jupyter Notebook을 만들어 데이터 분석 및 시각화(미리 보기)

적용 대상: NoSQL

Warning

Azure Cosmos DB의 Jupyter Notebooks 기능은 2024년 3월 30일에 사용 중지됩니다. Azure Cosmos DB 계정에서 기본 제공 Jupyter Notebook을 사용할 수 없습니다. Visual Studio Code의 Jupyter Notebooks 지원 또는 기본 Notebooks 클라이언트를 사용하는 것이 좋습니다.

이 자습서에서는 Azure Cosmos DB의 Jupyter Notebooks 기능을 사용하여 샘플 소매 데이터를 Azure Cosmos DB for NoSQL 계정으로 가져오는 방법을 안내합니다. Azure Cosmos DB 매직 명령을 사용하여 쿼리를 실행하고, 데이터를 분석하고, 결과를 시각화하는 방법을 알아봅니다.

필수 조건

새 Notebook 만들기

이 섹션에서는 Azure Cosmos 데이터베이스와 컨테이너를 만들고 소매 데이터를 컨테이너로 가져옵니다.

  1. Azure Cosmos DB 계정으로 이동하여 데이터 탐색기를 엽니다.

  2. 새 Notebook을 선택합니다.

    Screenshot of the Data Explorer with the 'New Notebook' option highlighted.

  3. 표시되는 확인 대화 상자에서 만들기를 선택합니다.

    참고 항목

    Jupyter Notebook으로 작업할 수 있도록 임시 작업 영역이 만들어집니다. 세션이 만료되면 작업 영역의 모든 Notebook이 제거됩니다.

  4. Notebook에 사용할 커널을 선택합니다.

이제 새 Notebook이 만들어졌으므로 VisualizeRetailData.ipynb와 같은 이름으로 변경할 수 있습니다.

SDK를 사용하여 데이터베이스 및 컨테이너 만들기

  1. 기본 코드 셀에서 시작합니다.

  2. 이 자습서에 필요한 모든 패키지를 가져옵니다.

    import azure.cosmos
    from azure.cosmos.partition_key import PartitionKey
    
  3. 기본 제공 SDK를 사용하여 RetailIngest라는 데이터베이스를 만듭니다.

    database = cosmos_client.create_database_if_not_exists('RetailIngest')
    
  4. 파티션 키가 /CartIDWebsiteMetrics라는 컨테이너를 만듭니다.

    container = database.create_container_if_not_exists(id='WebsiteMetrics', partition_key=PartitionKey(path='/CartID'))
    
  5. 실행을 선택하여 데이터베이스 및 컨테이너 리소스를 만듭니다.

    Screenshot of the 'Run' option in the menu.

매직 명령을 사용하여 데이터 가져오기

  1. 새 코드 셀을 추가합니다.

  2. 코드 셀 내에서 다음 매직 명령을 추가하여 이 URL의 JSON 데이터를 기존 컨테이너에 업로드합니다. https://cosmosnotebooksdata.blob.core.windows.net/notebookdata/websiteData.json

    %%upload --databaseName RetailIngest --containerName WebsiteMetrics --url https://cosmosnotebooksdata.blob.core.windows.net/notebookdata/websiteData.json
    
  3. 이 특정 셀에서만 명령을 실행하려면 활성 셀 실행을 선택합니다.

    Screenshot of the 'Run Active Cell' option in the menu.

    참고 항목

    가져오기 명령을 완료하는 데 5~10초가 걸립니다.

  4. 실행 명령의 출력을 관찰합니다. 2,654개 문서를 가져왔는지 확인합니다.

    Documents successfully uploaded to WebsiteMetrics
    Total number of documents imported:
      Success: 2654
      Failure: 0
    Total time taken : 00:00:04 hours
    Total RUs consumed : 27309.660000001593
    

데이터 시각화

  1. 다른 새 코드 셀을 만듭니다.

  2. 코드 셀에서 SQL 쿼리를 사용하여 Pandas DataFrame을 채웁니다.

    %%sql --database RetailIngest --container WebsiteMetrics --output df_cosmos
    SELECT c.Action, c.Price as ItemRevenue, c.Country, c.Item FROM c
    
  3. 이 특정 셀에서만 명령을 실행하려면 활성 셀 실행을 선택합니다.

  4. 다른 새 코드 셀을 만듭니다.

  5. 코드 셀에서 데이터 프레임의 상위 10개 항목을 출력합니다.

    df_cosmos.head(10)
    
  6. 이 특정 셀에서만 명령을 실행하려면 활성 셀 실행을 선택합니다.

  7. 명령 실행 결과를 관찰합니다.

    작업 ItemRevenue Country Item
    0 구매함 19.99 북마케도니아 공화국 와이셔츠
    1 조희됨 12.00 파푸아뉴기니 목걸이
    2 조희됨 25.00 슬로바키아(슬로바키아 공화국) 카디건 스웨터
    3 구매함 14.00 세네갈 플립 플롭 신발
    4 조희됨 50.00 파나마 데님 반바지
    5 조희됨 14.00 세네갈 플립 플롭 신발
    6 추가됨 14.00 세네갈 플립 플롭 신발
    7 추가됨 50.00 파나마 데님 반바지
    8 구매함 33.00 팔레스타인 자치 정부 빨간색 상의
    9 조희됨 30.00 몰타 녹색 스웨터
  8. 다른 새 코드 셀을 만듭니다.

  9. 코드 셀에서 Pandas 패키지를 가져와 데이터 프레임의 출력을 사용자 지정합니다.

    import pandas as pd
    pd.options.display.html.table_schema = True
    pd.options.display.max_rows = None
    
    df_cosmos.groupby("Item").size()
    
  10. 이 특정 셀에서만 명령을 실행하려면 활성 셀 실행을 선택합니다.

  11. 출력에서 꺾은선형 차트 옵션을 선택하여 데이터의 다른 시각화를 봅니다.

    Screenshot of the Pandas dataframe visualization for the data as a line chart.

Notebook 유지

  1. Notebooks 섹션에서 이 자습서용으로 만든 Notebook의 바로 가기 메뉴를 열고 다운로드를 선택합니다.

    Screenshot of the notebook context menu with the 'Download' option.

    작업을 영구적으로 저장하려면 Notebook을 GitHub 리포지토리에 저장하거나 세션이 끝나기 전에 Notebook을 로컬 컴퓨터에 다운로드합니다.

다음 단계