<?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: Using cursor (tOracleInput) in Talend Studio</title>
    <link>https://community.qlik.com/t5/Talend-Studio/Using-cursor-tOracleInput/m-p/2327061#M96477</link>
    <description>Hi shine007, 
&lt;BR /&gt;I've been looking for some informations since posting this message. 
&lt;BR /&gt;You're right, it is based on an Oracle functionality (fetch array size in the JDBC driver), so we don't have the same with files. I don't know how it works for files for the moment. 
&lt;BR /&gt;Anyway, this is the number of lines you'll get at one time, that's why you get a nice improvement of time loading lookups. 
&lt;BR /&gt;However, there is not such a subsequent improvement in a data flow (as you won't perform operations on more rows at one time I guess). 
&lt;BR /&gt;Best regards, 
&lt;BR /&gt;Nicolas</description>
    <pubDate>Wed, 17 Jun 2009 10:50:31 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2009-06-17T10:50:31Z</dc:date>
    <item>
      <title>Using cursor (tOracleInput)</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Using-cursor-tOracleInput/m-p/2327058#M96474</link>
      <description>&lt;BR /&gt;Hi everybody, 
&lt;BR /&gt;I'm wondering several things about this option : 
&lt;BR /&gt;1. Is it the size of the array returned by the "tOracleInput" query at one time so that we can perform operations on several rows at one time ? (Is it an Oracle functionnality ?) 
&lt;BR /&gt;2. I've noticed that if I put a cursor or 1 row, I get lower performances. What's the default value ? 
&lt;BR /&gt;3. There is not such an option on files. Does it mean TOS treats only one row each time ? 
&lt;BR /&gt; 
&lt;BR /&gt;Many thanks in advance. 
&lt;BR /&gt;Best regards, 
&lt;BR /&gt; 
&lt;BR /&gt;Nicolas</description>
      <pubDate>Sat, 16 Nov 2024 13:55:51 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Using-cursor-tOracleInput/m-p/2327058#M96474</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2024-11-16T13:55:51Z</dc:date>
    </item>
    <item>
      <title>Re: Using cursor (tOracleInput)</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Using-cursor-tOracleInput/m-p/2327059#M96475</link>
      <description>Hi everyone,
&lt;BR /&gt;No answer ?
&lt;BR /&gt;Yet, this is a stuff concerning everyone.
&lt;BR /&gt;It would be fine to get some help.
&lt;BR /&gt;Regards,
&lt;BR /&gt;Nicolas</description>
      <pubDate>Mon, 08 Jun 2009 08:15:17 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Using-cursor-tOracleInput/m-p/2327059#M96475</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2009-06-08T08:15:17Z</dc:date>
    </item>
    <item>
      <title>Re: Using cursor (tOracleInput)</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Using-cursor-tOracleInput/m-p/2327060#M96476</link>
      <description>The oracle cursor functionality PROBABLY makes use of Oracle cursors, you won't find it on files.&lt;BR /&gt;I don't know how it's implemented, the components documentation doesn't help much.&lt;BR /&gt;I think I'll evaluate the performance with different options and then choose the best one.</description>
      <pubDate>Wed, 17 Jun 2009 10:27:47 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Using-cursor-tOracleInput/m-p/2327060#M96476</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2009-06-17T10:27:47Z</dc:date>
    </item>
    <item>
      <title>Re: Using cursor (tOracleInput)</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Using-cursor-tOracleInput/m-p/2327061#M96477</link>
      <description>Hi shine007, 
&lt;BR /&gt;I've been looking for some informations since posting this message. 
&lt;BR /&gt;You're right, it is based on an Oracle functionality (fetch array size in the JDBC driver), so we don't have the same with files. I don't know how it works for files for the moment. 
&lt;BR /&gt;Anyway, this is the number of lines you'll get at one time, that's why you get a nice improvement of time loading lookups. 
&lt;BR /&gt;However, there is not such a subsequent improvement in a data flow (as you won't perform operations on more rows at one time I guess). 
&lt;BR /&gt;Best regards, 
&lt;BR /&gt;Nicolas</description>
      <pubDate>Wed, 17 Jun 2009 10:50:31 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Using-cursor-tOracleInput/m-p/2327061#M96477</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2009-06-17T10:50:31Z</dc:date>
    </item>
    <item>
      <title>Re: Using cursor (tOracleInput)</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Using-cursor-tOracleInput/m-p/2327062#M96478</link>
      <description>&lt;BLOCKQUOTE&gt; 
 &lt;TABLE border="1"&gt; 
  &lt;TBODY&gt; 
   &lt;TR&gt; 
    &lt;TD&gt;However, there is not such a subsequent improvement in a data flow (as you won't perform operations on more rows at one time I guess).&lt;BR /&gt;Nicolas&lt;/TD&gt; 
   &lt;/TR&gt; 
  &lt;/TBODY&gt; 
 &lt;/TABLE&gt; 
&lt;/BLOCKQUOTE&gt; 
&lt;BR /&gt;i tried to remove computations, so that Talend only reads from tables and...Surprisingly nothing changes. I mean that changing the cursor size doesn't affect much the speed at which data is extracted. 
&lt;BR /&gt;We're using Oracle 9 and with some tables (especially lookup ones) we reach even thousands of row per second (4-5000)...While with other tables (300k rows, 10 columns) it's impossible to go beyond 250 rows/sec. 
&lt;BR /&gt; 
&lt;BR /&gt;I really can't understand the issue.</description>
      <pubDate>Wed, 17 Jun 2009 15:36:13 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Using-cursor-tOracleInput/m-p/2327062#M96478</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2009-06-17T15:36:13Z</dc:date>
    </item>
    <item>
      <title>Re: Using cursor (tOracleInput)</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Using-cursor-tOracleInput/m-p/2327063#M96479</link>
      <description>Hi Shine, 
&lt;BR /&gt;The pb is that it only permits to load more data at the same time. 
&lt;BR /&gt;You should notice an improvement in your lookups (try high values : 2500 for instance), because it only loads data in memory (I tried it locally, it almost ran twice faster...). However, I admit a lookup is never the longer step in a job. 
&lt;BR /&gt;Tell me if I'm wrong, but, in a main data flow, you will perform operations line by line, whatever the cursor size, that's why it won't affect much the row speed. 
&lt;BR /&gt;If you just have a job like that : "tOracleInput" ---&amp;gt; "tOracleOutput", you may notice a little improvement, but not so much. 
&lt;BR /&gt;Best regards, 
&lt;BR /&gt;Nicolas</description>
      <pubDate>Wed, 17 Jun 2009 15:55:14 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Using-cursor-tOracleInput/m-p/2327063#M96479</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2009-06-17T15:55:14Z</dc:date>
    </item>
    <item>
      <title>Re: Using cursor (tOracleInput)</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Using-cursor-tOracleInput/m-p/2327064#M96480</link>
      <description>Thank you for your quick reply! 
&lt;BR /&gt;Well, the answer is no. As you, I thought the reason was in tMap and other computations (i use tUnique and tUnite, for example) but then I created another job removing every computation, just to compare different speeds across different tables changing the cursor size and other options... 
&lt;BR /&gt;I had to admit that the very different read speed (250r/s VS &amp;gt; 1000r/s) mainly depends on source table, and not on read/cursor options. 
&lt;BR /&gt;The problem I can't understand is that smaller tables (less than 5 cols) seems to be slower and every time the flowmeter counters are updated (1 second, i think) only 200 rows are read, while on "bigger" tables with more cols and even a second lookup table at each counter refresh about 1000 rows are read... 
&lt;BR /&gt;I began thinking it's not a Talend issue. But I'm not a DBA so my Oracle tuning skills are low...</description>
      <pubDate>Wed, 17 Jun 2009 16:05:31 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Using-cursor-tOracleInput/m-p/2327064#M96480</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2009-06-17T16:05:31Z</dc:date>
    </item>
    <item>
      <title>Re: Using cursor (tOracleInput)</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Using-cursor-tOracleInput/m-p/2327065#M96481</link>
      <description>Hi again shine007, 
&lt;BR /&gt;You told me that tables taking more time are especially lookup ones... I guess that's the only ony, isn't it ? 
&lt;BR /&gt;It is normal that lookup ones take less time because if you do not perform any computation on : you just load the data in the memory. 
&lt;BR /&gt;For the others, you first load some data in memory, and then you perform your computations (I mean by computations all the operations (mapping, Java/Perl methods), and output actions (delete, insert, update,...)). 
&lt;BR /&gt;So, in lookups you get the speed of data loading; in the other case, you get the speed of your computations (+ loading your data). 
&lt;BR /&gt;And cursor has just impact on loading the data. 
&lt;BR /&gt;Hope I'm clear and that's what you need. 
&lt;BR /&gt;And hope I'm not mistaken 
&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009MA9p.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/138034i5F552429DA646D6F/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009MA9p.png" alt="0683p000009MA9p.png" /&gt;&lt;/span&gt;. 
&lt;BR /&gt;Best regards, 
&lt;BR /&gt;Nicolas</description>
      <pubDate>Wed, 17 Jun 2009 16:30:44 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Using-cursor-tOracleInput/m-p/2327065#M96481</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2009-06-17T16:30:44Z</dc:date>
    </item>
    <item>
      <title>Re: Using cursor (tOracleInput)</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Using-cursor-tOracleInput/m-p/2327066#M96482</link>
      <description>you are very kind , thank you. 
&lt;BR /&gt; 
&lt;BR /&gt;You're right, using the same table as a lookup one gets me 10x faster, but it's not what I have to do ...I must speed up the main flow, because doing the SAME processing gets me 1000r/s on some tables, but only 250r/s on some other ones...I have to understand why 
&lt;BR /&gt;I'll let you know my progresses 
&lt;BR /&gt;Thank you very much again. 
&lt;BR /&gt;Alessandro</description>
      <pubDate>Wed, 17 Jun 2009 16:54:09 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Using-cursor-tOracleInput/m-p/2327066#M96482</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2009-06-17T16:54:09Z</dc:date>
    </item>
    <item>
      <title>Re: Using cursor (tOracleInput)</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Using-cursor-tOracleInput/m-p/2327067#M96483</link>
      <description>Well, i think i found the bottleneck 
&lt;BR /&gt; 
&lt;BR /&gt;Infact i use a simple cache mechanism implemented inside the custom java classes. It is used in fields filled with few possible values, i.e. not to execute a SELECT statement at each row. It is a pity I can't use it everywhere, as it causes thrashing.. 
&lt;BR /&gt; 
&lt;BR /&gt;IMHO it is difficult to get more than 1000 rows per second if, at each row, you have to query for data on more fields... 
&lt;BR /&gt;As for main output tables i use tOraclebulk. I think it's a good solution to have two different levels of logging, moreover SQL Loader is fast and rocksolid.</description>
      <pubDate>Wed, 17 Jun 2009 19:12:36 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Using-cursor-tOracleInput/m-p/2327067#M96483</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2009-06-17T19:12:36Z</dc:date>
    </item>
    <item>
      <title>Re: Using cursor (tOracleInput)</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Using-cursor-tOracleInput/m-p/2327068#M96484</link>
      <description>&lt;BLOCKQUOTE&gt; 
 &lt;TABLE border="1"&gt; 
  &lt;TBODY&gt; 
   &lt;TR&gt; 
    &lt;TD&gt;Hi everybody,&lt;BR /&gt;3. There is not such an option on files. Does it mean TOS treats only one row each time ?&lt;BR /&gt;Nicolas&lt;/TD&gt; 
   &lt;/TR&gt; 
  &lt;/TBODY&gt; 
 &lt;/TABLE&gt; 
&lt;/BLOCKQUOTE&gt; 
&lt;BR /&gt;I think you should use a "iterate" link and activate parallel execution. I also think parallelism in iterate links is different from job parallel execution.</description>
      <pubDate>Wed, 17 Jun 2009 19:20:39 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Using-cursor-tOracleInput/m-p/2327068#M96484</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2009-06-17T19:20:39Z</dc:date>
    </item>
    <item>
      <title>Re: Using cursor (tOracleInput)</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Using-cursor-tOracleInput/m-p/2327069#M96485</link>
      <description>Hi shine007, 
&lt;BR /&gt; 
&lt;BLOCKQUOTE&gt; 
 &lt;TABLE border="1"&gt; 
  &lt;TBODY&gt; 
   &lt;TR&gt; 
    &lt;TD&gt;Infact i use a simple cache mechanism implemented inside the custom java classes. It is used in fields filled with few possible values, i.e. not to execute a SELECT statement at each row. It is a pity I can't use it everywhere, as it causes thrashing..&lt;/TD&gt; 
   &lt;/TR&gt; 
  &lt;/TBODY&gt; 
 &lt;/TABLE&gt; 
&lt;/BLOCKQUOTE&gt; 
&lt;BR /&gt;What's this cache system ? 
&lt;BR /&gt; 
&lt;BLOCKQUOTE&gt; 
 &lt;TABLE border="1"&gt; 
  &lt;TBODY&gt; 
   &lt;TR&gt; 
    &lt;TD&gt;Hi everybody,&lt;BR /&gt;3. There is not such an option on files. Does it mean TOS treats only one row each time ?&lt;BR /&gt;Nicolas&lt;/TD&gt; 
   &lt;/TR&gt; 
  &lt;/TBODY&gt; 
 &lt;/TABLE&gt; 
&lt;/BLOCKQUOTE&gt; 
&lt;BR /&gt;I think you should use a "iterate" link and activate parallel execution. I also think parallelism in iterate links is different from job parallel execution. 
&lt;BR /&gt;Iterate link is not usable everywhere. It's useful to perform one computation for each result you get of action performed by a component. However, you cannot perform some operations on a data flow with an iterate link. 
&lt;BR /&gt;But I think you meaned at the top of my job. I'm experimenting it but I do not obtain so much improvement for the moment... Trying to find why. 
&lt;BR /&gt;Best regards, 
&lt;BR /&gt;Nicolas</description>
      <pubDate>Thu, 18 Jun 2009 08:48:42 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Using-cursor-tOracleInput/m-p/2327069#M96485</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2009-06-18T08:48:42Z</dc:date>
    </item>
  </channel>
</rss>

