Scala 使用Spark SQL列出Hbse表

Scala 使用Spark SQL列出Hbse表,scala,hbase,apache-spark-sql,Scala,Hbase,Apache Spark Sql,我想使用Spark SQL列出Hbase表 尝试下面的代码,但它不工作。我们是否需要在Spark sql上下文选项中设置hbase主机、zookeeper仲裁等详细信息 val sparkConf = new SparkConf().setAppName("test") val sc= new SparkContext(sparkConf) val sqlContext = new SQLContext(sc) val hiveContext = new HiveContext(sqlC

我想使用Spark SQL列出Hbase表

尝试下面的代码,但它不工作。我们是否需要在Spark sql上下文选项中设置hbase主机、zookeeper仲裁等详细信息

    val sparkConf = new SparkConf().setAppName("test")
val sc= new SparkContext(sparkConf)
val sqlContext = new SQLContext(sc)
val hiveContext = new HiveContext(sqlContext)
val listOfTables = hiveContext.sql("list")
listOfTables.show

另外,spark sql不可能直接访问hbase表

hivecontext
只知道hivemetastore中的表。
  • 所以我建议从配置单元创建externaltable,如下例所示
创建表用户( userid int、name字符串、email字符串、notes字符串) 储存人 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' 与serdeproperty( “hbase.columns.mapping”= “小:姓名,小:电子邮件,大:备注”)

然后你可以使用

tbls = hiveContext.sql("show tables")
  tbls.show()
  • 或者,您可以在不使用spark sql的情况下使用此
在这里,我们使用HbaseAdmin来计算表的行数,而不是。。在您的情况下,可以使用HbaseAdmin(getTableNames())


请参见,spark sql不可能直接访问hbase表

hivecontext
只知道hivemetastore中的表。
  • 所以我建议从配置单元创建externaltable,如下例所示
创建表用户( userid int、name字符串、email字符串、notes字符串) 储存人 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' 与serdeproperty( “hbase.columns.mapping”= “小:姓名,小:电子邮件,大:备注”)

然后你可以使用

tbls = hiveContext.sql("show tables")
  tbls.show()
  • 或者,您可以在不使用spark sql的情况下使用此
在这里,我们使用HbaseAdmin来计算表的行数,而不是。。在您的情况下,可以使用HbaseAdmin(getTableNames())


请参见

感谢您的回答,我们目前正在使用HortonWorks的Spark HBase connector读取和写入表格,其工作正常,只是想将其用于一些POC,这就是我发布的原因。感谢您的回答,我们目前正在使用HortonWorks的Spark HBase connector读取和写入表格,其工作正常,我只是想用这个来做一些POC,这就是我为什么发帖子的原因。