是否可以设置spark streaming作业来跟踪hbase表并在每个批中读取新的/更新的行?这里的博客说hdfs文件属于受支持的源代码。但他们似乎在使用以下静态api:
sc.newAPIHadoopRDD(..)
我找不到任何关于这个的文件。是否可以使用spark流式处理上下文从hbase流式处理?感谢您的帮助。谢谢!
oknwwptz1#
提供的链接执行以下操作读取流数据-将其转换为hbase put,然后添加到hbase表。在这之前,它是流媒体。也就是说你的摄取过程是流式的。统计计算部分,我认为是批处理-这使用newapihadooprdd。此方法将数据读取部分视为文件。在本例中,文件来自hbase—这就是为什么要使用以下输入格式val hbaserdd=sc.newapihadooprdd(conf,classof[tableinputformat],classof[org.apache.hadoop.hbase.io.immutablebyteswritable],classof[org.apache.hadoop.hbase.client.result])如果要以流式方式读取hbase中的更新,则应在后端具有hbase的wal(预写日志)句柄,然后执行操作。hbase索引器是开始读取hbase中任何更新的好地方。我使用hbase indexer在后端读取hbase更新,并在更新到达时将其定向到solr。希望这有帮助。
1条答案
按热度按时间oknwwptz1#
提供的链接执行以下操作
读取流数据-将其转换为hbase put,然后添加到hbase表。在这之前,它是流媒体。也就是说你的摄取过程是流式的。
统计计算部分,我认为是批处理-这使用newapihadooprdd。此方法将数据读取部分视为文件。在本例中,文件来自hbase—这就是为什么要使用以下输入格式
val hbaserdd=sc.newapihadooprdd(conf,classof[tableinputformat],classof[org.apache.hadoop.hbase.io.immutablebyteswritable],classof[org.apache.hadoop.hbase.client.result])
如果要以流式方式读取hbase中的更新,则应在后端具有hbase的wal(预写日志)句柄,然后执行操作。hbase索引器是开始读取hbase中任何更新的好地方。
我使用hbase indexer在后端读取hbase更新,并在更新到达时将其定向到solr。希望这有帮助。