はじめに

Verticaでは外部テーブルを列指向形式としてデータを保持するParquetやORCファイルを利用することができます。

本記事ではVerticaのテーブルデータをParquetファイルで出力する方法をご案内します。
「頻繁にアクセスはされないが、過去データを保存しておく必要がある」という要件に対しParquetファイルを外部テーブルとして保持しておくことで、以下のメリットがあります。

1.Verticaへの透過的なアクセスを維持できる
2.ライセンスの節約ができる(※)
3.csvフォーマットの外部テーブルと比較した際に高いパフォーマンスが見込める

※ParquetまたはORCを外部表で参照する場合、通常のライセンスとは異なる安価なライセンスで課金されます。詳細を確認したい方は、本ぺージの一番下にあるお問い合わせ先へご連絡ください。

Parquetファイルとして出力する方法

Parquetファイルへの出力はEXPORT TO PARQUET文にて実施します。

構文


パラメータ名内容
directoryParquetファイルを出力するディレクトリ。
compressionデータ圧縮アルゴリズムをSnappyまたは非圧縮で指定。デフォルトはSnappy。
rowGroupSizeMBエクスポートされた行グループの圧縮されていないサイズ(整数)。
最小値は1で、最大値はfileSizeMB(fileSizeMBが0の場合は無制限)。
デフォルトは512。
fileSizeMB1つの出力Parquetファイルの最大ファイルサイズ。
デフォルトは10GB。
fileModeHDFSへの書き込みの場合のみ指定。
書き出されたすべてのファイルに適用する権限。
dirModeHDFSへの書き込みの場合のみ指定。
エクスポートされたすべてのディレクトリに適用する権限。


実行例

※2019/8/8現在、EXPORT TO PARQUET関数の不具合により、LANG設定をen_US.utf8でVerticaを起動しておく必要があります。
※2019/9/6にリリースされた、Vertica9.2.1-6で上記の不具合は修正されました。


参考情報

EXPORT TO PARQUET
https://www.vertica.com/docs/9.2.x/HTML/Content/Authoring/SQLReferenceManual/Statements/EXPORTTOPARQUET.htm

CSVファイルを外部テーブルとして利用する方法
http://vertica-tech.ashisuto.co.jp/external-table-on-vertica/

検証バージョンについて

この記事の内容はVertica 9.2で確認しています。

更新履歴

2019/08/09 本記事を公開
2019/09/10 不具合の修正について追記