Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HBase / HDFS 명령어 정리 #4

Open
iamminji opened this issue Mar 16, 2022 · 1 comment
Open

HBase / HDFS 명령어 정리 #4

iamminji opened this issue Mar 16, 2022 · 1 comment

Comments

@iamminji
Copy link
Owner

iamminji commented Mar 16, 2022

HBase shell command

DDL

컬럼 패밀리 삭제하기

hbase> alter '<TABLE_NAME>', {NAME => '<CF>', METHOD => 'delete'}

컬럼 패밀리 추가하기

hbase> alter '<TABLE_NAME>', '<CF>'

테이블 데이터 날리기

hbase> truncate '<TABLE_NAME>'

테이블 추가하기

hbase> create '<TABLE_NAME>', '<CF>'

컬럼에 TTL 추가하기

이미 있는 테이블일 때

hbase> alter '<TABLE_NAME>', NAME => '<CF>', TTL => <SECONDS>

스캔

양이 많아서 LIIMIT 쓰는게 맘이 편함

start, end 로 스캔

hbase> scan '<TABLE_NAME>', {STARTROW => '<SROW>', ENDROW => '<EROW>', LIMIT => 10}

RowKey Prefix 로 조회하기

hbase> scan '<TABLE_NAME>', {
    FILTER => "PrefixFilter('<ROWKEY PREFIX>')", LIMIT => 10
}

RowKey substring 으로 조회하기

hbase> scan '<TABLE_NAME>', {
    FILTER => "RowFilter(=, 'substring:<ROW>')"
}

스냅샷 Snapshot

스냅삿 만들기

TTL 넣고 스냅샷 만들기 단위는 seconds이다.

hbase> snapshot '<TABLE_NAME>', '<SNAPSHOT_NAME>', {TTL => <SECONDS>}

TTL 값 설정

  • hbase.master.snapshot.ttl 값에 기본 값을 넣을 수 있음 (0 보다 커야 유효함)
  • hbase.master.snapshot.ttl 값을 지정 안 하면 영구적임 (기본이 0 이라서 영구적임)
  • 값이 -1 보다 작으면 영구적임 (직접 삭제 하기 전 까지는 지워지지 않는다.)

스냅샷 리스트 보기

hbase> list_snapshot

스냅샷 삭제 하기

특정 스냅샷 삭제

hbase>  delete_snapshot '<SNAPSHOT_NAME>'

prefix 로 스냅샷 삭제
일자별 스냅샷을 만들고 일괄 삭제 할 때 유용하다. Prefix 를 제외한 부분에 .* 을 붙여야 함

hbase>  delete_all_snapshot '<SNAPSHOT_NAME_DATE>.*'

스냅샷 테이블로 복구하기

기존에 스냅샷과 동일한 테이블이 이미 존재하면 disable 해줘야 함

hbase> disable '<TABLE_NAME>'
hbase> restore_snapshot '<SNAPSHOT_NAME>'

만약 다른 테이블 이름으로 restore 하고 싶다면 clone 해주고 진행

hbase> clone_snapshot '<SNAPSHOT_NAME>', '<NEW_TABLE_NAME>'

스냅샷 다른 클러스터로 이동

$ hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot <SNAPSHOT_NAME> -copy-to hdfs://<NAMENODE_URL>/<PARENT> -mappers <MAPPER_COUNT>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant