使用Spark和JAVA从HBase读取数据

使用Spark和JAVA从HBase读取数据,java,hadoop,apache-spark,hbase,Java,Hadoop,Apache Spark,Hbase,我想使用JAVA通过Spark访问HBase。除了一个例子外,我还没有找到其他例子。答案写着, 您也可以用Java编写 我从以下位置复制了此代码: 谁能给我一些提示,如何找到正确的依赖项、对象和东西 似乎HBaseConfiguration在hbase客户端中,但实际上我坚持使用TableInputFormat.INPUT\u TABLE。这不应该是同一个依赖项吗 使用spark访问hbase有更好的方法吗?TableInputFormat类位于hbase-server.jar中,您需要在pom

我想使用JAVA通过Spark访问HBase。除了一个例子外,我还没有找到其他例子。答案写着,

您也可以用Java编写

我从以下位置复制了此代码:

谁能给我一些提示,如何找到正确的依赖项、对象和东西

似乎
HBaseConfiguration
hbase客户端中,但实际上我坚持使用
TableInputFormat.INPUT\u TABLE
。这不应该是同一个依赖项吗


使用spark访问hbase有更好的方法吗?

TableInputFormat
类位于hbase-server.jar中,您需要在pom.xml中添加该依赖项。请查看Spark用户列表

<dependency>
    <groupId>org.apache.hbase</groupId>
    <artifactId>hbase-server</artifactId>
    <version>1.3.0</version>
</dependency>

org.apache.hbase
hbase服务器
1.3.0
下面是使用Spark从Hbase读取的示例代码

public static void main(String[] args) throws Exception {
    SparkConf sparkConf = new SparkConf().setAppName("HBaseRead").setMaster("local[*]");
    JavaSparkContext jsc = new JavaSparkContext(sparkConf);
    Configuration hbaseConf = HBaseConfiguration.create();
    hbaseConf.set(TableInputFormat.INPUT_TABLE, "my_table");
    JavaPairRDD<ImmutableBytesWritable, Result> javaPairRdd = jsc.newAPIHadoopRDD(hbaseConf, TableInputFormat.class,ImmutableBytesWritable.class, Result.class);
    jsc.stop();
  }
}
publicstaticvoidmain(字符串[]args)引发异常{
SparkConf SparkConf=new SparkConf().setAppName(“HBaseRead”).setMaster(“local[*]”);
JavaSparkContext jsc=新的JavaSparkContext(sparkConf);
配置hbaseConf=HBaseConfiguration.create();
hbaseConf.set(TableInputFormat.INPUT_TABLE,“我的表”);
javapairdd javapairdd=jsc.newAPIHadoopRDD(hbaseConf,TableInputFormat.class,ImmutableBytesWritable.class,Result.class);
jsc.stop();
}
}

TableInputFormat
类位于hbase-server.jar中,您需要在pom.xml中添加该依赖项。请查看Spark用户列表

<dependency>
    <groupId>org.apache.hbase</groupId>
    <artifactId>hbase-server</artifactId>
    <version>1.3.0</version>
</dependency>

org.apache.hbase
hbase服务器
1.3.0
下面是使用Spark从Hbase读取的示例代码

public static void main(String[] args) throws Exception {
    SparkConf sparkConf = new SparkConf().setAppName("HBaseRead").setMaster("local[*]");
    JavaSparkContext jsc = new JavaSparkContext(sparkConf);
    Configuration hbaseConf = HBaseConfiguration.create();
    hbaseConf.set(TableInputFormat.INPUT_TABLE, "my_table");
    JavaPairRDD<ImmutableBytesWritable, Result> javaPairRdd = jsc.newAPIHadoopRDD(hbaseConf, TableInputFormat.class,ImmutableBytesWritable.class, Result.class);
    jsc.stop();
  }
}
publicstaticvoidmain(字符串[]args)引发异常{
SparkConf SparkConf=new SparkConf().setAppName(“HBaseRead”).setMaster(“local[*]”);
JavaSparkContext jsc=新的JavaSparkContext(sparkConf);
配置hbaseConf=HBaseConfiguration.create();
hbaseConf.set(TableInputFormat.INPUT_TABLE,“我的表”);
javapairdd javapairdd=jsc.newAPIHadoopRDD(hbaseConf,TableInputFormat.class,ImmutableBytesWritable.class,Result.class);
jsc.stop();
}
}
是。有。从Cloudera使用

<dependency>
    <groupId>org.apache.hbase</groupId>
    <artifactId>hbase-spark</artifactId>
    <version>1.2.0-cdh5.7.0</version>
</dependency>

org.apache.hbase
hbase spark
1.2.0-cdh5.7.0
以及使用HBase扫描从HBase表中读取数据(如果知道要检索的行的键,则使用批量获取)

Configuration=HBaseConfiguration.create();
conf.addResource(新路径(“/etc/hbase/conf/core site.xml”);
conf.addResource(新路径(“/etc/hbase/conf/hbase site.xml”);
JavaHBaseContext hbaseContext=新的JavaHBaseContext(jsc,conf);
扫描=新扫描();
扫描设置缓存(100);
JavaRDD hbaseRdd=hbaseContext.hbaseRdd(表名,扫描);
System.out.println(“找到的记录数:+hBaseRDD.count())
是。有。从Cloudera使用

<dependency>
    <groupId>org.apache.hbase</groupId>
    <artifactId>hbase-spark</artifactId>
    <version>1.2.0-cdh5.7.0</version>
</dependency>

org.apache.hbase
hbase spark
1.2.0-cdh5.7.0
以及使用HBase扫描从HBase表中读取数据(如果知道要检索的行的键,则使用批量获取)

Configuration=HBaseConfiguration.create();
conf.addResource(新路径(“/etc/hbase/conf/core site.xml”);
conf.addResource(新路径(“/etc/hbase/conf/hbase site.xml”);
JavaHBaseContext hbaseContext=新的JavaHBaseContext(jsc,conf);
扫描=新扫描();
扫描设置缓存(100);
JavaRDD hbaseRdd=hbaseContext.hbaseRdd(表名,扫描);
System.out.println(“找到的记录数:+hBaseRDD.count())

很抱歉回答晚了,我刚刚尝试添加了
hbase spark
。我意识到这个人工制品不在马文中心。所以我添加了
https://repository.cloudera.com/artifactory/cloudera-repos/
将pom作为存储库。它仍然说,
org.apache.hbase:hbase spark:jar:1.2.0-cdh5.7.0的POM丢失,没有可用的依赖信息
,有什么建议吗?很抱歉回答得太晚,我只是尝试添加
hbase spark
。我意识到这个人工制品不在马文中心。所以我添加了
https://repository.cloudera.com/artifactory/cloudera-repos/
将pom作为存储库。它仍然说,
org.apache.hbase:hbase spark:jar:1.2.0-cdh5.7.0的POM丢失,没有可用的依赖信息
,有什么建议吗?