CData Software Blog

クラウド連携のCData Software の技術ブログです。

CData Sync Amazon S3 Destination が Parquet フォーマットをサポート

f:id:sugimomoto:20210923144045p:plain

こんにちは。CData Software Japan リードエンジニアの杉本です。

以前、CData Sync の Amazon S3 Destination 機能について紹介したのですが、

www.cdatablog.jp

www.cdatablog.jp

今回は新しく追加された機能、Parquetフォーマットのサポートを紹介したいと思います!

Apache Parquet とは

Apache Parquet は Hadoop などのビッグデータ処理エコシステムでよく用いられているオープンソースのファイルフォーマットです。

parquet.apache.org

CSVが行指向なファイルフォーマットに対して、Parquetは列指向のデータストレージ形式、バイナリベースのものになっています。

これによりクエリの実行、集計処理などを行う際に、非関連データを迅速にスキップすることができるため、処理時間を圧縮することができます。

また、以下のBlogでも紹介されているように、CSVとは違いバイナリベースに圧縮されたファイルフォーマットであるため、レコード数ベースのファイルサイズの圧縮効果も高いのが特徴ですね。

www.techscore.com

Parquet フォーマットのサポート

そして今回、このParquet フォーマットによるデータの出力に、CData Sync のAmazon S3 Destinationが対応しました。

今まではCSVフォーマットによるデータ出力のみだったのですが、以下のようにparquetフォーマットで出力できるようになっています。

f:id:sugimomoto:20210923143404p:plain

最近ではHadoop以外の分野においても、例えば Amazon Athena が取り込むファイルフォーマットとしてもサポートされていることがあり、この出力が効力を発揮するシチュエーションは多いのではないでしょうか。

aws.amazon.com

f:id:sugimomoto:20210923143409p:plain

特に今回のようにストレートにS3出力が可能である場合は対象のバケットを予めAthenaのテーブルとして定義しておくだけで、そのままシームレスにクエリすることができるようになります。

使い方

設定方法は簡単です。

まず以前の記事で紹介しているように、Amazon S3 Destination の接続を構成します。

www.cdatablog.jp

f:id:sugimomoto:20210923143617p:plain

その後、「Advanced」タブに移動してFile Formatから「PARQUET」を選択します。

f:id:sugimomoto:20210923143621p:plain

これで出力フォーマットが「Parquet」形式になります。

あとは任意のデータソースのコネクションとジョブを作成して、処理を実行します。

f:id:sugimomoto:20210923143626p:plain

これで指定したバケットにテーブル名のフォルダが作成され、その中にparquetファイルが生成されます。

このファイルはレプリケーションを実行する度に取得結果に応じて増えるので、必要に応じて差分のみ出力するなど、調整を行ってください。

f:id:sugimomoto:20210923143632p:plain

ちなみに「Insert Mode」を「SingleFile」に設定すると

f:id:sugimomoto:20210923143636p:plain

テーブル名でparquetファイルが生成されます。こちらのほうがマスタデータなどのレプリケーションであれば向いているかもしれないですね。

f:id:sugimomoto:20210923143641p:plain

最終的にAthenaで対象のParquetファイルを元にテーブルを作成し、以下のようにクエリすることも可能です。

f:id:sugimomoto:20210923143646p:plain

おわりに

このような形で今までのAmazon S3 Destination の機能から一つ設定を変えるだけで、Parquetフォーマットが利用できるようになります。

CData Sync は30日間のトライアルもあるので、是非ためしてみてください。

www.cdata.com

ちなみに、CData では 関連製品として CData Parquet Driver というのも提供しています。Amazon S3 の Parquet ファイルを直接クエリすることもできたりするので、Athena以外のツールで分析などをしたいといった場合はこちらも併せて試してみてください。

www.cdatablog.jp