val conf = new SparkConf
implicit val sc = new SparkContext(conf)
implicit val hiveContext = new HiveContext(sc)
HbaseMappingUtil.getHbaseDataFrame(tableName,startRow,stopRow).registerTempTable(tableName)
hiveContext.sql("select * from tableName limit 1").show()
项目背景
spark sql读hbase据说官网现在在写,但还没稳定,所以我基于hbase-rdd这个项目进行了一个封装,其中会区分是否为2进制,如果是就在配置文件中指定为
#b
,如long#b
,还有用了个公司封装的Byte转其他类型,这个如果别人用需要自己实现一套方案,如果我们完成这一步,将会得到一个DataFrame,后面就可以registerTmpTable
,正常使用了使用hiveContext,是因为有一定的orc文件,我这套方案是兼容hbase和hfile的,比如:配置文件
配置文件:
就是需要配置一些比如columnfamily,column,是否为空,一定要配,相当于自定格式的一个配置
核心代码
核心代码:
mygithub