4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AthenaでCSVファイルからParquet形式へ変換

Last updated at Posted at 2020-03-19

Parquetにしたい場合

AthenaでCSVファイルを読み込んでいるとクエリによってスキャンデータ量が大きい場合があります。
例えばカラム数がかなり多いが、実際に使うカラムは少ない場合などが該当すると思います。
またCSV自体を圧縮できていなかった場合は単純にファイルサイズも減少します。

Parquetに変換

変換したい際にPythonなどを使ってCSV形式からParquetへ変換を行っていたのですが、Athena上でも一応変換(指定ディレクトリに新しいParquetファイル)ができます。

convert.sql
CREATE TABLE new_table_name
WITH (
    format='PARQUET',
    external_location='path/to/new/files/directory'
) AS
SELECT * FROM original_table_name

このようにして、元々CSVを読み込んでいたテーブルから新しいテーブルを作成します。そのときにformat='PARQUET'を指定することでファイルがParquetに変換されます。
注意点としては、元ファイルのファイル数と異なるのでどのファイルに何が入っているかわからなくなる点です。
その場合は月ごとなどにテーブル・ディレクトリを作って、それをまとめて見られるテーブルを作成すると対応できます。

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?