使用Spark

时间:2016-11-16 22:33:20

标签: apache-spark hbase

我想使用get命令从Hbase表读取数据,而我还有行的密钥..我想在我的Spark流应用程序中执行此操作,是否有人可以共享的源代码?

1 个答案:

答案 0 :(得分:0)

您可以使用Spark newAPIHadoopRDD来读取Hbase表,返回RDD。

例如:

val sparkConf = new SparkConf().setAppName("Hbase").setMaster("local")
val sc = new SparkContext(sparkConf)
val conf = HBaseConfiguration.create()
val tableName = "table"

conf.set("hbase.master", "localhost:60000")
conf.set("hbase.zookeeper.quorum", "localhost:2181")
conf.set("zookeeper.znode.parent", "/hbase-unsecure")
conf.set(TableInputFormat.INPUT_TABLE, tableName)


val rdd = sc.newAPIHadoopRDD(conf, classOf[TableInputFormat], classOf[ImmutableBytesWritable], classOf[Result])
println("Number of Records found : " + rdd.count())
sc.stop()

或者您可以使用任何Spark Hbase连接器,如HortonWorks Hbase连接器。

https://github.com/hortonworks-spark/shc

您也可以使用Spark-Phoenix API。

https://phoenix.apache.org/phoenix_spark.html