我这里有一个简单的csv文件
Joe, 30, Male, 3
Winston, 40, Male, 7
Emily, 18, Female, 5
Wendy, 32, Female, 4
我上传到AWS上的S3存储桶。然后,使用Athena,我用
创建了一个表name string, age int, gender string, consumed int
该表已成功创建,但在查询时,只有name
和gender
存在。所有条目的列age
和consumed
都为空。有什么想法吗?
答案 0 :(得分:1)
空格是未在定义的数据类型中获取所需值的原因。只是为了摇晃测试,尝试将所有内容串起来并打印出来,您也会看到打印值中的空格。
我的第一选择是从数据本身中删除空格。但是,如果从数据中删除空格不是一件容易的事,那么可以将它们保持原样并创建表格,将这些列作为字符串。然后你可以通过首先删除所有空格然后转换为int来将它们内部转换为int。例如,
select cast(replace(age, '<whitespace>') as int) from <tablename>
Replace将删除字符串中的所有空格。然后,cast会将字符串转换为整数。 消费也可以这样做。