首页 文章

按顺序执行火花流动作

提问于
浏览
2

我正在从火花流应用程序中的kafka读取数据并执行两个操作

  • 将dstreams插入到hbase表A中

  • 更新另一个hbase表B.

我想确保为dstream中的每个rdd插入hbase表A将在hbase表B上的更新操作之前发生(对于每个rdd,上面的两个动作顺序发生)

如何在火花流应用中实现这一点

2 回答

  • 0

    据我所知,您可以通过以下方式执行上述任务

    这将以顺序方式执行

    recordStream.foreachRDD{rdd => { //this will be Dstream RDD Records from kafka
     val record = rdd.map(line => line.split("\\|")).collect 
     record.foreach {recordRDD => { //Write the code for Insert in hbase}
     record.foreach {recordRDD => { //Write the code for Update in hbase}
    

    Hope this Helps

  • 1

    在单个 rdd.foreach() 中按顺序更新两个表 . 如果您已正确处理异常,它将以顺序方式执行 .

    此行为得到以下事实的支持:其DAG将按顺序在同一阶段执行 .

相关问题