如何使用Spark/Scala读取Hbase的数据
1、从上面的代码可以看出来,使用spark+scala操作hbase是非常简单的。
2、spark读取hbase数据形成RDD,构建schma信息,形成DF 通过sparkSQL 将df数据写入到指定的hive表格中。
3、Spark通过提供丰富的Scala, Java,Python API及交互式Shell来提高可用性。Spark与Hadoop的结合 Spark可以直接对HDFS进行数据的读写,同样支持Spark on YARN。
hbase里的hlog存在哪?regionserver里还是zookeeper里?
HBase 写入数据会写到HMemcache 和Hlog 中,HMemcache 建立缓存,Hlog 同步Hmemcache和Hstore 的事务日志,发起Flush Cache 时,数据持久化到Hstore 中,并清空HMemecache。
首先Hbase是依赖于HDFS和zookeeper的。 Zookeeper分担了Hmaster的一部分功能,客户端进行DML语句的时候,都是先跟ZK交互。
Hbase是强依赖于ZooKeeper,我们读或写一个表的数据,都会优先访问ZooKeeper。通常是集群中单独的3/5台服务器。HMaster通常是Hadoop集群中的一台或两台(backup-Master)。
六、HBase写入流程
整个写入顺序图流程如下:1 客户端查找对应region 客户端根据要操作rowkey,查找rowkey对应的region。查找region的过程为通过zk获取到hbase:meta表所在region。
和读相比,HBase写数据流程倒是显得很简单:数据先顺序写入HLog,再写入对应的缓存Memstore,当Memstore中数据大小达到一定阈值(128M)之后,系统会异步将Memstore中数据flush到HDFS形成小文件。
首先Hbase是依赖于HDFS和zookeeper的。 Zookeeper分担了Hmaster的一部分功能,客户端进行DML语句的时候,都是先跟ZK交互。
该过程会自动从指定hbase表内一行一行读取数据进行处理。
业务需求 flume需要从kafka获取数据并写入hbase 开始写的想法:按照flume的流程:一个source ,三个channel, 三个sink,因为我需要三个列族,如果使用官方的hbase sink那么需要三个sink。
hbase读取流程的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于hbase读数据流程图、hbase读取流程的信息别忘了在本站进行查找喔。