業務でPysparkを扱っていた際にcsvをデータフレームで読み込んで、前処理を掛けたあとにsparkのデータフレームに変換しようとしたところ以下のエラーに遭遇したので解決法をメモしておきます。
プログラム
df = pd.read_csv('xxx.csv') <前処理> spark_df = spark.createDataFrame(df)
エラーメッセージ
Can not merge type error
解決法 データフレーム列のデータ型を変換する
自分の肌感ですがこのエラーはobject型の列が含まれている場合に起こる印象なのでエラーになってそうな列のデータ型は文字型に変換しておくのが無難かと思われます。
# 特定の列のデータ型を文字型に変換する df['col_name'] = df['col_name'].astype(str)
# データフレームの全ての列を文字型に変換する for i in df.columns: df[i] = df[i].astype(str)
コメント
[…] 関連記事:pandasからsparkデータフレームへの変換時に 「Can not merge type error」のエラーが出た時の対策 […]