/ / Nemôžem skenovať tabuľku v Hbase pomocou Java Client API - Java, Hadoop, Hbase, Hortonworks-Data-Platform

Nemožno skenovať tabuľku v Hbase pomocou Java Client API - java, hadoop, hbase, hortonworks-data-platforma

Snažím sa skenovať tabuľku v Hbase a načítať všetky záznamy v nej. Toto je metóda, ktorú používam na skenovanie tabuľky. Staviam projekt pomocou Mavenu.

 public void getAllRecord (String tableName) {
try{
HTable table = new HTable(configuration, tableName);
Scan s = new Scan();
ResultScanner ss = table.getScanner(s);
for(Result r:ss){
for(KeyValue kv : r.raw()){
System.out.print(new String(kv.getRow()) + " ");
System.out.print(new String(kv.getFamily()) + ":");
System.out.print(new String(kv.getQualifier()) + " ");
System.out.print(kv.getTimestamp() + " ");
System.out.println(new String(kv.getValue()));

break;
}
}
} catch (IOException e){
e.printStackTrace();
}
}

Toto sú moje závislosti od Maven

 <dependencies>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-thrift</artifactId>
<version>0.98.2-hadoop2</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-client</artifactId>
<version>0.96.0-hadoop2</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-auth</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.opennlp</groupId>
<artifactId>opennlp-tools</artifactId>
<version>1.5.3</version>
</dependency>
<dependency>
<groupId>org.apache.opennlp</groupId>
<artifactId>opennlp-maxent</artifactId>
<version>3.0.3</version>
</dependency>
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>4.9.0</version>
</dependency>

</dependencies>

Ale problém je, že keď spustím túto metódu, zobrazí sa mi nasledujúca chyba.

Výnimka vo vlákne „main“ java.lang.NoClassDefFoundError: org / apache / hadoop / hbase / util / SoftValueSortedMap

Spôsobené: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.util.SoftValueSortedMap

Ako môžem vyriešiť tento problém?

odpovede:

1 pre odpoveď č. 1

Zdá sa, že vo vašej nádobe chýbajú nejaké poháretriedna cesta. Buď ste zabudli pridať util jar do classpath, alebo z nejakého dôvodu nebol zahrnutý (môže to byť zámerne vylúčené pomocou maven by tag)


0 pre odpoveď č. 2

Problém bol vyriešený pridaním nasledujúcej závislosti do projektu

    <dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-client</artifactId>
<version>0.96.0-hadoop2</version>
</dependency>