2017-05-30 5 views
1

I-Daten lesen von kafka in Funken-Streaming-Anwendung und dabei zwei AktionenAusführen Funken Streaming-Aktionen nacheinander

  1. Insert dstreams in hbase Tabelle A
  2. aktualisiert andere hbase Tabelle B

Ich mag um sicherzustellen, dass für jede RDD in dstream Einfügen in HBase-Tabelle A wird vor dem Update-Vorgang auf HBase-Tabelle B passieren (über zwei Aktionen passieren nacheinander für jede RDD)

Wie dies in Funken erreichen Anwendung

Antwort

0

Wie pro meinem Wissen Streaming Sie die obige Aufgabe in der folgenden Art und Weise durchführen können

Diese in sequentieller Weise

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} 

Hoffnung durchgeführt werden, das hilft

+0

Hier, wird zweite foreach Schleife erst nach dem ersten foreach Schleife beendet – jshweta14

+1

Ja, ich glaube mit bestem Wissen !!! ... – Bhavesh

+0

Vielen Dank! funktionierte wie Charme! – jshweta14

0

Aktualisieren Sie beide Tabellen nacheinander in rdd.foreach(). Es wird sequentiell ausgeführt, wenn Sie Ausnahmen ordnungsgemäß behandelt haben.

Dieses Verhalten wird durch die Tatsache unterstützt, dass seine DAG in der gleichen Stufe der Reihe nach ausgeführt wird.

Verwandte Themen