<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>question Re: A Two Phase Commit for Hbase &amp; NiFi in Support Questions</title>
    <link>https://community.cloudera.com/t5/Support-Questions/A-Two-Phase-Commit-for-Hbase-NiFi/m-p/160979#M123364</link>
    <description>&lt;P&gt;Option 1) It looks like you can write your own custom processor that does this:   &lt;A href="http://omid.incubator.apache.org/quickstart.html" target="_blank"&gt;http://omid.incubator.apache.org/quickstart.html&lt;/A&gt; using their library.&lt;/P&gt;&lt;P&gt;Option 2) Or if you didn't want to add a custom processor you could have Spark, Flink or Storm program make the Omid client call and push to NiFi with Site-to-Site or Kafka and check.   You must check to for failures and implement retry&lt;/P&gt;&lt;P&gt;Option 3)  Tephra is used by the &lt;A href="https://phoenix.apache.org/transactions.html"&gt;Apache Phoenix&lt;/A&gt; as well to add cross-row and cross-table transaction support with full ACID semantics.   So use JDBC Connection from NIFI to get the data.&lt;/P&gt;&lt;P&gt;Option 4)  CQRS / Event Sourcing instead of old style 2 Phase Commit which has heavy overhead and limits scalability.&lt;/P&gt;&lt;P&gt;Option 5) &lt;A href="http://trafodion.apache.org/faq.html" target="_blank"&gt;http://trafodion.apache.org/faq.html&lt;/A&gt; with NiFi&lt;/P&gt;&lt;P&gt;Option 6) Look at some HBase stuff:   &lt;A href="http://www.slideshare.net/HBaseCon/operations-session-6-49043532" target="_blank"&gt;http://www.slideshare.net/HBaseCon/operations-session-6-49043532&lt;/A&gt;  &lt;/P&gt;</description>
    <pubDate>Tue, 20 Sep 2016 20:31:22 GMT</pubDate>
    <dc:creator>TimothySpann</dc:creator>
    <dc:date>2016-09-20T20:31:22Z</dc:date>
    <item>
      <title>A Two Phase Commit for Hbase &amp; NiFi</title>
      <link>https://community.cloudera.com/t5/Support-Questions/A-Two-Phase-Commit-for-Hbase-NiFi/m-p/160976#M123361</link>
      <description>&lt;P&gt;How would you perform a two phase commit between HBase and NiFi?  Think of a trading system in FinServ.  Once a piece of data in transacted (i.e. committed) in HBase (assume Omid / Tephra here), how can a push mechanism get that data into NiFi, and then NiFi can acknowledge that it received the data from HBase?&lt;/P&gt;</description>
      <pubDate>Tue, 20 Sep 2016 11:04:20 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/A-Two-Phase-Commit-for-Hbase-NiFi/m-p/160976#M123361</guid>
      <dc:creator>ccasano</dc:creator>
      <dc:date>2016-09-20T11:04:20Z</dc:date>
    </item>
    <item>
      <title>Re: A Two Phase Commit for Hbase &amp; NiFi</title>
      <link>https://community.cloudera.com/t5/Support-Questions/A-Two-Phase-Commit-for-Hbase-NiFi/m-p/160977#M123362</link>
      <description>&lt;P&gt; &lt;A rel="user" href="https://community.cloudera.com/users/299/ccasano.html" nodeid="299"&gt;@ccasano&lt;/A&gt; trying to understand the use case.  Are you looking or ack when data is recieved by NiFi and second when data is push into hbase? sorry didn't follow your question completely.&lt;/P&gt;</description>
      <pubDate>Tue, 20 Sep 2016 11:33:14 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/A-Two-Phase-Commit-for-Hbase-NiFi/m-p/160977#M123362</guid>
      <dc:creator>sunile_manjee</dc:creator>
      <dc:date>2016-09-20T11:33:14Z</dc:date>
    </item>
    <item>
      <title>Re: A Two Phase Commit for Hbase &amp; NiFi</title>
      <link>https://community.cloudera.com/t5/Support-Questions/A-Two-Phase-Commit-for-Hbase-NiFi/m-p/160978#M123363</link>
      <description>&lt;P&gt;You would need something running in HBase that could push the data to a processor in NiFi, and would re-try if an acknowledgement was never received from NiFi. The processor in NiFi would only send an acknowledgement after writing the data to a flow file and calling session.commit(). Don't know enough about HBase to say how or if you can implement that. The current integration between NiFi and HBase is a GetHBase processor that scans for new cells based on a timestamp, and PutHBaseCell and PutHBaseJSON for inserting data. &lt;/P&gt;</description>
      <pubDate>Tue, 20 Sep 2016 20:17:57 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/A-Two-Phase-Commit-for-Hbase-NiFi/m-p/160978#M123363</guid>
      <dc:creator>bbende</dc:creator>
      <dc:date>2016-09-20T20:17:57Z</dc:date>
    </item>
    <item>
      <title>Re: A Two Phase Commit for Hbase &amp; NiFi</title>
      <link>https://community.cloudera.com/t5/Support-Questions/A-Two-Phase-Commit-for-Hbase-NiFi/m-p/160979#M123364</link>
      <description>&lt;P&gt;Option 1) It looks like you can write your own custom processor that does this:   &lt;A href="http://omid.incubator.apache.org/quickstart.html" target="_blank"&gt;http://omid.incubator.apache.org/quickstart.html&lt;/A&gt; using their library.&lt;/P&gt;&lt;P&gt;Option 2) Or if you didn't want to add a custom processor you could have Spark, Flink or Storm program make the Omid client call and push to NiFi with Site-to-Site or Kafka and check.   You must check to for failures and implement retry&lt;/P&gt;&lt;P&gt;Option 3)  Tephra is used by the &lt;A href="https://phoenix.apache.org/transactions.html"&gt;Apache Phoenix&lt;/A&gt; as well to add cross-row and cross-table transaction support with full ACID semantics.   So use JDBC Connection from NIFI to get the data.&lt;/P&gt;&lt;P&gt;Option 4)  CQRS / Event Sourcing instead of old style 2 Phase Commit which has heavy overhead and limits scalability.&lt;/P&gt;&lt;P&gt;Option 5) &lt;A href="http://trafodion.apache.org/faq.html" target="_blank"&gt;http://trafodion.apache.org/faq.html&lt;/A&gt; with NiFi&lt;/P&gt;&lt;P&gt;Option 6) Look at some HBase stuff:   &lt;A href="http://www.slideshare.net/HBaseCon/operations-session-6-49043532" target="_blank"&gt;http://www.slideshare.net/HBaseCon/operations-session-6-49043532&lt;/A&gt;  &lt;/P&gt;</description>
      <pubDate>Tue, 20 Sep 2016 20:31:22 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/A-Two-Phase-Commit-for-Hbase-NiFi/m-p/160979#M123364</guid>
      <dc:creator>TimothySpann</dc:creator>
      <dc:date>2016-09-20T20:31:22Z</dc:date>
    </item>
    <item>
      <title>Re: A Two Phase Commit for Hbase &amp; NiFi</title>
      <link>https://community.cloudera.com/t5/Support-Questions/A-Two-Phase-Commit-for-Hbase-NiFi/m-p/160980#M123365</link>
      <description>&lt;P&gt;I'm thinking a coprocessor on HBase watching for data coming from nifi? &lt;A rel="user" href="https://community.cloudera.com/users/372/enis.html" nodeid="372"&gt;@Enis&lt;/A&gt; &lt;A rel="user" href="https://community.cloudera.com/users/544/vrodionov.html" nodeid="544"&gt;@vrodionov&lt;/A&gt; &lt;A rel="user" href="https://community.cloudera.com/users/11843/wxu.html" nodeid="11843"&gt;@wxu&lt;/A&gt; &lt;A rel="user" href="https://community.cloudera.com/users/451/carter.html" nodeid="451"&gt;@carter&lt;/A&gt; &lt;A rel="user" href="https://community.cloudera.com/users/131/nmaillard.html" nodeid="131"&gt;@nmaillard&lt;/A&gt; this is an FS use case in NYC.&lt;/P&gt;</description>
      <pubDate>Tue, 20 Sep 2016 21:36:31 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/A-Two-Phase-Commit-for-Hbase-NiFi/m-p/160980#M123365</guid>
      <dc:creator>aervits</dc:creator>
      <dc:date>2016-09-20T21:36:31Z</dc:date>
    </item>
    <item>
      <title>Re: A Two Phase Commit for Hbase &amp; NiFi</title>
      <link>https://community.cloudera.com/t5/Support-Questions/A-Two-Phase-Commit-for-Hbase-NiFi/m-p/160981#M123366</link>
      <description>&lt;P style="margin-left: 80px;"&gt;&lt;A rel="user" href="https://community.cloudera.com/users/363/bbende.html" nodeid="363"&gt;@Bryan Bende&lt;/A&gt; &lt;A rel="user" href="https://community.cloudera.com/users/393/aervits.html" nodeid="393"&gt;@Artem Ervits&lt;/A&gt; this is helpful, I think we could be onto something. For a coprocessor, would it make sense to emit to REST call to get the transaction to NiFi as opposed to having NiFi doing constant Gets? Not too familiar with HBase but co-processors reminds me of triggers which can be useful but slippery. For the two phase commit, I believe the NiFi processor that would receive the "triggered" data would then have to ACK which HBase before transmitting further down the flow.&lt;/P&gt;</description>
      <pubDate>Tue, 20 Sep 2016 23:27:11 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/A-Two-Phase-Commit-for-Hbase-NiFi/m-p/160981#M123366</guid>
      <dc:creator>ccasano</dc:creator>
      <dc:date>2016-09-20T23:27:11Z</dc:date>
    </item>
    <item>
      <title>Re: A Two Phase Commit for Hbase &amp; NiFi</title>
      <link>https://community.cloudera.com/t5/Support-Questions/A-Two-Phase-Commit-for-Hbase-NiFi/m-p/160982#M123367</link>
      <description>&lt;P&gt;The requirement is to have HBASE notify (PUSH) to NiFi when a piece of data has been changed, rather than use the polling mechanism currently implemented in NiFi. &lt;/P&gt;&lt;P&gt;Client has implemented a custom in-house solution using HBASE coprocessor, but would like to replace this code with NiFi. Polling does not work well in an environment when data can change rapidly or when data is updated at irregular intervals.&lt;/P&gt;&lt;P&gt;Ideal solution would be to "publish-and forget" an update via Kafka (or another method) in a manner which does not stop HBASE processing like a tigger would or has an impact of performance of HBASE.&lt;/P&gt;</description>
      <pubDate>Wed, 21 Sep 2016 02:31:56 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/A-Two-Phase-Commit-for-Hbase-NiFi/m-p/160982#M123367</guid>
      <dc:creator>dbaez</dc:creator>
      <dc:date>2016-09-21T02:31:56Z</dc:date>
    </item>
    <item>
      <title>Re: A Two Phase Commit for Hbase &amp; NiFi</title>
      <link>https://community.cloudera.com/t5/Support-Questions/A-Two-Phase-Commit-for-Hbase-NiFi/m-p/160983#M123368</link>
      <description>&lt;P&gt;There was some discussion a long time ago about using HBase's replication end-point to possibly push data to NiFi, but at the time it wasn't something that was needed. You can dig through the comment trail here for more info: &lt;A href="https://issues.apache.org/jira/browse/NIFI-817" target="_blank"&gt;https://issues.apache.org/jira/browse/NIFI-817&lt;/A&gt; starting with &lt;A href="https://issues.apache.org/jira/secure/ViewProfile.jspa?name=nmaillard"&gt;nicolas maillard&lt;/A&gt; added a comment - 21/Sep/15 13:15&lt;/P&gt;</description>
      <pubDate>Wed, 21 Sep 2016 02:52:15 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/A-Two-Phase-Commit-for-Hbase-NiFi/m-p/160983#M123368</guid>
      <dc:creator>bbende</dc:creator>
      <dc:date>2016-09-21T02:52:15Z</dc:date>
    </item>
  </channel>
</rss>

