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