

 Amazon Forecast 不再向新买家开放。Amazon Forecast 的现有客户可以继续照常使用该服务。[了解更多](https://aws.amazon.com/blogs/machine-learning/transition-your-amazon-forecast-usage-to-amazon-sagemaker-canvas/)

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Forecast 的数据集准则
<a name="dataset-import-guidelines-troubleshooting"></a>

如果 Amazon Forecast 在导入数据集时失败，或者数据集未按预期运行，请参阅以下准则。

**时间戳格式**  
对于年 (`Y`)、月 (`M`)、星期 (`W`) 和日期 (`D`) 收集频率，Forecast 支持 `yyyy-MM-dd` 时间戳格式（例如 `2019-08-21`）以及可选的 `HH:mm:ss` 格式（例如 `2019-08-21 15:00:00`）。  
对于小时 (`H`) 和分钟 (`M`) 频率，Forecast 仅支持 `yyyy-MM-dd HH:mm:ss` 格式（例如 `2019-08-21 15:00:00`）。  
准则：将数据集收集频率的时间戳格式更改为支持的格式。

**Amazon S3 文件或存储桶**  
导入数据集时，可以指定包含数据的 Amazon Simple Storage Service (Amazon S3) 存储桶中 CSV 或 Parquet 文件的路径，也可以指定包含数据的 S3 存储桶的名称。如果指定 CSV 或 Parquet 文件，则 Forecast 将仅导入该文件。如果指定 S3 存储桶，则 Forecast 会导入存储桶中的所有 CSV 或 Parquet 文件（最多 10000 个文件）。如果通过指定存储桶名称导入多个文件，则所有 CSV 或 Parquet 文件都必须符合指定的架构。  
准则：使用以下语法指定特定文件或 S3 存储桶：  
`s3://bucket-name/example-object.csv`  
`s3://bucket-name/example-object.parquet`  
`s3://bucket-name/prefix/`  
`s3://bucket-name`  
Parquet 文件的扩展名可以是.parquet、.parq、.pqt，或者根本没有扩展名。

**完整数据集更新**  
第一次数据集导入始终是完整导入，后续导入可以是完整更新，也可以是增量更新。必须使用 Forecast API 来指定导入模式。  
完整更新后，所有现有数据都将替换为新导入的数据。由于未聚合完整的数据集导入作业，因此最近的数据集导入是在训练预测器或生成预测时使用的数据集导入。  
准则：创建增量数据集更新，将新数据追加到现有数据中。否则，请确保最新的数据集导入中包含您在建模时希望使用的所有数据，而不仅仅是自上次导入以来收集的新数据。

**增量数据集更新**  
从当前活动的数据集中读取时间戳、数据格式、地理位置等字段。您不需要在增量数据集导入中包含此类信息。如果包含此类信息，则此类信息必须与最初提供的值相匹配。  
准则：执行完整的数据集导入以更改其中任何值。

**属性顺序**  
架构定义中指定的属性顺序必须与要导入的 CSV 或 Parquet 文件中的列顺序相匹配。例如，如果您将 `timestamp` 定义为第一个属性，则 `timestamp` 必须也是输入文件中的第一列。  
准则：确认输入文件中的列与您创建的架构属性的顺序相同。

**天气指数**  
要应用天气指数，必须在目标时间序列和任何相关时间序列数据集中包含[地理位置属性](weather.md#adding-geolocation)。还需要为目标时间序列时间戳指定[时区](weather.md#specifying-timezones)。  
准则：确保您的数据集包含地理位置属性，并且您的时间戳具有指定的时区。有关更多信息，请参阅天气指数的[条件和限制](weather.md#weather-conditions-restrictions)。

**数据集标头**  
您的输入 CSV 中的数据集标头可能会导致验证错误。我们建议忽略 CSV 文件标头。  
准则：删除数据集标头并重试导入。  
Parquet 文件需要数据集标头。

**数据集状态**  
数据集的 `Status` 必须为 `ACTIVE`，您才可以使用 [CreateDatasetImportJob](API_CreateDatasetImportJob.md) 操作导入训练数据。  
准则：使用 [DescribeDataset](API_DescribeDataset.md) 操作获取数据集的状态。如果创建或更新数据集失败，请检查数据集文件的格式并尝试再次创建它。

**默认文件格式**  
默认文件格式为 CSV。

**文件格式和分隔符**  
Forecast 仅支持逗号分隔值 (CSV) 文件格式和 Parquet 格式。不能使用制表符、空格、冒号或任何其他字符分隔值。  
准则：将数据集转换为 CSV 格式（仅使用逗号作为分隔符）或 Parquet 格式，然后尝试再次导入文件。

**文件名**  
文件名必须包含至少一个字母字符。无法导入纯数字名称的文件。  
准则：重命名输入数据文件，使其包含至少一个字母字符，然后尝试再次导入文件。

**分区的 Parquet 数据**  
Forecast 不读取分区的 Parquet 文件。

**假设分析数据集要求**  
假设分析需要 CSV 数据集。 TimeSeriesSelector 操作的[CreateWhatIfAnalysis](API_CreateWhatIfAnalysis.md)操作和不接受 Parq [CreateWhatIfForecast](API_CreateWhatIfForecast.md) uet 文件的 TimeSeriesReplacementDataSource 操作。