이 예시는 Python으로 작성된 매우 간단한 'hello world' 애플리케이션으로, 다음을 수행하는 방법을 보여 줍니다.
- Cloud Bigtable 인스턴스 연결
- 새 테이블 만들기
- 테이블에 데이터 쓰기
- 데이터 다시 읽기
- 테이블 삭제
샘플 실행
이 예시에서는 Python용 Google Cloud 클라이언트 라이브러리의 Cloud Bigtable 패키지를 사용하여 Cloud Bigtable과 통신합니다. Cloud Bigtable 패키지는 새 애플리케이션을 위한 최상의 선택입니다. 기존 HBase 워크로드를 Cloud Bigtable로 이동해야 하는 경우 HappyBase 패키지를 사용하는 'hello world' 예시를 참조하세요.
이 샘플 프로그램을 실행하려면 GitHub에서 샘플 안내를 따르세요.
Cloud 클라이언트 라이브러리를 Cloud Bigtable과 함께 사용
샘플 애플리케이션을 Cloud Bigtable에 연결하여 몇 가지 간단한 작업을 보여줍니다.
클라이언트 라이브러리 설치 및 가져오기
PIP를 사용하여 virtualenv 환경에 필요한 Python 패키지를 설치합니다. 필요한 패키지를 정의하는 요구사항 파일이 샘플에 포함되어 있습니다.
모듈을 가져옵니다.
Cloud Bigtable에 연결
bigtable.Client
를 사용하여 Cloud Bigtable에 연결합니다.
표 만들기
Instance.table()
을 사용하여 테이블 객체를 인스턴스화합니다. column family를 만들고 가비지 컬렉션 정책을 설정한 후 column family를 Table.create()
에 전달하여 테이블을 만듭니다.
테이블에 행 쓰기
인사말 문자열 목록을 반복하여 테이블의 새로운 행을 만듭니다.
각 반복에서 Table.row()
를 사용하여 행을 정의하고 row key를 할당합니다. Row.set_cell()
을 호출하여 현재 셀 값을 설정하고 새 행을 행 배열에 추가합니다.
마지막으로 Table.mutate_rows()
를 호출하여 행을 테이블에 추가합니다.
필터 만들기
작성한 데이터를 읽기 전에 Cloud Bigtable이 반환하는 데이터를 제한하려면 row_filters.CellsColumnLimitFilter()
를 사용하여 필터를 생성합니다. 테이블에 가비지로 수집되지 않은 이전 버전이 있더라도 이 필터는 각 값의 최신 버전만 반환하도록 Cloud Bigtable에 지시합니다.
키를 통해 행 읽기
테이블의 Table.read_row()
메서드를 호출하여 특정 row key로 행에 대한 참조를 가져오고 키와 필터를 전달하여 행에서 각 값의 버전 하나를 가져옵니다.
모든 테이블 행 검색
Table.read_rows()
를 사용하여 테이블에서 행 범위를 읽습니다.
테이블 삭제
Table.delete()
을 사용하여 테이블을 삭제합니다.
하나로 결합
다음은 주석이 없는 전체 예입니다.