<?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>topic Re: record level recovery in Talend Studio</title>
    <link>https://community.qlik.com/t5/Talend-Studio/record-level-recovery/m-p/2320865#M90958</link>
    <description>&lt;P&gt;There are several ways to approach this problem. Below are some high level method descriptions you might want to consider....&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;These are&amp;nbsp;based on a model of a source and target table.&amp;nbsp;Consider "table" to refer to any source or target data repository (file, db, etc).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1) Before you start your load, query your target to find a key record which will inform you of where your last run ended. Use that data to filter your source. If reading from a file you may want to use a tMap to filter records already processed.&lt;/P&gt;
&lt;P&gt;2) At the end of your job (using a tPostJob component) log where the load got to in a file (assuming that your database access is not guaranteed and writing to a file is). The tPostJob will run regardless of what happens so you know you can log a result regardless of the failure.&lt;/P&gt;
&lt;P&gt;3)&amp;nbsp;&amp;nbsp;A less efficient way would be to use an "insert&amp;nbsp;if not exist" action....but you will need a primary key or composite key&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There are other ways, but the above you should steer you towards a suitable method for your data.&lt;/P&gt;</description>
    <pubDate>Mon, 10 Jul 2017 11:54:26 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2017-07-10T11:54:26Z</dc:date>
    <item>
      <title>record level recovery</title>
      <link>https://community.qlik.com/t5/Talend-Studio/record-level-recovery/m-p/2320863#M90956</link>
      <description>&lt;P&gt;Hi Team,&lt;/P&gt;
&lt;P&gt;I am trying to load data from tfileinputdelimited to a oracle database. Imagine there are 5000 records in my source . There is some problem with the network or something on completing 1500 records. When the problem is resolved , the job should resume for 1501th record and should not start the job from first. How can I achieve this in talend data fabric 6.2.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks&lt;/P&gt;
&lt;P&gt;Karthik&lt;/P&gt;</description>
      <pubDate>Sat, 16 Nov 2024 09:32:52 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/record-level-recovery/m-p/2320863#M90956</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2024-11-16T09:32:52Z</dc:date>
    </item>
    <item>
      <title>Re: record level recovery</title>
      <link>https://community.qlik.com/t5/Talend-Studio/record-level-recovery/m-p/2320864#M90957</link>
      <description>&lt;P&gt;You will need to keep a counter or record number somehow, either in a config file, or in a staging table. &amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can load all the file, add a counter to the record, and then process. &amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This also assumes you are doing auto commit. &amp;nbsp;If you are doing batch commit, then you also need to keep track of the batch number, because a batch can also fail due to other reasons, like 1 record with some issue will fail the batch.&lt;/P&gt;</description>
      <pubDate>Mon, 10 Jul 2017 11:41:57 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/record-level-recovery/m-p/2320864#M90957</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-07-10T11:41:57Z</dc:date>
    </item>
    <item>
      <title>Re: record level recovery</title>
      <link>https://community.qlik.com/t5/Talend-Studio/record-level-recovery/m-p/2320865#M90958</link>
      <description>&lt;P&gt;There are several ways to approach this problem. Below are some high level method descriptions you might want to consider....&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;These are&amp;nbsp;based on a model of a source and target table.&amp;nbsp;Consider "table" to refer to any source or target data repository (file, db, etc).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1) Before you start your load, query your target to find a key record which will inform you of where your last run ended. Use that data to filter your source. If reading from a file you may want to use a tMap to filter records already processed.&lt;/P&gt;
&lt;P&gt;2) At the end of your job (using a tPostJob component) log where the load got to in a file (assuming that your database access is not guaranteed and writing to a file is). The tPostJob will run regardless of what happens so you know you can log a result regardless of the failure.&lt;/P&gt;
&lt;P&gt;3)&amp;nbsp;&amp;nbsp;A less efficient way would be to use an "insert&amp;nbsp;if not exist" action....but you will need a primary key or composite key&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There are other ways, but the above you should steer you towards a suitable method for your data.&lt;/P&gt;</description>
      <pubDate>Mon, 10 Jul 2017 11:54:26 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/record-level-recovery/m-p/2320865#M90958</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-07-10T11:54:26Z</dc:date>
    </item>
    <item>
      <title>Re: record level recovery</title>
      <link>https://community.qlik.com/t5/Talend-Studio/record-level-recovery/m-p/2320866#M90959</link>
      <description>&lt;P&gt;yes . Thanks for the replies and I found one more solution .&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;Step1 : Store the number of line processed to a context variable and put that variable to a file(I am naming this file as an error count file).&lt;/P&gt; 
&lt;P&gt;Step2: When you run the job for the first time there wont be any error files . so use tFileExist component to check whether error file is there or not.&lt;/P&gt; 
&lt;P&gt;Step 3: if there is no error file , set the context variable as 0 else assign the file value to the context variable.&lt;/P&gt; 
&lt;P&gt;Step 4: Now call the context variable in the header section of the component tab of tFileinputDelimited component.&lt;/P&gt; 
&lt;P&gt;Step 5: If the number of input rows is equal to the number of rows in the output rows set the context variable to 0.&lt;/P&gt;</description>
      <pubDate>Thu, 20 Jul 2017 08:40:41 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/record-level-recovery/m-p/2320866#M90959</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-07-20T08:40:41Z</dc:date>
    </item>
  </channel>
</rss>

