One Star

java.lang.IllegalArgumentException: No columns to insert

I am trying to read an delimited input file and insert the data into a HBase table. The tHBaseOutput_1 component is giving me error "parameter (Family parameters) must have at least one value" at the time of running. After running I am getting below error and no rows getting inserted.

Exception in component tHBaseOutput_1
java.lang.IllegalArgumentException: No columns to insert
at org.apache.hadoop.hbase.client.HTable.validatePut(HTable.java:993)
at org.apache.hadoop.hbase.client.HTable.doPut(HTable.java:809)
at org.apache.hadoop.hbase.client.HTable.put(HTable.java:795)
at npa_test.hbasewrite_0_1.HBaseWrite.tFileInputDelimited_1Process(HBaseWrite.java:856)
at npa_test.hbasewrite_0_1.HBaseWrite.tHBaseConnection_1Process(HBaseWrite.java:387)
at npa_test.hbasewrite_0_1.HBaseWrite.runJobInTOS(HBaseWrite.java:1146)
at npa_test.hbasewrite_0_1.HBaseWrite.main(HBaseWrite.java:1011)

Platform Used:
Talend installed on Windows 7 Enterprise
HBase is on Linux host.
2 REPLIES
Moderator

Re: java.lang.IllegalArgumentException: No columns to insert

Hi,
How did you set your tHBaseOutput component in your job? Have you checked the component reference TalendHelpCenter:tHBaseOutput?
Best regards
Sabrina
--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
One Star

Re: java.lang.IllegalArgumentException: No columns to insert

I googled this error message and this post came up. In HBaseOutput, under the "Action on table", if you choose any value other than "None" you will end up creating a table and therefor you need to supply the column families to HBase. I was confused because I figured the "Families" table would be good enough, but you need to go into Advanced Settings for the tHBaseOutput and add a column family to the "Family parameters" table.