apache pysparkでUnicodeEncodeError: ‘ascii’ codec can’t encode characterとか出たら

localeの設定が間違っていると思われます。

pysparkの実行環境で

import locale
print(locale.getpreferredencoding())

を表示してみましょう。ANSIとか出てきたら駄目です。ここがUTF-8でないといけません。

sparkの実行サーバーで

locale

と打ってみて、LANGがja_JP.UTF-8になっていればこの問題は解決できます。

とりあえずconf/spark-env.shに

export LANG=ja_JP.UTF-8

と打ってsparkを再起動して解決しました

garicchi
対話システムとSFとアニメが好き たまにMicrosoftコミュニティに出現します たまに日経Linuxとラズパイマガジンで記事を書いたり Microsoft MVP 2014~2018(引退済み)

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください