cbt 도구를 사용한 빠른 시작

Cloud Bigtable에 대해 알아보려면 빠른 시작을 통해 프로덕션 환경에서 대규모로 사용할 기본 사항을 익힐 수 있습니다.

이 빠른 시작에서는 cbt 명령줄 도구를 사용합니다. HBase 셸을 사용하려면 대신 빠른 시작: HBase 셸 사용을 따르세요.

이 빠른 시작에서는 다음 작업을 수행합니다.

  • Cloud Bigtable 인스턴스 연결
  • 기본 관리 작업 수행
  • 테이블에 데이터 쓰기
  • 테이블에서 데이터 읽기

이 빠른 시작은 Cloud Shell 또는 로컬 터미널 창을 사용하여 수행할 수 있습니다.

  1. GCP 프로젝트를 선택하거나 만듭니다. 이 빠른 시작에서 만든 리소스를 유지하지 않으려면 새 프로젝트를 만듭니다. 빠른 시작을 완료한 후 프로젝트를 삭제합니다.

    프로젝트 선택기 페이지로 이동

  2. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다. 프로젝트에 결제가 사용 설정되어 있는지 확인하는 방법을 알아보세요.

  3. Cloud Bigtable 및 Cloud Bigtable Admin API를 사용 설정합니다.

    API 사용 설정

  4. API를 사용 설정한 후 사용자 인증 정보로 이동을 클릭합니다.

  5. 사용자 인증 정보 페이지에서 필수 질문에 답변합니다.

    1. '사용 중인 API는 무엇인가요?'에 대한 답변으로 Cloud Bigtable API를 선택합니다.
    2. App Engine 또는 Compute Engine에 대한 질문에 답변합니다. 이 빠른 시작의 경우 사용하지 않습니다.
    3. 어떤 사용자 인증 정보가 필요한가요?를 클릭합니다.
    4. 서비스 계정을 만들라는 메시지가 표시되면 다음 정보를 입력합니다.
      1. 서비스 계정의 이름을 선택합니다.
      2. 역할Cloud Bigtable > Bigtable 관리자를 선택합니다.
      3. 키 유형으로 JSON을 선택합니다.
      4. 계속을 클릭합니다.
      5. 새로 만든 서비스 계정 JSON 파일을 로컬 HOME 디렉터리나 원하는 위치에 저장합니다. Cloud Shell에서 빠른 시작을 완료할 계획이라면 이 단계를 건너뛸 수 있습니다.
    5. 새 서비스 계정을 만들라는 메시지가 표시되지 않으면 완료를 클릭합니다.
  6. 로컬에서 또는 Cloud Shell을 사용하여 터미널 창을 엽니다.

    Cloud Shell 열기

  7. 로컬 터미널 창을 사용하는 경우 GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 설정합니다. [PATH]를 서비스 계정 키가 포함된 JSON 파일의 파일 경로로 바꿉니다.

       export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

    예:

       export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/my-key.json"

  8. 로컬 터미널 창을 사용하는 경우 이전에 Cloud SDK 및 cbt 도구를 설치하지 않았다면 지금 설치합니다. Cloud Shell을 사용하는 경우 이러한 도구가 사전 설치되어 있으므로 이 단계를 건너뛸 수 있습니다.

    1. Cloud SDK 설치

    2. cbt 명령줄 도구를 설치합니다.

      gcloud components update
      gcloud components install cbt

Cloud Bigtable 인스턴스 만들기

  1. Google Cloud Console에서 인스턴스 만들기 페이지를 엽니다.

    인스턴스 만들기

  2. 인스턴스 이름Quickstart instance를 입력합니다.

  3. 인스턴스 IDquickstart-instance를 입력합니다.

  4. 스토리지 유형으로 SSD를 선택합니다.

  5. 클러스터 IDquickstart-instance-c1을 입력합니다.

  6. 리전으로 가까운 리전을 선택합니다.

  7. 영역으로 선택한 리전의 영역을 선택합니다.

  8. 만들기를 클릭하여 인스턴스를 만듭니다.

내 인스턴스에 연결

  1. .cbtrc 파일을 만들고 project-id를 Cloud Bigtable 인스턴스를 만들 때 사용한 프로젝트 ID로 바꿔서 프로젝트 및 인스턴스를 사용하도록 cbt를 구성합니다.

       echo project = project-id > ~/.cbtrc
       echo instance = quickstart-instance >> ~/.cbtrc

  2. .cbtrc 파일을 올바르게 설정했는지 확인합니다.

       cat ~/.cbtrc

    터미널에는 .cbtrc 파일의 콘텐츠가 표시됩니다. 이는 다음과 유사합니다.

    project = project-id
    instance = quickstart-instance

    이제 인스턴스에서 cbt 도구를 사용할 수 있습니다.

데이터 읽기 및 쓰기

Cloud Bigtable은 을 포함하는 테이블에 데이터를 저장합니다. 각 행은 row key로 식별됩니다.

행의 데이터는 열의 그룹인 column family로 구성됩니다. column qualifier는 column family 내의 단일 열을 식별합니다.

행과 열의 교차점에는 시간별로 기록된 값이 여러 개 존재할 수 있습니다. 이러한 각 버전을 이라고 합니다.

  1. 이름이 my-table인 테이블을 만듭니다.

       cbt createtable my-table

  2. 테이블을 나열합니다.

       cbt ls

    이 명령어는 다음과 비슷한 출력을 표시합니다.

        my-table

  3. 이름이 cf1인 column family 1개를 추가합니다.

       cbt createfamily my-table cf1

  4. column family를 나열합니다.

       cbt ls my-table

    이 명령어는 다음과 비슷한 출력을 표시합니다.

        Family Name     GC Policy
        -----------     ---------
        cf1             <never>

  5. column family cf1 및 column qualifier c1을 사용하여 test-value 값을 r1 행에 입력합니다.

       cbt set my-table r1 cf1:c1=test-value

  6. cbt read 명령어를 사용하여 테이블에 추가한 데이터를 읽습니다.

       cbt read my-table

    다음과 유사한 출력이 셸에 표시됩니다.

        ----------------------------------------
        r1
          cf1:c1                                   @ 2019/11/26-15:05:38.840000
            "test-value"

    타임스탬프는 지정하지 않았으므로 자동으로 추가됩니다.

삭제

이 빠른 시작에서 사용한 리소스의 비용이 Google Cloud 계정에 청구되지 않도록 하려면 인스턴스를 삭제합니다. .cbtrc 파일을 삭제하면 다른 프로젝트에서 작업할 수 있습니다.

  1. my-table 테이블을 삭제합니다.

       cbt deletetable my-table

  2. 인스턴스를 삭제합니다.

       cbt deleteinstance quickstart-instance
  3. .cbtrc 파일을 삭제합니다.

       rm ~/.cbtrc