Skip to main content

はじめに

FileStorageソースとデスティネーションは、Xplentyでよく使われているコンポーネントです。特に多彩なレコード形式を支援しており、異なるシステム間のデータ連携には欠かせない存在でもあります。 2024年の初めからParquet形式の書き込みのみんらず、読み込みも出来るようになりました。今回の記事では、XplentyでParquetによる読み書きの設定をどう行うかを紹介したいと思います。

Parquet形式の長所と短所

既に多くのお客様はご存知だと思いますが、ここでParquet形式について少しおさらいしましょう。Parquet形式の正式名称はApache Parquetと言い、大量のデータを効率よく保存しつつ、比較的に読み取り性能を提供する目的で開発されたデータ保存形式です。 主な長所は下記の通りですが、要するに大量データを扱いやすいので分析業務に向いていることとディスク容量を減らす圧縮仕様にも関わらず読み込みの速さが取り上げられます。 しかし、世の中の全てには長所と短所があるように、Parquet形式は下記の短所もあります。 このようにParquet形式で保存されたデータは、大規模データの効率的なクエリ処理や圧縮に非常に適しており、特にビッグデータや分析用途で高い性能を発揮します。この点でParquet形式は大量データの転送を専門にするXplentyとも相性が良い形式だと言えます。

XplentyでParquet形式への書き込み

Parquet形式への書き込み機能は以前から提供しており、後に説明するデモ用のパッケージは大量のCSVファイルをXplentyにてParquet形式に書き込んでみます。

1. 大量CSVデータの準備

Parquet形式を試すためには大量のデータが必要です。今回はアメリカのcitibike社の運行データを使います。1年間の運行データだと圧縮しても簡単に1ギガを超えていますので、parquet形式のテストには適しており、誰もが使えるように公開されています。 その中に選んだのは2020年度のcitibike-運行データで、zipで固めた容量が751.2メガの1本の圧縮ファイルです。一見、少なめの容量に見えますが解凍するとなんと合計3.61ギガの27本の巨大CSVファイル群になります。zipの圧縮率を換算するとおよそ21%の圧縮率です。この書き込みデモではParquet形式の書き込みは、プレーンテキストのCSVに対しどれぐらいの圧縮効率を見せるかを見てみましょう。 まず、冒頭に紹介したリンクから運行データをダウンロードし、ローカルで解凍します。解凍したcsvファイル群を図のようにS3やFTPサーバにおいておきます。
filestorage-part03-jp image 1
ここからデモ用のパッケージの作成になりますが3つのコンポーネントを使って、大量のCSVファイルを読み込んで、3つのフィールドを追加しでからParquet形式に保存します。

2. CSVファイルの読み込み

Xplentyのパッケージ編集画面でFileStorage sourceを置き、詳細設定を下記のとおりにし、すべてのフィールドを選択すると下記の図のようにData Previewでデータの読み込みが確認出来ます。
filestorage-part03-jp image 2

3. 三つの取り込み日時の追加

既存のデータに追加で3つのタイムゾーン(UTC,JST,KST)のデータ取り込み日時のフィールドを追加します。まず、パッケージ編集画面上でSelectコンポーネントを追加してAuto-fillボタンでソースからフィールドをすべて追加しておきます。 次に、一番最後のフィールドに行き、右側の+をクリックすると新規フィールドが追加されますので、下記の表に基づいてAliasとExpressionをそのまま記入してください。確認のため、下記の図のようにPreviewボタンにてデータを確認します。
filestorage-part03-jp image 3

4. Parquet形式で書き込み

取り込み日時のフィールドを追加した後、ソートコンポーネントにてstarted_atフィールドの昇順にソートします。最後にFileStorage destinationをつなぎ、詳細設定を下記の通りにするとパッケージは完了です。
filestorage-part03-jp image 4

5. パッケージの実行と結果確認

パッケージを実行するとソートが掛けられた場合は18分弱で、ソート無しの場合は、7分になります。下記の図はソートを行った場合の結果を見せています。
filestorage-part03-jp image 5
肝心のデータ容量の確認ですが、1.66ギガです。parquetは読み込みの速さを保証するため、Gzipのような圧縮ソフトn比べて低い46%の圧縮率になっています。
filestorage-part03-jp image 6
しかし、圧縮して1.66ギガの大きさにも関わらず、解凍の気配が全く感じないような、驚異的な速さでエディタから読み込みができます。
filestorage-part03-jp image 7

終わりに

プレーンテキストのCSVやJSON形式の大量データでは保存容量の問題によるストレージ費用の増加するし、データの圧縮でストレージの費用を抑えても必要な時は解凍に時間が掛かってしまうので利便性の問題が発生します。parquet形式は、読み込みの速さと保存領域の節約という2つ利便性を一気に解決したもので、まさに大量データの扱いにピッタリのデータ形式です。 大量データの転送と便利なparquet形式を使ったデータパイプラインの作成にXplentyはまさに最適です。ぜひ2週間の無料トライアルで、御社の大量データの容量圧縮と費用節約がどれぐらいになるかお試しは如何でしょうか?
最終更新日 2026年7月13日