如图,请问机器学习PAI的数据量较大的时候会出现OperatorCsvCollector.collectToCsv TooLongFrameException这个问题怎么解决?
如图,请问机器学习PAI的数据量较大的时候会出现这个问题怎么解决?[阿里云机器学习PAI]
「点点赞赏,手留余香」
还没有人赞赏,快来当第一个赞赏的人吧!
如图,请问机器学习PAI的数据量较大的时候会出现OperatorCsvCollector.collectToCsv TooLongFrameException这个问题怎么解决?
OperatorCsvCollector.collectToCsv TooLongFrameException这个异常通常是因为数据量过大导致的。
出现这个异常的原因是:
CsvCollector默认会将所有数据收集到一个大的字符串中,再输出为CSV文件。
数据量太大时,这个大字符串会超出HTTP响应大小限制,导致TooLongFrameException。
解决此问题有以下几种方法:
分批次导出CSV,每次导出一部分数据。
使用非阻塞流式输出,每次flush部分数据而不是一次性输出全部数据。
配置HTTP Server增加响应大小限制,例如修改 rest.response.large 사이즈 를 더 큰 값으로 설정.
不使用CsvCollector直接将数据写入文件或数据库等目标。
将数据先存入其他存储再导出,避免一次性在内存中构建过大字符串。
分割后批次收集每个部分输出为单独CSV文件。
根据实际情况减少导出数据量的范围。
collect应该是有限制,可以直接link一个sink组件就行了—此回答来自钉群“Alink开源–用户群”