我有一个充满漂亮数据的DynamoDB表。我使用Datapipeline将其提取到S3,它生成了一个包含3个文件的文件夹。
1)“ 139xx-x911-407x-83xx-06x5x659xx16”,其中包含以下格式的所有数据库数据:
{"TimeStamp":{"s":"1539699960"},"SystemID":{"n":"1001"},"AccMin":{"n":"497"},"AccMax":{"n":"509"},"CustomerID":{"n":"10001"},"SensorID":{"n":"101"}}
2)“清单”
{"name":"DynamoDB-export","version":3,
entries: [
{"url":"s3://cxxxx/2018-10-18-15-25-02/139xx-x911-407x-83xx-06x5x659xx16","mandatory":true}
]}
3)“ _SUCCESS”内部没有数据。
然后我转到SageMaker->培训工作->创建培训工作。在这里,我填写了所有内容以创建一个Random Cut Forest模型,并将其指向上面的数据(我尝试了清单文件和较大的数据文件。 训练失败并出现错误:
“ ClientError:未找到数据。请确保训练数据为 提供。”
我在做什么错了?
答案 0 :(得分:0)
感谢您对SageMaker的关注。
清单是可选的,但如果提供的话,它应符合https://docs.aws.amazon.com/sagemaker/latest/dg/API_S3DataSource.html中描述的架构。另外,RandomCutForest不支持JSON格式的输入数据。仅支持protobuf和CSV,请参见https://docs.aws.amazon.com/sagemaker/latest/dg/randomcutforest.html
为了获得培训,您必须将输入数据转换为CSV或protobuf格式,并适当设置content_type值。如果要使用清单文件,则S3位置应指向该文件,并且上下文必须固定以符合架构。但是,您可以删除清单并将S3的位置指向s3:// bucket / path / to / data /。
我希望这会有所帮助。
关于, 尤里