AWS Glue(或 Athena 或 Presto) - 更改十进制格式



我正在尝试使用雅典娜读取CSV文件。其中一个字段是 DOUBLE,其中逗号作为小数分隔符而不是点。

有没有办法阅读它?还是唯一的方法是转换(使用每个点替换逗号)?

无法更改设置以使 Athena 将值读取为双精度,但有一些解决方法。在这两种情况下,您都必须使用string作为列的数据类型:

  • 创建一个将值转换为双精度的视图(按照 Piotr 的建议使用CAST(replace(text, ',', '.') AS double))。这样,您就不必在每个查询中都包含转化表达式。
  • 使用"将表创建为 (CTAS)"并将值转换为双精度值(使用相同的表达式)到新表中。如果您这样做,您还可以转换为例如镶木地板并获得其他好处。但是,每次数据更改时都必须执行此操作,这可能会很不方便。

相关内容

  • 没有找到相关文章

最新更新