You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by Karthik Nandagiri <ka...@costrategix.com> on 2021/08/05 06:21:42 UTC

Issue while loading CSV data to ignite table

Trying to Load CSV data containing string and numeric format to Ignite. But
the data loading is failing. Need help to understand the issue to resolve

I am evaluating Ignite and trying to load a csv data to Apache ignite. I
have created a table in Ignite

jdbc:ignite:thin://127.0.0.1/> create table if not exists
SAMPLE_DATA_PK(SID varchar(30),id_status varchar(50), active varchar,
count_opening int,count_updated int,ID_caller varchar(50),opened_time
varchar(50),created_at varchar(50),type_contact varchar, location
varchar,support_incharge varchar,pk varchar(10) primary key);

Now trying to load data to this table with command

copy from '/home/kkn/data/sample_data_pk.csv' into
SAMPLE_DATA_PK(SID,ID_status,active,count_opening,count_updated,ID_caller,opened_time,created_at,type_contact,location,support_incharge,pk)
format csv;

But the data loading is failing with this error

Error: Server error: class
org.apache.ignite.internal.processors.query.IgniteSQLException: Value
conversion failed [column=COUNT_OPENING, from=java.lang.String,
to=java.lang.Integer] (state=50000,code=1) java.sql.SQLException: Server
error: class
org.apache.ignite.internal.processors.query.IgniteSQLException: Value
conversion failed [column=COUNT_OPENING, from=java.lang.String,
to=java.lang.Integer] at
org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:1009)
at
org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.sendFile(JdbcThinStatement.java:336)
at
org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:243)
at
org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:560)
at sqlline.Commands.executeSingleQuery(Commands.java:1054) at
sqlline.Commands.execute(Commands.java:1003) at
sqlline.Commands.sql(Commands.java:967) at
sqlline.SqlLine.dispatch(SqlLine.java:734) at
sqlline.SqlLine.begin(SqlLine.java:541) at
sqlline.SqlLine.start(SqlLine.java:267) at
sqlline.SqlLine.main(SqlLine.java:206)

Below is the sample data i am trying to load
SID,ID_status,active,count_opening,count_updated,ID_caller,opened_time,created_at,type_contact,location,support_incharge,pk
INC0000045,New,true,1000,0,Caller2403,29-02-2016 01:16,29-02-2016
01:23,Phone,Location143,,1
INC0000045,Resolved,true,0,3,Caller2403,29-02-2016 01:16,29-02-2016
01:23,Phone,Location143,,2
INC0000045,Closed,false,0,1,Caller2403,29-02-2016 01:16,29-02-2016
01:23,Phone,Location143,,3 INC0000047,Active,true,0,1,Caller2403,29-02-2016
04:40,29-02-2016 04:57,Phone,Location165,,4
INC0000047,Active,true,0,2,Caller2403,29-02-2016 04:40,29-02-2016
04:57,Phone,Location165,,5
INC0000047,Active,true,0,489,Caller2403,29-02-2016 04:40,29-02-2016
04:57,Phone,Location165,,6 INC0000047,Active,true,0,5,Caller2403,29-02-2016
04:40,29-02-2016 04:57,Phone,Location165,,7
INC0000047,AwaitingUserInfo,true,0,6,Caller2403,29-02-2016 04:40,29-02-2016
04:57,Phone,Location165,,8
INC0000047,Closed,false,0,8,Caller2403,29-02-2016 04:40,29-02-2016
04:57,Phone,Location165,,9 INC0000057,New,true,0,0,Caller4416,29-02-2016
06:10,,Phone,Location204,,10

Need help to understand how to figure out what is the issue and resolve it



Thank you

Regards

Karthik

Re: Issue while loading CSV data to ignite table

Posted by Mikael <mi...@gmail.com>.
Hi!

COUNT_OPENING is an integer column and the copy from command try to 
write a string to it, no idea why that is happening, could be a bug in 
the copy from command, I have never used it so not sure, I would assume 
it would try to convert the csv column value to a number if the column 
type is integer.

It does say "Value conversion failed" so it does sound like there is 
some conversion going on, it just don't want the column to be an integer.

Mikael


On 2021-08-05 08:21, Karthik Nandagiri wrote:
>
>
>   Trying to Load CSV data containing string and numeric format to
>   Ignite. But the data loading is failing. Need help to understand the
>   issue to resolve
>
>
> I am evaluating Ignite and trying to load a csv data to Apache ignite. 
> I have created a table in Ignite
>
> jdbc:ignite:thin://127.0.0.1/ <http://127.0.0.1/>> create table if not 
> exists SAMPLE_DATA_PK(SID varchar(30),id_status varchar(50), active 
> varchar, count_opening int,count_updated int,ID_caller 
> varchar(50),opened_time varchar(50),created_at 
> varchar(50),type_contact varchar, location varchar,support_incharge 
> varchar,pk varchar(10) primary key);
>
> Now trying to load data to this table with command
>
> copy from '/home/kkn/data/sample_data_pk.csv' into 
> SAMPLE_DATA_PK(SID,ID_status,active,count_opening,count_updated,ID_caller,opened_time,created_at,type_contact,location,support_incharge,pk) 
> format csv;
>
> But the data loading is failing with this error
>
> Error: Server error: class 
> org.apache.ignite.internal.processors.query.IgniteSQLException: Value 
> conversion failed [column=COUNT_OPENING, from=java.lang.String, 
> to=java.lang.Integer] (state=50000,code=1) java.sql.SQLException: 
> Server error: class 
> org.apache.ignite.internal.processors.query.IgniteSQLException: Value 
> conversion failed [column=COUNT_OPENING, from=java.lang.String, 
> to=java.lang.Integer] at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:1009) 
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.sendFile(JdbcThinStatement.java:336) 
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:243) 
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:560) 
> at sqlline.Commands.executeSingleQuery(Commands.java:1054) at 
> sqlline.Commands.execute(Commands.java:1003) at 
> sqlline.Commands.sql(Commands.java:967) at 
> sqlline.SqlLine.dispatch(SqlLine.java:734) at 
> sqlline.SqlLine.begin(SqlLine.java:541) at 
> sqlline.SqlLine.start(SqlLine.java:267) at 
> sqlline.SqlLine.main(SqlLine.java:206)
>
> Below is the sample data i am trying to load 
> SID,ID_status,active,count_opening,count_updated,ID_caller,opened_time,created_at,type_contact,location,support_incharge,pk 
> INC0000045,New,true,1000,0,Caller2403,29-02-2016 01:16,29-02-2016 
> 01:23,Phone,Location143,,1 
> INC0000045,Resolved,true,0,3,Caller2403,29-02-2016 01:16,29-02-2016 
> 01:23,Phone,Location143,,2 
> INC0000045,Closed,false,0,1,Caller2403,29-02-2016 01:16,29-02-2016 
> 01:23,Phone,Location143,,3 
> INC0000047,Active,true,0,1,Caller2403,29-02-2016 04:40,29-02-2016 
> 04:57,Phone,Location165,,4 
> INC0000047,Active,true,0,2,Caller2403,29-02-2016 04:40,29-02-2016 
> 04:57,Phone,Location165,,5 
> INC0000047,Active,true,0,489,Caller2403,29-02-2016 04:40,29-02-2016 
> 04:57,Phone,Location165,,6 
> INC0000047,Active,true,0,5,Caller2403,29-02-2016 04:40,29-02-2016 
> 04:57,Phone,Location165,,7 
> INC0000047,AwaitingUserInfo,true,0,6,Caller2403,29-02-2016 
> 04:40,29-02-2016 04:57,Phone,Location165,,8 
> INC0000047,Closed,false,0,8,Caller2403,29-02-2016 04:40,29-02-2016 
> 04:57,Phone,Location165,,9 
> INC0000057,New,true,0,0,Caller4416,29-02-2016 06:10,,Phone,Location204,,10
>
> Need help to understand how to figure out what is the issue and resolve it
>
>
>
> Thank you
>
> Regards
>
> Karthik
>