HBase는 다음을 사용하여 테이블을 생성합니다. Java API 및 셸 예
⚡ 스마트 요약
HBase는 데이터를 테이블에 저장하며, 이러한 테이블은 두 가지 방법으로 생성하고 관리할 수 있습니다. 하나는 HBase를 통해, 다른 하나는 HBase를 통해 관리하는 것입니다. Java HTable을 사용하는 APIDescript또는 HBaseAdmin을 사용하거나 HBase 셸에서 create 명령을 직접 사용하여 생성할 수 있습니다.

HBase에서 테이블을 생성하는 방법 Java API
HBase에서 테이블은 두 가지 방법으로 생성할 수 있습니다. 하나는 직접 생성하는 방식이고, 다른 하나는 직접 생성하는 방식입니다. Java API 및 HBase 셸을 통한 접근 방법을 다룹니다. 이 섹션에서는 다음 내용을 설명합니다. Java API는 애플리케이션이 더 큰 작업의 일부로 테이블을 생성하고 데이터를 프로그래밍 방식으로 로드할 수 있도록 해줍니다.
을 통하여 Java API를 사용하면 HBase에서 테이블을 생성하고 다음을 사용하여 테이블에 데이터를 로드할 수도 있습니다. Java 코딩. 여기서 우리가 설정한 두 가지는 다음과 같습니다.
- 다음을 통해 HBase와 연결 설정 Java API.
- 사용 Eclipse 을 통한 Java 코딩, 디버깅 및 테스트.
다음은 HBase에서 테이블을 생성하는 단계입니다. Java API.
1단계) 만들기 Java 프로젝트 Eclipse
이 단계에서는 Java ~에있는 프로젝트 Eclipse HBase 연결의 이름은 "HbaseConnection"입니다.
새 Java 아래 프로젝트 대화 상자는 "HbaseConnection" 프로젝트가 설정되는 과정을 보여줍니다.
위 스크린샷을 살펴보면 다음과 같습니다.
- 이 칸에 프로젝트 이름을 입력하세요. 저희의 경우 프로젝트 이름은 "HbaseConnection"입니다.
- 기본 저장 위치를 지정하려면 이 확인란을 선택하십시오. 여기서 경로는 /home/hduser/work/HbaseConnection입니다.
- 해당되는 항목에 체크하세요 Java 여기 환경입니다. 이 경우 JavaSE-1.7은 Java 판.
- 파일을 저장할 위치를 선택하세요. 저희의 경우, 두 번째 옵션인 "소스 파일과 클래스 파일을 위한 별도 폴더 생성"을 선택했습니다.
- 마침 버튼을 클릭하면 "HbaseConnection" 프로젝트가 생성됩니다. Eclipse 그리고 열립니다 Eclipse 홈 페이지.
2단계) 빌드 경로를 구성합니다. Eclipse
에 Eclipse 홈페이지에서 다음 단계를 따라 빌드 경로 구성을 여세요.
Right click on project -> Select Build Path -> Configure build path
아래 스크린샷은 빌드 경로 구성을 열기 위해 사용되는 마우스 오른쪽 클릭 메뉴를 보여줍니다.
위 스크린샷에서:
- 프로젝트를 마우스 오른쪽 버튼으로 클릭합니다.
- 빌드 경로를 선택하세요.
- 빌드 경로 구성을 선택하세요.
빌드 경로 구성을 클릭하면 아래 스크린샷과 같은 새 창이 열립니다. 라이브러리 탭에서 HBase 및 Hadoop JAR 파일을 프로젝트에 추가합니다.
이 단계에서는 관련 HBase JAR 파일을 추가합니다. Java 스크린샷에 표시된 것과 같은 프로젝트입니다.
- 추가해야 할 중요한 JAR 파일: hbase-0.94.8.jar 및 hadoop-core-1.1.2.jar.
- 라이브러리 탭으로 이동하세요.
- '외부 JAR 추가' 옵션을 누르세요.
- 필요한 중요 JAR 파일을 선택하십시오.
- 완료 버튼을 눌러 이 파일들을 "src"에 추가하세요. Java 라이브러리 관련 프로젝트입니다.
JAR 파일을 추가하면 아래와 같이 프로젝트의 "src" 위치에 나타납니다.
프로젝트에 포함된 모든 JAR 파일은 이제 하둡 생태계에서 사용할 준비가 되었습니다.
3단계) HBase 연결 설정
이 단계에서는 HBaseConnection.java를 사용하여 HBase 연결을 설정합니다. Java 코딩.
에 Eclipse 상단 메뉴에서 실행하세요 Java 아래와 같이 프로그램을 실행하세요: 실행 -> 다른 이름으로 실행 -> Java 응용 프로그램. 아래 메뉴는 실행 중인 프로그램을 보여줍니다.
- 실행을 선택하세요.
- 실행 옵션을 선택하세요 Java 신청.
- 이 코드는 HBase와의 연결을 설정합니다. Java API.
- 이 코드를 실행하면 HBase에 "guru99" 테이블이 생성되고, "education"과 "projects"라는 두 개의 컬럼 패밀리가 추가됩니다. 현재는 HBase에 빈 스키마만 생성됩니다.
아래 코드 발췌 부분은 HTable을 강조 표시합니다.Descript또는 테이블 스키마를 생성하는 addFamily 호출:
위 스크린샷에서 볼 수 있듯이, 우리는 다음과 같은 기능을 수행하고 있습니다.
- HTable 사용Descript또는 HBase에 "guru99" 테이블을 생성할 수도 있습니다.
- addFamily 메서드를 사용하여 "guru99" 테이블에 "education"과 "projects"를 컬럼 패밀리로 추가합니다.
아래 코드는 HBase에 연결하여 두 개의 컬럼 패밀리를 가진 "guru99" 테이블을 생성합니다. 이 코드를 HBaseConnection.java 문서에 추가하세요.
// Place this code inside Hbase connection import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HTableDescriptor; Import org.apache.hadoop.hbase.client.HBaseAdmin; public class HBaseConnection { public static void main(String[] args) throws IOException { HBaseConfigurationhc = new HBaseConfiguration(new Configuration()); HTableDescriptorht = new HTableDescriptor("guru99"); ht.addFamily( new HColumnDescriptor("education")); ht.addFamily( new HColumnDescriptor("projects")); System.out.println( "connecting" ); HBaseAdminhba = new HBaseAdmin( hc ); System.out.println( "Creating Table" ); hba.createTable( ht ); System.out.println("Done......"); } }
다음은 HBaseConnection.java 파일을 실행하기 전에 반드시 추가해야 하는 코드입니다. Java 프로그램)
이 프로그램을 실행하면 HBase와 연결이 설정되고, 그 결과 열 이름이 포함된 테이블이 생성됩니다.
- 테이블 이름은 “guru99”입니다.
- 컬럼 패밀리는 "교육"과 "프로젝트"입니다.
4단계) HBase에서 생성된 테이블 확인
HBase 셸 모드에서 "list" 명령어를 사용하면 "guru99" 테이블이 두 개의 컬럼 패밀리로 HBase에 생성되었는지 확인할 수 있습니다. "list" 명령어는 HBase에 생성된 모든 테이블에 대한 정보를 제공합니다.
HBase 셸에서 list 명령을 실행하면 아래와 같이 새 테이블이 생성되었음을 확인할 수 있습니다.
- Code HBase 셸에서 "list" 명령을 실행하여 확인합니다.
- "list" 명령어를 실행하면 HBase에 생성된 테이블이 표시됩니다. 이 경우 "guru99" 테이블이 생성된 것을 확인할 수 있습니다.
HBase는 셸을 사용하여 테이블 생성
게다가 Java API를 사용하면 HBase 셸에서 직접 테이블을 생성할 수 있는데, 이는 빠른 테스트를 위해 테이블을 설정하는 가장 빠른 방법입니다. 셸을 사용하여 HBase에 테이블을 생성하는 구문은 다음과 같습니다.
Syntax: create <tablename>, <columnfamilyname>
예:-
hbase(main):001:0> create 'education' ,'guru99' 0 rows(s) in 0.312 seconds =>Hbase::Table – education
위 예시는 각 컬럼 패밀리에 대한 사양에 따라 지정된 이름으로 HBase에 테이블을 생성하는 방법을 설명합니다. 또한, 테이블 범위의 속성도 전달할 수 있습니다.
create 'guru99', {NAME=>'Edu', VERSIONS=>213423443}
여기서 {NAME=>'Edu', VERSIONS=>…} 블록은 "Edu"라는 이름의 열 패밀리와 해당 열 패밀리가 유지하는 셀 버전 수를 설정합니다. 큰 숫자는 예시일 뿐이며, 실제로는 VERSIONS 값은 3 또는 5와 같은 작은 값입니다.
HBase 테이블의 목록, 설명 및 유효성 검사
HBase에서 테이블을 생성하는 것은 테이블을 다루는 첫 번째 단계일 뿐입니다. "guru99" 테이블이 생성되면 몇 가지 일반 명령어를 사용하여 데이터를 읽거나 쓰거나 수정하기 전에 테이블의 상태를 확인할 수 있습니다. 이러한 명령어는 모두 다음 명령어를 통해 실행할 수 있습니다. HBase 셸.
list 명령은 HBase의 모든 사용자 테이블을 반환합니다.
hbase> list
describe 명령은 테이블의 구조, 컬럼 패밀리 및 현재 활성화 여부를 보여줍니다.
hbase> describe 'guru99'
exists 명령어는 테이블이 존재하는지 확인하고, is_enabled 명령어는 테이블에 쓰기 권한이 있는지 여부를 보고합니다.
hbase> exists 'guru99' hbase> is_enabled 'guru99'
이러한 읽기 전용 검사는 언제든지 안전하게 실행할 수 있습니다. 테이블이 올바르게 생성되었는지 확인하고 데이터를 로드하기 전에 컬럼 패밀리를 검토하는 가장 빠른 방법입니다.
HBase 테이블 수정하기
HBase 테이블 스키마는 생성 후 고정되지 않습니다. `ALTER` 명령은 테이블을 다시 생성하지 않고 테이블의 컬럼 패밀리와 테이블 범위 속성을 변경합니다. HBase 버전에 따라 테이블을 먼저 비활성화한 다음 `ALTER` 명령을 실행하고 다시 활성화해야 할 수도 있습니다.
“guru99” 테이블에 새 컬럼 패밀리를 추가하려면 다음 단계를 따르세요.
hbase> alter 'guru99', {NAME => 'contact'}
컬럼 패밀리가 유지할 버전 수를 설정하려면 다음 단계를 따르세요.
hbase> alter 'guru99', NAME => 'education', VERSIONS => 5
테이블에서 컬럼 패밀리를 삭제하려면 다음 단계를 따르세요.
hbase> alter 'guru99', {NAME => 'contact', METHOD => 'delete'}
테이블 범위 속성도 변경할 수 있습니다. 예를 들어 테이블을 읽기 전용으로 표시하거나 최대 영역 파일 크기를 128MB로 설정할 수 있습니다.
hbase> alter 'guru99', READONLY hbase> alter 'guru99', MAX_FILESIZE => '134217728'
alter 명령은 스키마를 재작성하므로, 프로덕션 테이블에서 변경 사항을 신중하게 계획하고, 나중에 describe 명령으로 결과를 확인하십시오.
HBase 테이블 비활성화, 활성화 및 삭제
HBase에서 테이블을 삭제하거나 특정 변경 사항을 적용하려면 먼저 테이블을 비활성화해야 합니다. 비활성화하면 테이블이 오프라인 상태가 되어 어떤 클라이언트도 읽거나 쓸 수 없게 되므로 구조적 변경을 안전하게 수행할 수 있습니다.
테이블을 비활성화하고 is_disabled 함수를 사용하여 상태를 확인합니다.
hbase> disable 'guru99' hbase> is_disabled 'guru99'
테이블에서 읽기 및 쓰기 작업을 다시 시작하려면 테이블을 다시 활성화하십시오.
hbase> enable 'guru99'
테이블을 삭제하려면 먼저 비활성화해야 합니다. 삭제ping 이 명령은 테이블과 그 안에 있는 모든 데이터를 영구적으로 삭제하므로 주의해서 사용하십시오.
hbase> disable 'guru99' hbase> drop 'guru99'
여러 테이블을 한 번에 삭제하려면 `drop_all` 명령어를 사용하면 정규 표현식과 일치하는 이름을 가진 모든 테이블이 삭제됩니다. `create`, `alter`, `disable`, `enable`, `drop` 명령어는 테이블의 전체 수명 주기를 다룹니다. 데이터 처리 HBase 테이블에서.






