Our Community is getting an upgrade! To get everything ready for the relaunch, we’ll be placing the site in read-only mode starting September 21st.
We really appreciate your understanding while we get things set up behind the scenes. Catch up on all the exciting details about the move here.
Need help or have questions? Drop us a line at [email protected]

Support Questions

Find answers, ask questions, and share your expertise
Announcements
Share your experience with Cloudera on G2 and get a $25 Amazon Gift card.
Hi, I'm CLEO! Something exciting is coming to the Community. Stay Tuned!

Facing ERROR: invalid input syntx for integer:"" while processing NiFI flow file

avatar
Explorer

Hello guys,
I am extracting attributes from the flow file and putting it to the PostgreSQL.
2017-04-27 09:15:04.794761 10.69.1.138 -> 10.69.1.100 <4>Apr 27 03:44:58 kernel: [ 542.579606] TS|242268|00:14:5a:03:29:72|RSSI_BCN|56

2017-04-27 09:47:59.351047 10.69.1.138 -> 10.69.1.100 <4>Apr 27 04:17:43 kernel: [ 2517.159922] TS|2216852|00:14:5a:03:23:01|RSSI_BCN|53

  • I am trying to extract integer value 56,53... end of the line and put it to the column<col> of PostgreSQL table<tab> where the <col>datatype is integer. 
  • I used GetFile->SplitText->ExtractText ->putSQL in my process flow.
  • I used (\d*)\z regular expression in ExtractText processor and its seems working well for extracting the value 56.  But after a certain time the putSQL processor shows error ERROR: invalid input syntx for integer:"".
  • If I change the datatype from integer -> text in the <col> of my PostgreSQL table then I don't face this problem but I need to store the data in integer.
  • So can anyone please help me on finding the root cause of it, or what can I do to resolve it?

 

1 ACCEPTED SOLUTION

avatar
Explorer

Hello all,

The problem has been resolved.

  • First, I ingested the all the attributes as a text in the PostgreSQL table.
  • Then converted the text data to integer type with flowing command.
    ALTER TABLE public."tab"
    ALTER COLUMN col type int using nullif(col,'')::int
    Hope this will be helpful for others.

View solution in original post

1 REPLY 1

avatar
Explorer

Hello all,

The problem has been resolved.

  • First, I ingested the all the attributes as a text in the PostgreSQL table.
  • Then converted the text data to integer type with flowing command.
    ALTER TABLE public."tab"
    ALTER COLUMN col type int using nullif(col,'')::int
    Hope this will be helpful for others.