ストリームデータサイズ指定について

ASTERIA Warpでこんなことできる?…と思うことなど、ご遠慮なく...(^_-)

ストリームデータサイズ指定について

投稿記事by katashi » 2019年3月06日(水) 17:12

フローの中でメールに添付されているexcelファイルを読み取る処理を組み込んでいるのですが、
excelファイルのレコード件数が多い場合に(レコード件数は数万、データサイズは2MB弱)、
java.lang.OutOfMemoryError: GC overhead limit exceededのエラーが発生してしまいます。

FAQの「メモリ不足の対策」の中の説明で、
”コンポーネントで1度に読込むデータサイズを見直し”とあるのですが、
具体的にどのコンポーネントを使用すれば良いのかが分かりません。

例えば、excelビルダーで読み込むレコード数を指定する等すれば本エラーは回避できるものなのでしょうか。
asteriaの環境も本番のもの1つしかないため、エラー再現の確認も容易に行えず困っております。


初歩的な質問で申し訳ございませんが、ご教授の程よろしくお願い致します。
katashi
 
記事: 2
登録日時: 2019年3月06日(水) 16:12

Re: ストリームデータサイズ指定について

投稿記事by arimitsu » 2019年3月07日(木) 20:25

こんにちは。
たまたまExcelコンポーネントを見ていて、巨大なExcelファイルを読み込むことはあるのか?データが多い場合はCSVなどを使うのでは?などと考えていたので、参考になります。

例えば5行だけ取得するレコードを定義していたとしても、
大きなexcelファイルを読み込んでから処理しますので、同じエラーになってしまいます。

今回の場合の”コンポーネントで1度に読込むデータサイズを見直し”とは、
excelファイルの大きさを小さくするということになります。
シートの作りによって許容サイズは異なるのでトライ&エラーになりますが、
フローを落としたくない環境でしたら、はじめから小さいサイズにしておくのが良いかと思います。

よろしくお願いいたします。
arimitsu
 
記事: 46
登録日時: 2015年6月16日(火) 16:54

Re: ストリームデータサイズ指定について

投稿記事by katashi » 2019年3月13日(水) 17:14

ご返信ありがとうございます。
当方と致しましてもcsvファイルで読込を行いたかったのですが、
色々制約がございましてxlsxファイルで、となってしまったのです。。

レコード数が少なくてもサイズが大きいと同様のエラーが発生するとのこと勉強になります。
また、日本語の解釈の問題でお恥ずかしい限りだったのですが、
データサイズをチェックできるコンポーネントがあるわけではなかったのですね。

運用で解決するにはリスクが大きすぎるため、何か代案が無いか模索していこうと思います。
ご丁寧にありがとうございました。
katashi
 
記事: 2
登録日時: 2019年3月06日(水) 16:12


Return to ビギナールーム

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[2人]