当前位置: 首页 > 知识库问答 >
问题:

用Java API在Hbase中创建表

吴谦
2023-03-14
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 CreateTable {

    public static void main(String[] args) throws IOException {
        Configuration con = HBaseConfiguration.create();
        HBaseAdmin admin = new HBaseAdmin(con);

        HTableDescriptor ht = new HTableDescriptor("emp");

        ht.addFamily(new HColumnDescriptor("add"));
        ht.addFamily(new HColumnDescriptor("dept"));

        admin.createTable(ht);

        System.out.println("Table Created");
    }
}

我已经使用上面的代码来创建Hbase表。我已经下载了所有需要的JAR,并将其添加为when am get错误。但是仍然有很多与动物园管理员有关的错误。我的疑问是,在创建表之前,我是否必须使用JAVA API进行Zookeeper连接。并且我正在使用JDK1.8,请指导我使用JAVA API在Hbase中创建表的确切过程。以下是Zookeeper的错误,但我已经添加了Zookeeper罐子。17/12/11 12:44:10信息zookeeper.zookeeper:客户端环境:zookeeper.version=3.3.1-942149,构建于05/07/2010 17:14 GMT 17/12/11 12:44:10信息zookeeper.zookeeper:客户端环境:host.name=quickstart.cloudera 17/12/11 12:44:10信息zookeeper.zookeeper:Client environment:java.version=1.8.0_144 17/12/11 12:44:10信息zookeeper.zookeeper:Client:java.home=/home/cloudera/jdk1.8.0_144/jre 17/12/11 12:44:10 INFO zookeeper.zookeeper:客户机环境/12/11 12:44:10信息zookeeper.zookeeper:客户端环境:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64://lib://usr/自由贸易区

共有1个答案

叶炜
2023-03-14

下面的代码对我来说很有效:

        conf = HBaseConfiguration.create();
        admin = new HBaseAdmin(conf);

        TableName tableName =  TableName.valueOf("test");
        HTableDescriptor htd = new HTableDescriptor(tableName);
        HColumnDescriptor hcd = new HColumnDescriptor("data");

        htd.addFamily(hcd);
        admin.createTable(htd);

并在bash_profile中添加以下env变量

export HADOOP_HOME=/Users/karan.verma/Documents/backups/h/hadoop-2.6.4
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_PREFIX=/Users/karan.verma/Documents/backups/h/hadoop-2.6.4
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export HADOOP_CLASSPATH=${JAVA_HOME}/lib/tools.jar
 类似资料:
  • 在我们本地服务器的HDFS之上成功地安装和配置了HBase之后,我在我们的OVH VPS机器上做了同样的配置,但是我得到了一个奇怪的错误。 导出路径=$PATH:$HADOOP_HOME/bin导出HADOOP_HOME=/usr/local/HADOOP导出路径=$PATH:$HADOOP_HOME/sbin导出ath=/usr/local/hbase/lib/

  • 找到7个项目drwxr-xr-x-hbase用户0 201 4-06-25 18:58/hbase/.tmp ... 但当我运行此命令时,我会得到 yarn-site.xml Hbase配置hbase-site.xml 我可以浏览http://localhost:50070和http://localhost:8088/cluster 在hbase-marc-master-marc-pc.log中,

  • 一个应用程序引擎应用程序使用驱动API创建了一个Google驱动表(来自XLS),并带有默认的服务帐户。新创建的文档已与个人共享,文件访问权限已确认。 现在我想从这个Google表单创建一个BigQuery表。所以我已经为上一步启用了驱动API。我已调整BigQuery服务,以创建具有必要作用域的凭据: 但当我调用控制器接收带有以下代码的工作表时,仍然没有运气: 我得到的错误表明范围没有提供给凭据

  • 我不知道该怎么办!感谢任何帮助! 另外,我是否应该在安装HBase之前配置Zookeeper?我的教程没有这么说。

  • 我使用的JSON API-Google API客户端库Java访问对象在谷歌云存储。我需要在桶中创建(而不是上传)一个空文件夹。谷歌开发人员网络控制台有创建目录的选项,但是JavaAPI和gsutil命令都没有创建文件夹命令。如果有人知道如何这样做,请告诉我。提前感谢...

  • 使用JavaAPI设置源和设置的唯一方法是使用这样的代码(这是一个只有一个@test方法的简单测试类): 当我第一次运行它时,它就起作用了。但当我第二次运行它时,我得到: JAVAlang.IllegalStateException:未能加载ApplicationContext allable.java:12DefaultCacheAware ContextLoaderDorg.springfra

  • 我是凤凰城的新手,HBASE。我们有一个对Hbase数据库发出类似SQL查询的要求。我们决定将Apache Phoenix作为SQL皮肤放在现有的Hbase表之上,该表已经装载了我们想要检索的数据。 根据我所做的尝试,我只能创建一个具有1列的phoenix表,这是hbase中的行键,但我不能创建包含我正在寻找的数据的另一列。 我正在寻找凤凰DDL语法,这将导致表和列,我需要

  • WordPress有一个管理仪表板。在仪表板中,我们可以作为管理员添加新用户。我想在管理员添加新用户时在MySQL中创建一个表。例如,我创建了一个名为John Smith的用户,其用户名为user1;当我成功添加该用户时,将在名为user1的数据库中创建一个表。