How to write bulk data to Appian DB using cdt?

Hi All,

        I  am having nearly 45000 rows of data with 11 columns in CDT.Need to upload data to Appian DB without affecting performance.Kindly provide your suggestions for splitting the data into batches say 2000 rows each time and then upload data to DB.

Thanks in  Advance.

Pradeep.B

  Discussion posts and replies are publicly visible

Parents
  • Thank you for you reply.

    i will read say 10 characters from each row and map it to particular column in cdt. Similarly i will read particular place characters using mid function for remaining columns and will map it to CDT.And then have to write the data to DB in batches without affecting performance.

  • 0
    Certified Lead Developer
    in reply to pradeepb0001

    For your purposes it might be best to batch rows of your raw TEXT and pass into a subprocess (for example) where the parsing occurs, row-by-row, just before the DB write occurs.  In the parent process you would store a separate PV, integer type, to reflect for example which row will be the next starting point (so if you've parsed rows 1 - 10, your marker PV would store a value of "11" to indicate that the next loop will start at row 11).

    As with most things, I suspect you write your parser in an Expression Rule and call this expression rule from a script task in your process model.  This will allow you to paste in small chunks of your raw text format, run the rule many times and see that it returns the exact output you're wanting.  I encourage you to look into the extract() function, as well as the utilities available within the Regex Functions plug-in, in case either of those would make parsing easier.

Reply
  • 0
    Certified Lead Developer
    in reply to pradeepb0001

    For your purposes it might be best to batch rows of your raw TEXT and pass into a subprocess (for example) where the parsing occurs, row-by-row, just before the DB write occurs.  In the parent process you would store a separate PV, integer type, to reflect for example which row will be the next starting point (so if you've parsed rows 1 - 10, your marker PV would store a value of "11" to indicate that the next loop will start at row 11).

    As with most things, I suspect you write your parser in an Expression Rule and call this expression rule from a script task in your process model.  This will allow you to paste in small chunks of your raw text format, run the rule many times and see that it returns the exact output you're wanting.  I encourage you to look into the extract() function, as well as the utilities available within the Regex Functions plug-in, in case either of those would make parsing easier.

Children
No Data