Pandasで同一データをto_parquetすると重複が起こる

今日試して学んだこと。Pandasで同一データフレームを複数回to_parquetで出力すると、同一データが重複する形で出力される。なので、例えばCSVファイルをPandasでParquetデータセットとしてETLするような処理を走らせる場合には同一CSVファイルを複数回処理しないような工夫が必要。取り込み成功したらCSVを削除するとか。

なお重複を事前チェックするのは可能だけれど、結構面倒くさい。例えばパーティション列としてfooを使う時、取り込み対象のCSVに複数のfooの値が含まれる可能性があるならば、行単位で出力は可否の判断をしなければならない。全件チェックなんてするのであればto_parquetでの一括データセット出力をしようという考えと合わないので、まあやめた方が良いと思う。

  • pandas 2.03
  • pyarrow 13.0.0