Presto date_formatでGENERIC_INTERNAL_ERROR: String index out of range
この話の続き。jodaは使われているには使われているけどフォーマットを生成するのにループで取り回してる。でもバイト数でループするもんだから、'%Y年%m月%d日'
みたいな書き方をするとバイト数と文字数が一致しなくなるのでループのところで死ぬ。presto-cliなどではdebugオプションで分かるけどAthenaじゃそんなオプションはない。
Issueにコメントしましたが、バイト数でループを回しながらcharAtで各文字をとってるので余分にループが回っている状態ですね。
— Yuya Ebihara (@ebyhr) June 28, 2019
正確にはjodaのDateTimeFormatterBuilderが使われているのですが、そのフォーマットを生成するのにループで回して取り出しています。Athenaは全然詳しく無いのですがdebugログ出してくれないのはこういうとき辛いですね...。
— Yuya Ebihara (@ebyhr) June 28, 2019
バグです。ありがとうございました。たぶん週末までには取り込まれることでしょう。それでもこれが直っているのをAthenaで拝められるのはどのくらい先だろうな……