【发布时间】:2021-04-12 16:24:19
【问题描述】:
我正在运行测试以填充 Redshift 中的表。我将模拟数据添加到 csv 文件中,然后使用 pandas 转换为镶木地板。我正在使用 COPY 命令将数据从 s3 存储桶中的 parquet 文件获取到我的 Redshift 数据库。
我得到了错误:
'file has an incompatible Parquet schema for column'
这些列是 DECIMAL (12,3)。 我检查了 s3 控制台,发现在查看转换后的 parquet 文件时,'e0' 已添加到值的末尾,例如:
{"id":2873130000000000000,"field1":9.335e0,"field2":9.335e0}
我转换为镶木地板的代码是标准的:
import pandas as pd
df = pd.read_csv('test.csv')
df.to_parquet('test.parquet')
在这一点上,这些附加值似乎是我收到“不兼容”错误的原因。为什么要添加这些值,我该如何防止呢?
【问题讨论】: