Share via


Apache Spark™ 클러스터에서 Hive 메타스토어를 사용하는 방법

Important

이 기능은 현지 미리 보기로 제공됩니다. Microsoft Azure 미리 보기에 대한 보충 사용 약관에는 베타 또는 미리 보기로 제공되거나 아직 일반 공급으로 릴리스되지 않은 Azure 기능에 적용되는 더 많은 약관이 포함되어 있습니다. 이 특정 미리 보기에 대한 자세한 내용은 Azure HDInsight on AKS 미리 보기 정보를 참조하세요. 질문이나 기능 제안이 있는 경우 AskHDInsight에서 세부 정보와 함께 요청을 제출하고 Azure HDInsight 커뮤니티에서 더 많은 업데이트를 확인하세요.

여러 서비스에서 데이터와 메타스토어를 공유하는 것이 중요합니다. HIVE 메타스토어에서 일반적으로 사용되는 메타스토어 중 하나입니다. AKS의 HDInsight를 사용하면 사용자가 외부 메타스토어에 연결할 수 있습니다. 이 단계를 통해 HDInsight 사용자는 에코시스템의 다른 서비스에 원활하게 연결할 수 있습니다.

AKS의 Azure HDInsight는 프로덕션 클러스터에 권장되는 사용자 지정 메타스토어를 지원합니다. 관련된 주요 단계는 다음과 같습니다.

  1. Azure SQL 데이터베이스 만들기
  2. 자격 증명을 저장하기 위한 키 자격 증명 모음 만들기
  3. Apache Spark™를 사용하여 AKS의 HDInsight 클러스터를 만드는 동안 메타스토어 구성
  4. 외부 메타스토어에서 작동합니다(데이터베이스 표시 및 한도 선택 1 수행).

클러스터를 만드는 동안 HDInsight 서비스는 외부 메타스토어에 연결하고 자격 증명을 확인해야 합니다.

Azure SQL 데이터베이스 만들기

  1. HDInsight 클러스터에 대해 사용자 지정 Hive 메타스토어를 설정하기 전에 Azure SQL Database를 만들거나 기존 Azure SQL Database를 사용합니다.

    참고 항목

    현재는 HIVE 메타스토어용 Azure SQL Database만 지원합니다. Hive 제한으로 인해 메타스토어 데이터베이스 이름에 “-”(하이픈) 문자는 지원되지 않습니다.

자격 증명을 저장하기 위한 키 자격 증명 모음 만들기

  1. Azure Key Vault를 만듭니다.

    Key Vault의 목적은 SQL 데이터베이스를 만드는 동안 SQL Server 관리자 암호를 저장할 수 있도록 하는 것입니다. AKS 플랫폼의 HDInsight는 자격 증명을 직접 처리하지 않습니다. 따라서 중요한 자격 증명을 Azure Key Vault에 저장해야 합니다. Azure Key Vault를 만드는 단계를 알아봅니다.

  2. Azure Key Vault 만들기를 게시하여 다음 역할 할당하기

    Object 역할 설명
    사용자 할당 관리 ID(HDInsight 클러스터에서 사용하는 것과 동일한 UAMI) Key Vault 비밀 사용자 UAMI에 역할 할당 방법 알아보기
    사용자(Azure Key Vault에서 비밀을 만드는 사용자) Key Vault 관리자 사용자에게 역할 할당 방법을 알아봅니다.

    참고 항목

    이 역할이 없으면 사용자는 비밀을 만들 수 없습니다.

  3. 비밀 만들기

    이 단계를 통해 Azure Key Vault에서 SQL Server 관리자 암호를 비밀로 유지할 수 있습니다. 비밀을 추가하는 동안 “값” 필드에 암호(관리자용 SQL DB에 제공된 것과 동일한 암호)를 추가합니다.

    키 자격 증명 모음을 만드는 방법을 보여 주는 스크린샷.

    비밀을 만드는 방법을 보여 주는 스크린샷.

    참고 항목

    클러스터를 만드는 동안 필요하므로 비밀 이름을 기록해 두어야 합니다.

HDInsight Spark 클러스터를 만드는 동안 메타스토어 구성

  1. AKS의 HDInsight 클러스터 풀의 HDInsight로 이동하여 클러스터를 만듭니다.

    새 클러스터를 만드는 방법을 보여 주는 스크린샷.

  2. 토글 단추를 사용하도록 설정하여 외부 Hive 메타스토어를 추가하고 다음 세부 정보를 입력합니다.

    기본 탭을 보여 주는 스크린샷.

  3. 나머지 세부 정보는 AKS의 HDInsight에 있는 Apache Spark 클러스터에 대한 클러스터 만들기 규칙에 따라 입력됩니다.

  4. 검토 및 만들기를 클릭합니다.

    검토 및 만들기 탭을 보여 주는 스크린샷.

    참고 항목

    • metastore의 수명 주기가 클러스터의 수명 주기에 연결되어 있지 않으므로 메타데이터를 손실하지 않고 클러스터를 만들고 삭제할 수 있습니다. HDInsight 클러스터를 삭제하고 다시 만든 후에도 Hive 스키마와 같은 메타데이터가 유지됩니다.
    • 사용자 지정 metastore를 사용하면 해당 metastore에 여러 클러스터 및 클러스터 유형을 첨부할 수 있습니다.

외부 메타스토어에서 작동

  1. 테이블 만들기

    >> spark.sql("CREATE TABLE sampleTable (number Int, word String)")

    테이블을 만드는 방법을 보여 주는 스크린샷.

  2. 테이블에 데이터 추가

    >> spark.sql("INSERT INTO sampleTable VALUES (123, \"HDIonAKS\")");\

    삽입 문을 보여 주는 스크린샷.

  3. 테이블 읽기

    >> spark.sql("select * from sampleTable").show()

    테이블을 읽는 방법을 보여 주는 스크린샷.

참조