com.asakusafw.runtime.io.csv.CsvFormatException: TOO_LONG_RECORDが出てしまいます。

93 views
Skip to first unread message

田中修

unread,
May 18, 2013, 1:07:33 AM5/18/13
to us...@asakusafw.com
お騒がせしております。

田中修です。

CsvFormatExceptionのエラーが表示されて解消することができません。
DMDLにINT、DOUBLE、DATE、DATETIMEを指定するとINVALID_CELL_FORMAT のエラーが出るためすべてTEXTにしました。
すると次に出たエラーがTOO_LONG_RECORDとなってしまい、このエラーの解消方法がわかりません。
どなたかご存知あればお知らせいただければ幸いです。

実行環境は、AWS EMRにAsakusaFW YAESSでDirectIOにて5GBのデータを読み込んで実行させようとしています。
これは、PL/SQLでは7時間かかる処理が、AWS EMRにAsakusaFWを実行したら
どれぐらいの時間がかかるかの検証用です。
AWS EMRではスペックを動的に切り替えられるため、スモールインスタンスやインスタンス台数を変化させて
処理速度がよりスピードアップするのかどうかを調査するための作業となっております。


以上。よろしくお願いいたします。

田中修

unread,
May 23, 2013, 10:13:06 PM5/23/13
to us...@asakusafw.com
田中修です。

自己解答いたします。

TOO_LONG_RECORDのエラー原因がわかりました。
CSVのデータ項目がDMDLファイルのデータ項目の数を上回った場合
項目が足りないという表示を出しているようです。

例えばDMDLのデータ項目が
example_model = {
    number : INT;
    item_code : TEXT;
    last_updated : DATETIME;
};
である状態で、CSVファイルが
number,item_code,last_updated,insert_datetime

のように多い場合、
com.asakusafw.runtime.io.csv.CsvFormatException: TOO_LONG_RECORD (at s3://<backets>/example_model.csv:1, record=1, column=4, expected=End of Line, actual=INSERT_DATETIME)

というエラーが表示されます。

CSVファイルの項目数を見なおすか、DMDLを修正することでこのエラーは修正されます。


では。

2013年5月18日土曜日 14時07分33秒 UTC+9 田中修:
Reply all
Reply to author
Forward
0 new messages