AWS S3 Select CSV WHERE filtering not working on last column

0

I have a csv file in my s3 that looks like this

name,status,age,loc
aaa,aaa,1,zz
bbb,bbb,2,yy
ccc,,3,pp
ddd,ddd,4,aaa


SELECT * FROM s3object s WHERE name ='aaa' This query returns first row correctly.

SELECT * FROM s3object s WHERE loc ='aaa' This query does not return anything, but I expected it to return the last row.

Filtering on status also seems to work fine. Is there a reason why SELECT * FROM s3object s WHERE loc ='aaa' is not working or is there a bug?

I've tried modifying the csv to make loc the first column and name the last column. When I do this, loc works, but then name doesn't work.' I've also tried adding another column so that loc is no longer the last row. When I do this, name works, and suddenly loc works again, but the added last column doesn't work.

It seems like this bug is specific to the last column.

It also seems that doing WHERE loc like 'aaa%' works. What could this mean? When I download the file the linebreak is crlf.

Edit*: It seems that it works fine when the linebreak is LF instead of CRLF.

Here's a screenshot of my settings Enter image description here

已提問 2 年前檢視次數 528 次
1 個回答
0

I have uploaded the data you provided and ran the query that was not working for you with same settings as yours and was able to retrieve results. I would check to make sure there isn't a type in the query Here is a screenshot of the results

AWS
Soumya
已回答 2 年前
  • I posted this problem in stackoverflow and two people tried as well. One person got same problem as me and the other person can't reproduce.

    Are you using LF or CRLF for the line break? My file is in CRLF. When you say "I would check to make sure there isn't a type in the query", what do you mean?

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南