the query seems to be fine.
But, what are the contents of the CSV file? (Provide a sample if possible).
Also, take note that if the first row contains column names, then you might want to change your query to:
load data local infile 'Images_20121121.csv' into table cimages fields terminated by '|' LINES terminated by '\n' IGNORE 1 LINES (@var1, link, description) set hotel_id=CAST(@var1 AS UNSIGNED INTEGER);
Also, this warning makes a bit more sense, please try to validate the contents of the first column for white space rows, if such a row exists it might be the culprit.
Another suggestion, try to apply the same query for the small sample you have shown, does it work?
Take a quick look at the link below, might provide you some more insight on how the LOAD DATA works.
http://dev.mysql.com/doc/refman/5.1/en/load-data.html