<?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 how to define condition based text replacement in 'replaceText' processor in Support Questions</title>
    <link>https://community.cloudera.com/t5/Support-Questions/how-to-define-condition-based-text-replacement-in/m-p/348187#M235333</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I want to&amp;nbsp; modify the ddl query table name. I am using the replaceText processor to modify the flowfile query table name. Currently I am able to achieve it&amp;nbsp; &amp;nbsp;because I have one source DB and only one table name I have changed in destination DB.&lt;/P&gt;&lt;P&gt;Like sourceDBName: nrpsubscriotion and tableName: status -&amp;gt; destinationDBName: nrpresport and tableName: subscription_status.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now I have two&amp;nbsp;source DB(1. nrpsubscriotion, 2. nrpuserorg) and both have same tableName: status. Now Source DB 2 , tableName in destination DB nrpreport has tableName: user_org_status.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have stuck here , I am not getting how can define a condition to replce a tableName in DDL based on schema name and ddl query able name:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It should map like below:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;1. SourceDBName: nrpsubscriotion and tableName: status -&amp;gt; destinationDBName: nrpresport and tableName: subscription_status.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Flow File input:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;{&lt;BR /&gt;"type" : "ddl",&lt;BR /&gt;"timestamp" : 1658314685000,&lt;BR /&gt;"binlog_gtidset" : "e75d07af-eb37-11ec-9d1d-a86daa745b08:1-206",&lt;BR /&gt;"database" : "nrpsubscription",&lt;BR /&gt;"table_name" : null,&lt;BR /&gt;"table_id" : null,&lt;BR /&gt;"query" : "ALTER TABLE `status` ADD COLUMN `is_test` VARCHAR(255) NULL AFTER `code`"&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Expected output:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;{&lt;BR /&gt;"type" : "ddl",&lt;BR /&gt;"timestamp" : 1658314685000,&lt;BR /&gt;"binlog_gtidset" : "e75d07af-eb37-11ec-9d1d-a86daa745b08:1-206",&lt;BR /&gt;"database" : "nrpsubscription",&lt;BR /&gt;"table_name" : null,&lt;BR /&gt;"table_id" : null,&lt;BR /&gt;"query" : "ALTER TABLE `subscription_status` ADD COLUMN `is_test` VARCHAR(255) NULL AFTER `code`"&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;2. SourceDBName: nrpuserorg and&amp;nbsp; tableName: status -&amp;gt; destinationDBName: nrpreport and tableName: user_org_status.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;{&lt;BR /&gt;"type" : "ddl",&lt;BR /&gt;"timestamp" : 1658314686000,&lt;BR /&gt;"binlog_gtidset" : "e75d07af-eb37-11ec-9d1d-a86daa745b08:1-207",&lt;BR /&gt;"database" : "nrpuserorg",&lt;BR /&gt;"table_name" : null,&lt;BR /&gt;"table_id" : null,&lt;BR /&gt;"query" : "ALTER TABLE `status` ADD COLUMN `is_test` VARCHAR(255) NULL AFTER `code`"&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Expected output:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;{&lt;BR /&gt;"type" : "ddl",&lt;BR /&gt;"timestamp" : 1658314686000,&lt;BR /&gt;"binlog_gtidset" : "e75d07af-eb37-11ec-9d1d-a86daa745b08:1-207",&lt;BR /&gt;"database" : "nrpuserorgdb",&lt;BR /&gt;"table_name" : null,&lt;BR /&gt;"table_id" : null,&lt;BR /&gt;"query" : "ALTER TABLE `user_org_status` ADD COLUMN `is_test` VARCHAR(255) NULL AFTER `code`"&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 20 Jul 2022 11:26:45 GMT</pubDate>
    <dc:creator>AbhishekSingh</dc:creator>
    <dc:date>2022-07-20T11:26:45Z</dc:date>
    <item>
      <title>how to define condition based text replacement in 'replaceText' processor</title>
      <link>https://community.cloudera.com/t5/Support-Questions/how-to-define-condition-based-text-replacement-in/m-p/348187#M235333</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I want to&amp;nbsp; modify the ddl query table name. I am using the replaceText processor to modify the flowfile query table name. Currently I am able to achieve it&amp;nbsp; &amp;nbsp;because I have one source DB and only one table name I have changed in destination DB.&lt;/P&gt;&lt;P&gt;Like sourceDBName: nrpsubscriotion and tableName: status -&amp;gt; destinationDBName: nrpresport and tableName: subscription_status.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now I have two&amp;nbsp;source DB(1. nrpsubscriotion, 2. nrpuserorg) and both have same tableName: status. Now Source DB 2 , tableName in destination DB nrpreport has tableName: user_org_status.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have stuck here , I am not getting how can define a condition to replce a tableName in DDL based on schema name and ddl query able name:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It should map like below:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;1. SourceDBName: nrpsubscriotion and tableName: status -&amp;gt; destinationDBName: nrpresport and tableName: subscription_status.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Flow File input:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;{&lt;BR /&gt;"type" : "ddl",&lt;BR /&gt;"timestamp" : 1658314685000,&lt;BR /&gt;"binlog_gtidset" : "e75d07af-eb37-11ec-9d1d-a86daa745b08:1-206",&lt;BR /&gt;"database" : "nrpsubscription",&lt;BR /&gt;"table_name" : null,&lt;BR /&gt;"table_id" : null,&lt;BR /&gt;"query" : "ALTER TABLE `status` ADD COLUMN `is_test` VARCHAR(255) NULL AFTER `code`"&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Expected output:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;{&lt;BR /&gt;"type" : "ddl",&lt;BR /&gt;"timestamp" : 1658314685000,&lt;BR /&gt;"binlog_gtidset" : "e75d07af-eb37-11ec-9d1d-a86daa745b08:1-206",&lt;BR /&gt;"database" : "nrpsubscription",&lt;BR /&gt;"table_name" : null,&lt;BR /&gt;"table_id" : null,&lt;BR /&gt;"query" : "ALTER TABLE `subscription_status` ADD COLUMN `is_test` VARCHAR(255) NULL AFTER `code`"&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;2. SourceDBName: nrpuserorg and&amp;nbsp; tableName: status -&amp;gt; destinationDBName: nrpreport and tableName: user_org_status.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;{&lt;BR /&gt;"type" : "ddl",&lt;BR /&gt;"timestamp" : 1658314686000,&lt;BR /&gt;"binlog_gtidset" : "e75d07af-eb37-11ec-9d1d-a86daa745b08:1-207",&lt;BR /&gt;"database" : "nrpuserorg",&lt;BR /&gt;"table_name" : null,&lt;BR /&gt;"table_id" : null,&lt;BR /&gt;"query" : "ALTER TABLE `status` ADD COLUMN `is_test` VARCHAR(255) NULL AFTER `code`"&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Expected output:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;{&lt;BR /&gt;"type" : "ddl",&lt;BR /&gt;"timestamp" : 1658314686000,&lt;BR /&gt;"binlog_gtidset" : "e75d07af-eb37-11ec-9d1d-a86daa745b08:1-207",&lt;BR /&gt;"database" : "nrpuserorgdb",&lt;BR /&gt;"table_name" : null,&lt;BR /&gt;"table_id" : null,&lt;BR /&gt;"query" : "ALTER TABLE `user_org_status` ADD COLUMN `is_test` VARCHAR(255) NULL AFTER `code`"&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 20 Jul 2022 11:26:45 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/how-to-define-condition-based-text-replacement-in/m-p/348187#M235333</guid>
      <dc:creator>AbhishekSingh</dc:creator>
      <dc:date>2022-07-20T11:26:45Z</dc:date>
    </item>
    <item>
      <title>Re: how to define condition based text replacement in 'replaceText' processor</title>
      <link>https://community.cloudera.com/t5/Support-Questions/how-to-define-condition-based-text-replacement-in/m-p/348203#M235335</link>
      <description>&lt;P&gt;&lt;a href="https://community.cloudera.com/t5/user/viewprofilepage/user-id/99077"&gt;@AbhishekSingh&lt;/a&gt;&amp;nbsp;I believe you can accomplish this with some very complicated Expression Language chaining.&amp;nbsp; It is possible to have many Expression Languages combined into one expression.&amp;nbsp; &amp;nbsp;Reference:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#ifelse" target="_blank"&gt;https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I do not have time to prove this out, but in theory,&amp;nbsp; you would combine lesson learned in your other post (expression language to change the database.table with Replace,&amp;nbsp;&lt;A href="https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#ifelse" target="_self"&gt;ifElse&lt;/A&gt; and maybe &lt;A href="https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#equals" target="_self"&gt;Equals&lt;/A&gt;&lt;/P&gt;&lt;P&gt;to get your desired outcome.&lt;/P&gt;</description>
      <pubDate>Wed, 20 Jul 2022 12:14:47 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/how-to-define-condition-based-text-replacement-in/m-p/348203#M235335</guid>
      <dc:creator>steven-matison</dc:creator>
      <dc:date>2022-07-20T12:14:47Z</dc:date>
    </item>
  </channel>
</rss>

