我有以下Metaflow文件,它通过以下步骤成功运行:
@step
def scale(self):
import redshift
import pandas as pd
self.event_matrix = self.jointable.pivot_table(index='user_name', columns='event_name', values='odds')
self.event_matrix_t_scaled = self.event_matrix.T.apply(redshift.scale_user)
self.tester = 1
self.next(self.end)
当我打开笔记本并运行
run = Flow("Recommender").latest_successful_run
print(f'Using run: {run}')
print(run.data)
它的输出
<MetaflowData: event_user_scaled_matrix, tester, event_matrix, jointable, event_matrix_t_scaled>
当我运行run.data.event_matrix
时,它返回一个数据帧,但是当我运行run.data. event_user_scaled_matrix
、run.data. event_matrix_t_scaled
和run.data. tester
时,这些都返回错误:
S3 datastore operation _get_s3_object failed (An error occurred (400) when calling the HeadObject operation: Bad Request). Retrying 7 more times..
这让我相信这些对象不会被写入S3存储桶。但我不明白工作的对象和所有不工作的对象之间有什么不同。
有人能帮我看看我错过了什么吗?
发布于 2020-02-13 02:14:21
例如,您可以使用run.end_task.artifacts.tester._object
在S3中查看Metaflow尝试访问的路径。这可能允许您调试文件应该在哪里,以及为什么它可能不再在那里。您提到的工件之间应该没有区别。
来源:我是一个Metaflow开发人员。
https://stackoverflow.com/questions/59556500
复制相似问题