예제가 포함된 HBase 셸 명령

Hadoop 위에 HBase를 성공적으로 설치한 후, 다양한 명령을 실행하고 여러 작업을 수행하는 대화형 셸을 얻습니다. 이러한 명령을 사용하면 데이터 테이블에서 여러 작업을 수행하여 더 나은 데이터 저장 효율성과 클라이언트의 유연한 상호 작용을 제공할 수 있습니다.

우리는 두 가지 방법으로 HBase와 상호 작용할 수 있습니다.

  • HBase 대화형 셸 모드 및
  • 을 통하여 Java API

HBase에서 대화형 셸 모드는 테이블 작업, 테이블 관리 및 데이터 모델링을 위해 HBase와 상호 작용하는 데 사용됩니다. 다음을 사용하여 Java API 모델, 우리는 HBase에서 모든 유형의 테이블 및 데이터 작업을 수행할 수 있습니다. 우리는 이 두 가지 방법을 사용하여 HBase와 상호 작용할 수 있습니다.

이 둘의 유일한 차이점은 Java API는 Java 코드를 사용하여 HBase에 연결하고 셸 모드는 셸 명령을 사용하여 HBase에 연결합니다.

진행하기 전에 HBase의 빠른 오버캡-

  • HBase 사용 하둡 파일을 저장 시스템으로 사용하여 대용량 데이터를 저장합니다. Hbase는 마스터 서버와 지역 서버로 구성됩니다.
  • HBase에 저장될 데이터는 지역 형태가 됩니다. 또한 이러한 지역은 분할되어 여러 지역 서버에 저장됩니다.
  • 이 셸 명령을 사용하면 프로그래머가 완전한 셸 모드 상호 작용을 사용하여 테이블 스키마와 데이터 작업을 정의할 수 있습니다.
  • 어떤 명령을 사용하든 HBase 데이터 모델에 반영됩니다.
  • 우리는 Bash 셸과 같은 운영 체제 스크립트 인터프리터에서 HBase 셸 명령을 사용합니다.
  • Bash 쉘은 대부분의 기본 명령 해석기입니다. Linux and 유닉스 운영 배포
  • HBase 고급 버전은 테이블에 대한 jruby 스타일 객체 지향 참조 셸 명령을 제공합니다.
  • 테이블 참조 변수는 HBase 셸 모드에서 데이터 작업을 수행하는 데 사용할 수 있습니다.

예를 들어,

  • 이 튜토리얼에서는 'education'이 테이블 이름을 나타내고 열 이름 "guru99"에 해당하는 테이블을 만들었습니다.
  • 일부 명령 "guru99"에서는 그 자체가 테이블 이름을 나타냅니다.

일반 명령

Hbase에서 일반 명령은 다음과 같은 명령으로 분류됩니다.

  • Status
  • 버전
  • Table_help(스캔, 삭제, 가져오기, 넣기, 비활성화 등)
  • 우와 미

HBase 쉘 명령에 들어가려면 먼저 아래 언급된 코드를 실행해야 합니다.

일반 명령

hbase Shell

HBase 셸에 들어가면 아래에 언급된 모든 셸 명령을 실행할 수 있습니다. 이러한 명령의 도움으로 HBase 셸 모드에서 모든 유형의 테이블 작업을 수행할 수 있습니다.

예제를 통해 이러한 모든 명령과 사용법을 하나씩 살펴보겠습니다.

Status

Syntax:status

이 명령은 클러스터에 있는 서버 수, 활성 서버 수, 평균 부하 값과 같은 시스템 상태에 대한 세부 정보를 제공합니다. 시스템에 대해 얼마나 자세한 상태를 알고 싶은지에 따라 특정 매개변수를 전달할 수도 있습니다. 매개변수는 다음과 같습니다. '요약', '간단', '상세'에서 제공되는 기본 매개변수는 "summary"입니다.

아래에서는 상태 명령에 다양한 매개변수를 전달하는 방법을 보여주었습니다.

아래 스크린 샷을 관찰하면 더 나은 아이디어를 얻을 수 있습니다.

Status

hbase(main):001:0>status
hbase(main):002:0>status 'simple'
hbase(main):003:0>status 'summary'
hbase(main):004:0> status 'detailed'

이 명령 상태를 실행하면 현재 서버 수, 작동하지 않는 서버 및 서버의 평균 로드에 대한 정보가 제공됩니다. 여기 스크린샷에는 다음과 같은 정보가 표시됩니다. 라이브 서버 1개, 데드 서버 1개, 평균 로드 7.0000입니다.

버전

Syntax: version

버전

  • 이 명령은 명령 모드에서 현재 사용되는 HBase 버전을 표시합니다.
  • version 명령을 실행하면 위와 같이 출력됩니다.

테이블 도움말

Syntax:table_help

테이블 도움말

이 명령은 다음을 안내합니다.

  • 테이블 참조 명령 사용 방법 및 내용
  • 다양한 HBase 셸 명령 사용법과 해당 구문을 제공합니다.
  • 위 스크린샷에서는 '에 대한 구문을 보여줍니다.창조하다" 와 "get_table” 사용법과 함께 명령. HBase에서 테이블이 생성되면 이러한 명령을 통해 테이블을 조작할 수 있습니다.
  • Put, Get 및 기타 모든 명령 정보와 같은 테이블 조작 명령을 제공합니다.

WHOAMI

구문 :

Syntax: Whoami

우와 미

이 명령 "whoami"는 HBase 클러스터에서 현재 HBase 사용자 정보를 반환하는 데 사용됩니다.

와 같은 정보를 제공할 것입니다.

  • HBase에 존재하는 그룹
  • 사용자 정보(예: 이 경우 "hduser")는 스크린샷에 표시된 대로 사용자 이름을 나타냅니다.

TTL(Time To Live) – 속성

HBase에서는 TTL을 사용하여 Column family를 초 단위의 시간 값으로 설정할 수 있습니다. HBase는 만료 시간에 도달하면 자동으로 행을 삭제합니다. 이 속성은 행의 모든 ​​버전에 적용되며 현재 버전에도 적용됩니다.

행의 HBase에 인코딩된 TTL 시간은 UTC로 지정됩니다. 테이블 관리 명령과 함께 사용되는 속성입니다.

TTL 처리와 열 계열 TTL 간의 중요한 차이점은 다음과 같습니다.

  • 셀 TTL은 초가 아닌 밀리초 단위로 표현됩니다.
  • 셀 TTL은 Column Family 수준 TTL 설정을 넘어 셀의 유효 수명을 연장할 수 없습니다.

테이블 관리 명령

이 명령을 사용하면 프로그래머는 행과 열 계열이 포함된 테이블과 테이블 스키마를 생성할 수 있습니다.

다음은 테이블 관리 명령입니다.

  • 만들기
  • 명부
  • 설명
  • 사용 안 함
  • 비활성화_모두
  • 사용
  • Enable_all
  • 드롭
  • Drop_all
  • 표시_필터
  • 나이
  • Alter_status

HBase의 다양한 명령어 사용법을 예시를 통해 살펴보겠습니다.

만들기

Syntax: create <tablename>, <columnfamilyname>

테이블 관리 명령 : 생성

예:-

hbase(main):001:0> create 'education' ,'guru99'
0 rows(s) in 0.312 seconds
=>Hbase::Table – education

위의 예에서는 사전이나 컬럼 패밀리별 사양에 따라 지정된 이름으로 HBase에 테이블을 생성하는 방법을 설명합니다. 이 외에도 일부 테이블 범위 속성도 전달할 수 있습니다.

'education' 테이블이 생성되었는지 여부를 확인하려면 다음을 사용해야 합니다. "목록" 아래 언급된 대로 명령을 실행합니다.

명부

Syntax:list

테이블 관리 명령 : 목록

  • "List" 명령은 HBase에 존재하거나 생성된 모든 테이블을 표시합니다.
  • 위 화면 샷에 표시된 출력은 현재 HBase에 있는 기존 테이블을 표시하고 있습니다.
  • 이 스크린샷에서는 HBase 내부에 총 8개의 테이블이 있음을 보여줍니다.
  • 선택적 정규식 매개변수를 전달하여 테이블의 출력 값을 필터링할 수 있습니다.

설명

Syntax:describe <table name>

테이블 관리 명령 : 설명

hbase(main):010:0>describe 'education'

이 명령은 명명된 테이블을 설명합니다.

  • 언급된 테이블에 있는 컬럼 패밀리에 대한 추가 정보를 제공합니다.
  • 우리의 경우에는 “education” 테이블에 대한 설명을 제공합니다.
  • 이는 열 패밀리, 관련 필터, 버전 및 기타 세부 정보를 포함한 테이블 이름에 대한 정보를 제공합니다.

비활성화

Syntax: disable <tablename>

테이블 관리 명령 : 비활성화

hbase(main):011:0>disable 'education'
  • 이 명령은 명명된 테이블을 비활성화하기 시작합니다.
  • 테이블을 삭제하거나 삭제해야 하는 경우 먼저 비활성화해야 합니다.

위 스크린샷에서는 테이블 교육을 비활성화하고 있습니다.

비활성화_모두

 Syntax: disable_all<"matching regex"
  • 이 명령은 주어진 정규식과 일치하는 모든 테이블을 비활성화합니다.
  • 구현은 삭제 명령과 동일합니다(일치를 위한 정규식 추가 제외).
  • 테이블이 비활성화되면 사용자는 HBase에서 테이블을 삭제할 수 있습니다.
  • 테이블을 삭제하거나 삭제하기 전에 먼저 비활성화해야 합니다.

사용

Syntax: enable <tablename>

테이블 관리 명령 : 활성화

hbase(main):012:0>enable 'education'
  • 이 명령은 명명된 테이블 활성화를 시작합니다.
  • 비활성화된 테이블이 무엇이든 이전 상태로 되돌리려면 다음 명령을 사용합니다.
  • 테이블이 첫 번째 인스턴스에서 비활성화되었지만 삭제 또는 삭제되지 않은 경우, 비활성화된 테이블을 다시 사용하려면 이 명령을 사용하여 활성화해야 합니다.
  • 위 스크린샷에서는 'education' 테이블을 활성화하고 있습니다.

show_filters

Syntax: show_filters

테이블 관리 명령: show_filters

이 명령은 ColumnPrefix Filter, TimestampsFilter, PageFilter, FamilyFilter 등과 같이 HBase에 있는 모든 필터를 표시합니다.

드롭

Syntax:drop <table name>

테이블 관리 명령 : Drop

hbase(main):017:0>drop 'education'

drop 명령을 위해 아래 사항을 준수해야 합니다.

  • HBase에 있는 테이블을 삭제하려면 먼저 이를 비활성화해야 합니다.
  • HBase에 있는 테이블을 삭제하려면 먼저 이를 비활성화해야 합니다.
  • 따라서 테이블을 먼저 삭제하거나 삭제할 테이블은 비활성화 명령을 사용하여 비활성화해야 합니다.
  • 위 스크린샷에서는 "education" 테이블을 삭제했습니다.
  • 이 명령을 실행하기 전에 "education" 테이블을 비활성화해야 합니다.

drop_all

Syntax: drop_all<"regex">
  • 이 명령은 주어진 정규식과 일치하는 모든 테이블을 삭제합니다.
  • 비활성화_all을 사용하여 이 명령을 실행하기 전에 먼저 테이블을 비활성화해야 합니다.
  • 정규식 일치 표현식이 포함된 테이블이 HBase에서 삭제됩니다.

사용 가능

Syntax: is_enabled 'education'

이 명령은 명명된 테이블이 활성화되어 있는지 여부를 확인합니다. 일반적으로 "enable"과 "is_enabled" 명령 동작 사이에는 약간의 혼동이 있지만 여기서는 이에 대해 설명하겠습니다.

  • 테이블이 비활성화되었다고 가정하면, 해당 테이블을 사용하려면 활성화 명령을 사용하여 활성화해야 합니다.
  • is_enabled 명령은 테이블이 활성화되었는지 여부를 확인합니다.

변경

Syntax: alter <tablename>, NAME=><column familyname>, VERSIONS=>5

이 명령은 열 패밀리 스키마를 변경합니다. 정확히 무엇을 하는지 이해하기 위해 여기에 예를 들어 설명했습니다.

예 :

이 예에서 우리는 테이블과 그 열에 alter 명령 작업을 수행할 것입니다. 우리는 다음과 같은 작업을 수행할 것입니다.

  • 단일, 다중 열 계열 이름 변경
  • 테이블에서 열 계열 이름 삭제
  • 테이블과 함께 범위 속성을 사용하는 여러 다른 작업
  1. 최대 99개의 셀 버전을 유지하기 위해 현재 값에서 'education' 테이블의 'guru1_5' 열 계열을 변경하거나 추가하려면,
  • "education"은 이전에 "guru99"라는 열 이름으로 생성된 테이블 이름입니다.
  • 여기서는 alter 명령을 사용하여 열 패밀리 스키마를 guru99에서 guru1_99로 변경하려고 합니다.

테이블 관리 명령 : Alter

hbase> alter 'education', NAME='guru99_1', VERSIONS=>5
  1. 또한 여러 열 패밀리에서 alter 명령을 실행할 수도 있습니다. 예를 들어, 기존 테이블 "education"에 두 개의 새 열을 정의합니다.
 hbase> alter 'edu', 'guru99_1', {NAME => 'guru99_2', IN_MEMORY => true}, {NAME => 'guru99_3', VERSIONS => 5}

테이블 관리 명령 : Alter

  • 이 명령을 사용하면 한 번에 둘 이상의 열 스키마를 변경할 수 있습니다.
  • 위 스크린샷에 표시된 guru99_2 및 guru99_3은 테이블 교육을 위해 정의한 두 개의 새로운 열 이름입니다.
  • 이전 스크린샷에서 이 명령을 사용하는 방법을 볼 수 있습니다.
  1. 이번 단계에서는 테이블에서 Column Family를 삭제하는 방법을 살펴보겠습니다. 테이블 'education'에서 'f1' 컬럼 패밀리를 삭제합니다.

아래 명령 중 하나를 사용하십시오.

hbase> alter 'education', NAME => 'f1', METHOD => 'delete'
hbase> alter 'education', 'delete' =>' guru99_1'
  • 이 명령에서는 이전에 첫 번째 단계에서 생성한 컬럼 스페이스 이름 guru99_1을 삭제하려고 합니다.

테이블 관리 명령 : Alter

  1. 아래 스크린샷과 같이 테이블 범위 속성을 변경하는 방법과 테이블 범위 속성을 제거하는 방법의 두 단계를 보여줍니다.
Syntax: alter <'tablename'>, MAX_FILESIZE=>'132545224'

테이블 관리 명령 : Alter

단계 1) MAX_FILESIZE, READONLY, MEMSTORE_FLUSHSIZE, DEFERRED_LOG_FLUSH 등과 같은 테이블 범위 속성을 변경할 수 있습니다. 이러한 속성은 끝에 배치할 수 있습니다. 예를 들어 영역의 최대 크기를 128MB로 변경하거나 이 명령을 사용하는 다른 메모리 값을 변경하려는 경우입니다.

용법:

  • 위와 같이 테이블과 함께 MAX_FILESIZE를 범위 속성으로 사용할 수 있습니다.
  • MAX_FILESIZE에 표시되는 숫자는 메모리(바이트) 단위입니다.

NOTE : MAX_FILESIZE 속성 테이블 범위는 HBase에 있는 일부 속성에 의해 결정됩니다. MAX_FILESIZE는 테이블 범위 속성에도 포함됩니다.

단계 2) table_att_unset 메소드를 사용하여 테이블 범위 속성을 제거할 수도 있습니다. 명령어가 보이면

alter 'education', METHOD => 'table_att_unset', NAME => 'MAX_FILESIZE'
  • 위 스크린샷은 범위 속성이 포함된 변경된 테이블 이름을 보여줍니다.
  • table_att_unset 메소드는 테이블에 있는 속성을 설정 해제하는 데 사용됩니다.
  • 두 번째 인스턴스에서는 MAX_FILESIZE 속성을 설정 해제합니다.
  • 명령을 실행한 후에는 "education" 테이블에서 MAX_FILESIZE 속성의 설정이 해제됩니다.

alter_status

 Syntax: alter_status 'education'

테이블 관리 명령: alter_status

  • 이 명령을 통해 alter 명령의 상태를 얻을 수 있습니다.
  • 업데이트된 스키마 패스 테이블 이름을 수신한 테이블의 영역 수를 나타냅니다.
  • 위 스크린샷에서는 1/1 지역이 업데이트된 것을 보여줍니다. 한 지역을 업데이트했다는 의미입니다. 그 후 성공하면 댓글 완료가 표시됩니다.

데이터 조작 명령

이러한 명령은 테이블에 데이터 넣기, 테이블에서 데이터 검색, 스키마 삭제 등과 같은 데이터 조작과 관련된 테이블에서 작동합니다.

이 명령 아래에 오는 명령은 다음과 같습니다.

  • 카운트
  • 넣어
  • 돈을 받아가세요
  • .
  • 모두 삭제
  • 자르기
  • 주사

예제를 통해 이러한 명령 사용법을 살펴보겠습니다.

카운트

Syntax: count <'tablename'>, CACHE =>1000
  • 이 명령은 테이블의 행 수를 검색합니다. 이 값이 반환하는 값은 행 수입니다.
  • 현재 개수는 기본적으로 1000행마다 표시됩니다.
  • 계산 간격은 선택적으로 지정할 수 있습니다.
  • 기본 캐시 크기는 10행입니다.
  • Count 명령은 올바른 캐시로 구성되면 빠르게 작동합니다.

예:

카운트

hbase> count 'guru99', CACHE=>1000

이 예제 카운트는 "Guru1000" 테이블에서 한 번에 99개의 행을 가져옵니다.

테이블이 더 많은 행으로 구성되면 캐시를 더 낮은 값으로 만들 수 있습니다.

그러나 기본적으로 한 번에 하나의 행을 가져옵니다.

hbase>count 'guru99', INTERVAL => 100000
hbase> count 'guru99', INTERVAL =>10, CACHE=> 1000

g와 같은 테이블 참조가 있는 테이블 "Guru99"가 있다고 가정해 보겠습니다.

아래와 같이 테이블 참조에 대해 count 명령을 실행할 수도 있습니다.

hbase>g.count INTERVAL=>100000
hbase>g.count INTERVAL=>10, CACHE=>1000

넣어

Syntax:  put <'tablename'>,<'rowname'>,<'columnvalue'>,<'value'>

이 명령은 다음과 같은 작업에 사용됩니다.

  • 정의되거나 지정된 테이블이나 행 또는 열에 셀 '값'을 입력합니다.
  • 선택적으로 타임스탬프를 조정합니다.

예:

  • 여기서는 r99 행과 c1 열 아래의 "guru1" 테이블에 값을 배치합니다.
    hbase> put 'guru99', 'r1', 'c1', 'value', 10
  • 아래 스크린샷과 같이 "guru10,15" 테이블에 30, 99이라는 세 가지 값을 배치했습니다.

넣어

  • g와 같은 테이블 참조가 있는 "Guru99" 테이블이 있다고 가정해 보겠습니다. 다음과 같이 테이블 참조에 대해 명령을 실행할 수도 있습니다.
    hbase> g.put 'guru99', 'r1', 'c1', 'value', 10
  • "guru99"에 값을 입력하면 위 스크린샷과 같이 출력됩니다.

입력된 값이 테이블에 올바르게 삽입되었는지 확인하기 위해 “scan” 명령어를 사용합니다. 아래 스크린샷에서 값이 올바르게 삽입된 것을 볼 수 있습니다.

넣어

코드 조각: 연습용

create 'guru99', {NAME=>'Edu', VERSIONS=>213423443}
put 'guru99', 'r1', 'Edu:c1', 'value', 10
put 'guru99', 'r1', 'Edu:c1', 'value', 15
put 'guru99', 'r1', 'Edu:c1', 'value', 30

코드 조각에서 우리는 다음 작업을 수행합니다.

  • 여기서는 열 이름이 "Edu"인 'guru99'라는 테이블을 생성합니다.
  • "put" 명령을 사용하여 "Edu" 열의 행 이름 r1에 값을 "guru99" 테이블에 배치합니다.

돈을 받아가세요

Syntax: get <'tablename'>, <'rowname'>, {< Additional parameters>}

여기 TIMERANGE, TIMESTAMP, VERSIONS 및 필터가 포함됩니다.

이 명령을 사용하면 테이블에 있는 행 또는 셀 내용을 얻을 수 있습니다. 그 외에도 TIMESTAMP, TIMERANGE,VERSIONS, FILTERS 등과 같은 추가 매개변수를 추가하여 특정 행이나 셀 내용을 가져올 수도 있습니다.

돈을 받아가세요

예:-

hbase> get 'guru99', 'r1', {COLUMN => 'c1'}

테이블 “guru99”의 경우 행 r1 및 열 c1 값은 위 스크린샷과 같이 이 명령을 사용하여 표시됩니다.

hbase> get 'guru99', 'r1'

테이블 "guru99"의 경우 이 명령을 사용하면 r1 행 값이 표시됩니다.

hbase> get 'guru99', 'r1', {TIMERANGE => [ts1, ts2]}

테이블 "guru99"의 경우, 행 1의 시간 범위 ts1 및 ts2의 값이 이 명령을 사용하여 표시됩니다.

hbase> get 'guru99', 'r1', {COLUMN => ['c1', 'c2', 'c3']}

테이블 "guru99"의 경우 행 r1과 열 패밀리의 c1, c2, c3 값이 이 명령을 사용하여 표시됩니다.

.

Syntax:delete <'tablename'>,<'row name'>,<'column name'>
  • 이 명령은 정의된 행 또는 열 테이블의 셀 값을 삭제합니다.
  • 삭제는 삭제된 셀 좌표와 정확히 일치해야 합니다.
  • 스캔할 때 셀을 삭제하면 이전 버전의 값이 표시되지 않습니다.

.

예:

hbase(main):)020:0> delete 'guru99', 'r1', 'c1''.
  • 위의 실행은 테이블 "guru1"의 열 계열 c1에서 행 r99을 삭제합니다.
  • g와 같은 테이블 참조가 있는 "guru99" 테이블이 있다고 가정해 보겠습니다.
  • 다음과 같이 테이블 참조에 대해서도 명령을 실행할 수 있습니다. hbase> g.delete 'guru99', 'r1', 'c1′”.

모두 삭제

Syntax: deleteall <'tablename'>, <'rowname'>

모두 삭제

  • 이 명령은 해당 행의 모든 ​​셀을 삭제합니다.
  • 선택적으로 구문에 대한 열 이름과 타임스탬프를 정의할 수 있습니다.

예:-

hbase>deleteall 'guru99', 'r1', 'c1'

그러면 테이블에 있는 모든 행과 열이 삭제됩니다. 선택적으로 열 이름을 언급할 수 있습니다.

자르기

Syntax:  truncate <tablename>

자르기

Hbase 테이블을 자른 후에는 스키마가 표시되지만 레코드는 표시되지 않습니다. 이 명령은 3가지 기능을 수행합니다. 그것들은 아래에 나열되어 있습니다

  • 이미 존재하는 경우 테이블을 비활성화합니다.
  • 이미 존재하는 경우 테이블을 삭제합니다.
  • 언급된 테이블을 다시 생성합니다.

주사

Syntax: scan <'tablename'>, {Optional parameters}

이 명령은 전체 테이블을 검색하고 테이블 내용을 표시합니다.

  • 이 스캔 명령에 몇 가지 선택적 사양을 전달하여 시스템에 있는 테이블에 대한 자세한 정보를 얻을 수 있습니다.
  • 스캐너 사양에는 다음 속성 중 하나 이상이 포함될 수 있습니다.
  • 여기에는 TIMERANGE, FILTER, TIMESTAMP, LIMIT, MAXLENGTH, COLUMNS, CACHE, STARTROW 및 STOPROW가 있습니다.
scan 'guru99'

스크린샷에 표시된 출력은 아래와 같습니다.

주사

위 스크린샷에서

  • 열 이름과 값이 포함된 "guru99" 테이블이 표시됩니다.
  • 단일 열 값 c1에 대해 세 개의 행 값 r2, r3, r1으로 구성됩니다.
  • 행과 관련된 값을 표시합니다.

예:-

스캔 명령의 다양한 사용법

명령 용법
'.META.', {COLUMNS => 'info:regioninfo'} 스캔 HBase의 테이블에 존재하는 컬럼과 관련된 모든 메타데이터 정보를 표시합니다.
스캔 'guru99', {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => 'xyz'} 값을 99으로 제한하는 열 패밀리 c1 및 c2를 사용하여 guru10 테이블의 내용을 표시합니다.
스캔 'guru99', {COLUMNS => 'c1', TIMERANGE => [1303668804, 1303668904]} 언급된 시간 범위 속성 값 사이에 존재하는 값과 함께 열 이름이 c99인 guru1의 내용을 표시합니다.
스캔 'guru99', {RAW => true, VERSIONS =>10} 이 명령에서 RAW=> true는 테이블에 있는 모든 셀 값을 표시하는 것과 같은 고급 기능을 제공합니다.

코드 예 :

먼저 테이블을 만들고 테이블에 값을 넣습니다.

create 'guru99', {NAME=>'e', VERSIONS=>2147483647}
put 'guru99', 'r1', 'e:c1', 'value', 10
put 'guru99', 'r1', 'e:c1', 'value', 12
put 'guru99', 'r1', 'e:c1', 'value', 14
delete 'guru99', 'r1', 'e:c1', 11

입력 스크린샷:

스캔 예

스캔 명령을 실행하면

Query: scan 'guru99', {RAW=>true, VERSIONS=>1000}

아래와 같은 출력이 표시됩니다.

출력 스크린샷:

스캔 예

위 화면 샷에 표시된 출력은 다음 정보를 제공합니다.

  • RAW=>true, VERSIONS=>99 속성을 사용하여 guru1000 테이블을 스캔하는 중입니다.
  • 열 계열 및 값이 있는 행 표시
  • 세 번째 행에 표시되는 값은 열에 있는 삭제된 값을 보여줍니다.
  • 표시되는 출력은 무작위이므로 테이블에 삽입한 값과 같은 순서가 될 수 없습니다.

Cluster 복제 명령

  • 이러한 명령은 HBase의 클러스터 설정 모드에서 작동합니다.
  • 클러스터에 피어를 추가하거나 제거하고 복제를 시작하거나 중지하려면 일반적으로 이러한 명령이 사용됩니다.
명령 기능
add_peer 복제할 클러스터에 피어 추가

hbase> add_peer '3', zk1,zk2,zk3:2182:/hbase-prod

제거_피어 정의된 복제 스트림을 중지합니다.

피어에 대한 모든 메타데이터 정보를 삭제합니다.

hbase> 제거_피어 '1'

시작_복제 모든 복제 기능을 다시 시작합니다.

hbase> start_replication

stop_replication 모든 복제 기능을 중지합니다.

hbase>stop_replication

요약

HBase 셸과 일반 명령은 다양한 유형의 데이터 조작, 테이블 관리 및 클러스터 복제 명령에 대한 완전한 정보를 제공합니다. 이러한 명령을 사용하여 HBase에 있는 테이블에서 다양한 기능을 수행할 수 있습니다.