다음을 통해 공유


빅 데이터 클러스터에 HDFS 계층화를 위한 ADLS Gen2를 탑재하는 방법

다음 섹션에는 Azure Data Lake Storage Gen2 데이터 원본을 사용하여 HDFS 계층화를 구성하는 방법의 예제가 나와 있습니다.

Important

Microsoft SQL Server 2019 빅 데이터 클러스터 추가 기능이 사용 중지됩니다. SQL Server 2019 빅 데이터 클러스터에 대한 지원은 2025년 2월 28일에 종료됩니다. Software Assurance를 사용하는 SQL Server 2019의 모든 기존 사용자는 플랫폼에서 완전히 지원되며, 소프트웨어는 지원 종료 시점까지 SQL Server 누적 업데이트를 통해 계속 유지 관리됩니다. 자세한 내용은 공지 블로그 게시물Microsoft SQL Server 플랫폼의 빅 데이터 옵션을 참조하세요.

필수 조건

Azure Data Lake Storage에 데이터 로드

다음 섹션에서는 HDFS 계층화 테스트를 위해 Azure Data Lake Storage Gen2를 설정하는 방법을 설명합니다. Azure Data Lake Storage에 데이터가 이미 저장되어 있는 경우 이 섹션을 건너뛰어 자체 데이터를 사용할 수 있습니다.

  1. Data Lake Storage Gen2 기능을 사용하여 스토리지 계정을 만듭니다.

  2. 데이터에 대한 스토리지 계정에 파일 시스템을 만듭니다.

  3. 컨테이너에 CSV 또는 Parquet 파일을 업로드합니다. 이 파일이 빅 데이터 클러스터의 HDFS에 탑재되는 외부 HDFS 데이터입니다.

탑재를 위한 자격 증명

OAuth 자격 증명을 사용하여 탑재

OAuth 자격 증명을 사용하여 탑재하려면 다음과 같은 단계를 수행해야 합니다.

  1. Azure Portal로 이동

  2. Microsoft Entra ID로 이동하세요. 이 서비스는 왼쪽 탐색 모음에서 볼 수 있습니다.

  3. 리소스 메뉴에서 앱 등록을 선택하고 새 등록을 만듭니다.

  4. 웹 애플리케이션을 만들고 마법사의 안내를 따릅니다. 이 단계에서 만든 앱의 이름을 기억해 두세요. ADLS 계정에 이 이름을 권한 있는 사용자로 추가해야 합니다. 앱을 선택할 때 개요에 표시되는 애플리케이션 클라이언트 ID도 기억해 두세요.

  5. 웹 애플리케이션이 생성되면 인증서 및 암호로 이동해서 새 클라이언트 암호를 만듭니다. 키 지속 기간을 선택합니다. 추가를 사용하여 암호를 저장합니다.

  6. 앱 등록 페이지로 돌아가서 맨 위에 있는 "엔드포인트"를 클릭합니다. “OAuth 토큰 엔드포인트(v2)” URL을 기록해 둡니다.

  7. 이제 OAuth에 대해 다음과 같이 적어둔 내용이 있어야 합니다.

    • 애플리케이션의 “애플리케이션 클라이언트 ID”
    • 클라이언트 암호
    • 토큰 엔드포인트

ADLS 계정에 서비스 주체 추가

  1. 포털로 다시 이동하여 ADLS 스토리지 계정 파일 시스템으로 이동한 다음 왼쪽 메뉴에서 액세스 제어(IAM)를 선택합니다.
  2. “역할 할당 추가”를 선택합니다.
  3. “Storage Blob 데이터 기여자” 역할을 선택합니다.
  4. 위에서 만든 이름을 검색합니다(목록에는 표시되지 않지만 전체 이름을 검색하면 찾을 수 있습니다).
  5. 역할을 저장합니다.

탑재를 위한 자격 증명을 사용하기 전에 5~10분 동안 기다립니다.

OAuth 키 자격 증명에 대해 환경 변수 설정

빅 데이터 클러스터에 액세스할 수 있는 클라이언트 머신에서 명령 프롬프트를 엽니다. 다음 형식을 사용하여 환경 변수를 설정합니다. 자격 증명은 쉼표로 구분된 목록에 있어야 합니다. Windows에서는 ‘set’ 명령을 사용합니다. Linux를 사용하는 경우, 대신 ‘export’를 사용합니다.

참고로 자격 증명을 제공할 때 쉼표 "," 사이에 줄 바꿈 또는 공백을 제거해야 합니다. 아래 서식은 읽기 쉽도록 하기 위해 만든 것입니다.

   set MOUNT_CREDENTIALS=fs.azure.account.auth.type=OAuth,
   fs.azure.account.oauth.provider.type=org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider,
   fs.azure.account.oauth2.client.endpoint=[token endpoint],
   fs.azure.account.oauth2.client.id=[Application client ID],
   fs.azure.account.oauth2.client.secret=[client secret]

액세스 키를 사용하여 탑재

Azure Portal에서 ADLS 계정에 대해 가져올 수 있는 액세스 키를 사용하여 탑재할 수도 있습니다.

스토리지 계정에 대한 액세스 키(<storage-account-access-key>)를 찾는 방법에 대한 자세한 내용은 계정 키 및 연결 문자열 보기를 참조하세요.

액세스 키 자격 증명에 대해 환경 변수 설정

  1. 빅 데이터 클러스터에 액세스할 수 있는 클라이언트 머신에서 명령 프롬프트를 엽니다.

  2. 빅 데이터 클러스터에 액세스할 수 있는 클라이언트 머신에서 명령 프롬프트를 엽니다. 다음 형식을 사용해 환경 변수를 설정합니다. 자격 증명은 쉼표로 구분된 목록에 있어야 합니다. Windows에서는 ‘set’ 명령을 사용합니다. Linux를 사용하는 경우, 대신 ‘export’를 사용합니다.

참고로 자격 증명을 제공할 때 쉼표 "," 사이에 줄 바꿈 또는 공백을 제거해야 합니다. 아래 서식은 읽기 쉽도록 하기 위해 만든 것입니다.

set MOUNT_CREDENTIALS=fs.azure.abfs.account.name=<your-storage-account-name>.dfs.core.windows.net,
fs.azure.account.key.<your-storage-account-name>.dfs.core.windows.net=<storage-account-access-key>

원격 HDFS 스토리지 탑재

이제 액세스 키 또는 OAuth를 사용하여 MOUNT_CREDENTIALS 환경 변수를 설정했으므로 탑재를 시작할 수 있습니다. 다음 단계에서는 Azure Data Lake의 원격 HDFS 스토리지를 빅 데이터 클러스터의 로컬 HDFS 스토리지에 탑재합니다.

  1. kubectl을 사용하여 빅 데이터 클러스터에서 엔드포인트 controller-svc-external 서비스에 대한 IP 주소를 찾습니다. External-IP를 찾습니다.

    kubectl get svc controller-svc-external -n <your-big-data-cluster-name>
    
  2. 클러스터 사용자 이름 및 암호와 함께 컨트롤러 엔드포인트의 외부 IP 주소를 사용하여 azdata로 로그인합니다.

    azdata login -e https://<IP-of-controller-svc-external>:30080
    
  3. 환경 변수 MOUNT_CREDENTIALS를 설정합니다(지침을 보려면 위로 스크롤).

  4. azdata bdc hdfs mount create를 사용하여 Azure에 원격 HDFS 스토리지를 탑재합니다. 자리 표시자 값을 바꾼 후에 다음 명령을 실행합니다.

    azdata bdc hdfs mount create --remote-uri abfs://<blob-container-name>@<storage-account-name>.dfs.core.windows.net/ --mount-path /mounts/<mount-name>
    

    참고 항목

    mount create 명령은 비동기식입니다. 이 시점에서는 탑재가 성공했는지 여부를 나타내는 메시지가 없습니다. 상태 섹션을 참조해 탑재 상태를 확인하세요.

성공적으로 탑재된 경우 HDFS 데이터를 쿼리하고, 이 데이터에 대해 Spark 작업을 실행할 수 있어야 합니다. --mount-path이 지정한 위치의 빅 데이터 클러스터에 대한 HDFS에 표시됩니다.

탑재 상태 가져오기

빅 데이터 클러스터에 있는 모든 탑재 상태를 나열하려면 다음 명령을 사용합니다.

azdata bdc hdfs mount status

HDFS의 특정 경로에 있는 탑재의 상태를 나열하려면 다음 명령을 사용합니다.

azdata bdc hdfs mount status --mount-path <mount-path-in-hdfs>

탑재 새로 고침

다음 예제에서는 탑재를 새로 고칩니다. 이렇게 새로 고치면 탑재 캐시도 지워집니다.

azdata bdc hdfs mount refresh --mount-path <mount-path-in-hdfs>

탑재 삭제

탑재를 삭제하려면 azdata bdc hdfs mount delete 명령을 사용하고 HDFS의 탑재 경로를 지정합니다.

azdata bdc hdfs mount delete --mount-path <mount-path-in-hdfs>

다음 단계

SQL Server 2019 빅 데이터 클러스터에 대한 자세한 내용은 SQL Server 2019 빅 데이터 클러스터 소개를 참조하세요.