从 Snowflake 查询到数据类型映射中的 python dataframe 问题

From Snowflake query to python dataframe problem in data type mapping

我在将数据类型从雪花查询转换为 pandas 数据帧时遇到问题。我想尽可能使用较小的数据类型以减少内存使用量。因此,我想将我的 pandas 列放入 int8 或 int16 中作为整数,而不是我目前拥有的 int64。

我的问题如下:

从雪花文档中,我们可以读到: from a snowflake number we can cast in any integer type in python

我尝试按以下方式转换我的 int 列:

select myvariable::smallint
from mytable 

select myvariable::number(5,0) -- totaly arbitrary precision, depends on the column
from mytable 

应该是更小的数据类型。

但是,这些解决方案中的任何一个都不起作用,我的 pandas 数据框中仍然有 int64 类型。

我没有看到任何要添加到我的雪花连接器或查询中的参数。我知道我可以直接在 python 中转换数据类型,但我希望直接从雪花中进行转换。

如果有人知道这个的解决方案,我会很感兴趣

Snowflake的INTEGER数据类型实际上都是INT64

各种名称(如您的示例中的 SMALLINT)是为了简化从其他系统的移植并建议指定类型的列的预期值范围,但它们仍然是 INT64。

有关详细信息,请查看 here

您必须直接在 Python 中转换数据类型。