자습서: Azure Data Lake Storage Gen2에 저장된 Delta 테이블에 쓰기

이 자습서에서는 Azure Data Lake Storage Gen2의 Delta 테이블에 쓰기 위해 Stream Analytics 작업을 만드는 방법을 보여 줍니다. 이 자습서에서는 다음을 하는 방법을 알아볼 수 있습니다.

  • 이벤트 허브에 샘플 데이터를 보내는 이벤트 생성기 배포
  • Stream Analytics 작업 만들기
  • 델타 테이블을 사용하여 Azure Data Lake Storage Gen2 구성
  • Stream Analytics 작업 실행

필수 조건

시작하기 전에 다음 단계를 완료합니다.

  • Azure 구독이 없는 경우 무료 계정을 만드세요.
  • TollApp 이벤트 생성기를 Azure에 배포하려면 TollApp Azure 템플릿 배포에 대한 이 링크를 사용하세요. ‘interval’ 매개 변수를 1로 설정합니다. 이 단계에 대한 새 리소스 그룹을 만들고 사용합니다.
  • Data Lake Storage Gen2 계정을 만듭니다.

Stream Analytics 작업 만들기

  1. Azure Portal에 로그인합니다.

  2. 왼쪽 메뉴에서 모든 서비스를 선택합니다.

  3. Analytics 섹션에서 Stream Analytics 작업 위로 마우스를 이동하고 +(더하기)를 선택합니다.

    전체 서비스 페이지에서 Stream Analytics 작업 선택을 보여 주는 스크린샷.

  4. Azure Portal의 왼쪽 위 모서리에서 리소스 만들기를 선택합니다.

  5. 결과 목록에서 Analytics>Stream Analytics 작업을 선택합니다.

  6. 새 Stream Analytics 작업 페이지에서 다음 단계를 수행합니다.

    1. 구독에 대해 Azure 구독을 선택합니다.
    2. 리소스 그룹의 경우 이전에 TollApp 배포에서 사용한 것과 동일한 리소스를 선택합니다.
    3. 이름에 대해 작업 이름을 입력합니다. Stream Analytics 작업 이름은 영숫자 문자, 하이픈, 밑줄만 사용할 수 있으며 길이가 3자에서 63자 사이여야 합니다.
    4. 호스팅 환경에 대해 클라우드가 선택되어 있는지 확인합니다.
    5. 스트림 단위에 대해 1을 선택합니다. 스트리밍 단위는 작업을 실행하는 데 필요한 컴퓨팅 리소스를 나타냅니다. 스트리밍 단위 크기를 조정하는 방법에 대한 자세한 내용은 스트리밍 단위의 이해 및 크기 조정 문서를 참조하세요.

    Stream Analytics 만들기 작업 양식을 보여 주는 스크린샷.

  7. 페이지 아래쪽에서 검토 + 만들기를 선택합니다.

  8. 검토 + 만들기 페이지에서 설정을 검토하고, 만들기를 선택하여 Stream Analytics 페이지를 만듭니다.

  9. 배포 페이지에서 리소스로 이동을 선택하여 Stream Analytics 작업 페이지로 이동합니다.

작업 입력 구성

다음 단계는 TollApp 배포에서 만들어진 이벤트 허브를 사용하여 데이터를 읽을 작업에 대한 입력 원본을 정의하는 것입니다.

  1. 이전 섹션에서 만든 Stream Analytics 작업을 찾습니다.

  2. Stream Analytics 작업의 작업 토폴로지 섹션에서 입력을 선택합니다.

  3. + 입력 추가를 선택하고 이벤트 허브를 선택합니다.

    입력 페이지를 보여 주는 스크린샷.

  4. TollApp Azure 템플릿을 통해 만들어진 다음 값으로 작성 양식을 작성합니다.

    1. 입력 별칭에서 entrystream을 입력합니다.

    2. 구독에서 이벤트 허브 선택을 선택합니다.

    3. 구독에 대해 Azure 구독을 선택합니다.

    4. 이벤트 허브 네임스페이스에서 이전 섹션에서 만든 이벤트 허브 네임스페이스를 선택합니다.

    5. 나머지 설정에서는 기본 옵션을 사용하고 저장을 선택합니다.

      입력 이벤트 허브 선택을 보여 주는 스크린샷.

작업 출력 구성

다음 단계는 작업이 데이터를 쓸 수 있는 출력 싱크를 정의하는 것입니다. 이 자습서에서는 Azure Data Lake Storage Gen2의 Delta 테이블에 출력을 씁니다.

  1. Stream Analytics 작업의 작업 토폴로지 섹션에서 출력 옵션을 선택합니다.

  2. + 출력 추가>Blob Storage/ADLS Gen2를 선택합니다.

    출력 페이지를 보여 주는 스크린샷.

  3. 다음 세부 정보로 출력 양식을 채우고 저장을 선택합니다.

    1. 출력 별칭DeltaOutput을 입력합니다.

    2. 구독에서 Blob Storage/ADLS Gen2 선택을 선택합니다.

    3. 구독에 대해 Azure 구독을 선택합니다.

    4. Storage 계정대해 사용자가 만든 ADLS Gen2 계정(tollapp 시작)을 선택합니다.

    5. 컨테이너의 경우 새로 만들기를 선택하고 고유한 컨테이너 이름을 제공합니다.

    6. 이벤트 Serialization 형식으로 Delta Lake를 선택합니다. Delta Lake는 여기서 옵션 중 하나이지만 데이터 서식은 아닙니다. Delta Lake는 버전이 지정된 Parquet 파일을 사용하여 데이터를 저장합니다. Delta Lake에 대해 자세히 알아봅니다.

    7. Delta 테이블 경로자습서 폴더/Delta 테이블을 입력합니다.

    8. 나머지 설정에서는 기본 옵션을 사용하고 저장을 선택합니다.

      출력 구성을 보여 주는 스크린샷.

쿼리 만들기

이 시점에는 들어오는 데이터 스트림을 읽도록 설정된 Stream Analytics 작업이 있습니다. 다음 단계는 실시간으로 데이터를 분석하는 쿼리를 만드는 것입니다. 쿼리는 Stream Analytics와 관련된 일부 확장 기능을 포함한 SQL과 유사한 언어를 사용합니다.

  1. 이제 왼쪽 메뉴의 작업 토폴로지 아래에서 쿼리를 선택합니다.

  2. 다음 쿼리를 쿼리 창에 입력합니다. 이 예에서 쿼리는 Event Hubs에서 데이터를 읽고 선택한 값을 ADLS Gen2의 Delta 테이블에 복사합니다.

     SELECT State, CarModel.Make, TollAmount
     INTO DeltaOutput
     FROM EntryStream TIMESTAMP BY EntryTime
    
  3. 도구 모음에서 쿼리 저장을 선택합니다.

    작업에 대한 쿼리를 보여 주는 스크린샷.

Stream Analytics 작업을 시작하고 출력을 확인합니다.

  1. Azure Portal의 작업 개요 페이지로 돌아가서 시작을 선택합니다.

    개요 페이지에서 작업 시작 단추 선택을 보여 주는 스크린샷.

  2. 작업 시작 페이지에서 작업 출력 시작 시간에 대해 지금이 선택되어 있는지 확인한 다음, 페이지 아래쪽에서 시작을 선택합니다.

    작업 시작 선택 페이지를 보여 주는 스크린샷.

  3. 몇 분 후 포털에서 작업에 대한 출력으로 구성한 스토리지 계정 및 컨테이너를 찾습니다. 이제 컨테이너에 지정된 폴더에서 Delta 테이블을 볼 수 있습니다. 작업이 처음 시작하는 데 몇 분이 걸리며, 시작된 후 데이터가 도착하면 계속 실행됩니다.

    컨테이너의 출력 데이터 파일을 보여 주는 스크린샷.

리소스 정리

더 이상 필요하지 않으면 리소스 그룹, Stream Analytics 작업 및 모든 관련 리소스를 삭제합니다. 작업을 삭제하면 작업에서 사용된 스트리밍 단위에 대한 청구를 방지합니다. 작업을 나중에 사용하려는 경우 중지하고 나중에 필요할 때 다시 시작할 수 있습니다. 이 작업을 계속 사용하지 않으려면 다음 단계를 사용하여 이 자습서에서 만든 리소스를 모두 삭제합니다.

  1. Azure Portal의 왼쪽 메뉴에서 리소스 그룹을 선택한 다음, 사용자가 만든 리소스의 이름을 선택합니다.
  2. 리소스 그룹 페이지에서 삭제를 선택하고 텍스트 상자에서 삭제할 리소스의 이름을 입력한 다음, 삭제를 선택합니다.

다음 단계

이 자습서에서는 간단한 Stream Analytics 작업을 만들고 들어오는 데이터를 필터링하고 ADLS Gen2 계정의 Delta 테이블에 결과를 기록했습니다. Stream Analytics 작업에 대해 자세히 알아보려면: