1

当我尝试在 AWS Timestream 中写入一条记录(具有缺失/空度量值)时,它会引发以下错误。有什么建议如何将 NULL 度量值摄取到 AWS Timestream 中?

错误:ValidationException:调用 WriteRecords 操作时发生错误 (ValidationException):Timestream 仅支持双度量值类型的有限 IEEE 标准 754 浮点精度。

下面的示例代码:

import pandas as pd
import numpy as np
import s3fs
import io
import boto3
import awswrangler as wr
import datetime
import os
import time
import gc
from datetime import timedelta
from datetime import datetime
import sys

df = pd.DataFrame(
    {
        "time": [datetime.now(), datetime.now(), datetime.now()],
        "dim0": ["foo", "boo", "bar"],
        "dim1": [1, 2, 3],
        "measure": [1.0, 1.12345678, None],
    })

rejected_records = wr.timestream.write(
    df=df,
    database="tsdb",
    table="tstable1",
    time_col="time",
    measure_col="measure",
    dimensions_cols=["dim0", "dim1"],
    boto3_session = boto3.Session()
)
print(rejected_records)
4

1 回答 1

2

IEEE 标准 754支持nan(“不是数字”)。

在 Python 中,你必须使用float('nan')onNone来满足这个标准。

如果您使用的是 numpy,您也可以使用np.nan

于 2021-01-01T22:33:10.580 回答