[HADOOP] 오류 : 생성자 htable (구성 문자열)이 사용되지 않습니다.
HADOOP오류 : 생성자 htable (구성 문자열)이 사용되지 않습니다.
내가 CDH 5.4.2를 사용하고 Hbase 테이블을 만들려고 다음과 같은 코드 발췌 문장을 가지고 :
Configuration conf = HBaseConfiguration.create(new Configuration());
HBaseAdmin hba = new <strike>HBaseAdmin</strike>(conf);
if(!hba.tableExists(args[0])){
HTableDescriptor ht = new <strike>HTableDescriptor</strike> (args[0]);
ht.addFamily(new HColumnDescriptor("sample"));
Deprecated 오류가 있습니다.
해결법
-
==============================
1.그것은 단지 경고 일뿐입니다. 그러나 코드에서 더 이상 사용되지 않는 메소드를 사용하면 안됩니다.
그것은 단지 경고 일뿐입니다. 그러나 코드에서 더 이상 사용되지 않는 메소드를 사용하면 안됩니다.
대신에 :
HBaseAdmin admin = new HBaseAdmin(conf);
다음을 사용해야합니다.
Connection conn =ConnectionFactory.createConnection(conf); Admin admin = conn.getAdmin();
-
==============================
2.참조 용 샘플 코드. 독립 실행 형 모드에서 Hbase를 실행한다고 가정합니다.
참조 용 샘플 코드. 독립 실행 형 모드에서 Hbase를 실행한다고 가정합니다.
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.TableName; import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.ConnectionFactory; public class HBaseSample { public static void main(String[] args) { Configuration conf = HBaseConfiguration.create(); try { Connection conn = ConnectionFactory.createConnection(conf); Admin hAdmin = conn.getAdmin(); HTableDescriptor hTableDesc = new HTableDescriptor( TableName.valueOf("Customer")); hTableDesc.addFamily(new HColumnDescriptor("name")); hTableDesc.addFamily(new HColumnDescriptor("contactinfo")); hTableDesc.addFamily(new HColumnDescriptor("address")); hAdmin.createTable(hTableDesc); System.out.println("Table created Successfully..."); } catch (Exception e) { e.printStackTrace(); } } }
-
==============================
3.사용을 위해 테이블을 검색해야하는 경우 Connection.getTable (TableName)을 사용할 수 있습니다.
사용을 위해 테이블을 검색해야하는 경우 Connection.getTable (TableName)을 사용할 수 있습니다.
그러나 대신 테이블을 생성해야하는 경우 TableDescriptorBuilder 및 Admin.createTable (TableDescriptor)
예를 들면 :
val tableDescriptor: TableDescriptor = TableDescriptorBuilder .newBuilder(TableName.valueOf("mytable")) .setColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder("myId".getBytes).build()) .setColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder("data".getBytes).build()) .build() admin.createTable(tableDescriptor)
from https://stackoverflow.com/questions/32188635/error-the-constructor-htable-configuration-string-is-deprecated by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 우분투 마스터와 윈도우 슬레이브를 이용한 Hadoop 클러스터 설정 (0) | 2019.07.30 |
---|---|
[HADOOP] Ruby를 사용하여 Hadoop HDFS에서 파일을 쓰고 읽는 방법? (0) | 2019.07.30 |
[HADOOP] 복잡한 중첩 된 Json에 대한 하이브 (0) | 2019.07.30 |
[HADOOP] pyspark로 HBase로 스트리밍하기 (0) | 2019.07.30 |
[HADOOP] Hadoop에서 헤더가있는 파일 처리 (0) | 2019.07.30 |