はじめに

Verticaでは、外部テーブル機能を利用してParquet形式のデータをデータベース上のテーブルと同じように参照することが可能です。

外部テーブルを作成する際、「CREATE EXTERNAL TABLE」コマンドを実行する必要がありますが、Verticaのファンクションを使用することで、このDDL文をParquetファイルが持つスキーマ情報から生成することが可能です。
カラム数が非常に多い外部テーブルを作成する際など、作業効率を大幅に向上させることができます。

ParquetファイルからDDLを生成する方法

構文


パラメータ名説明
pathParquet形式を使用したファイルまたはディレクトリへのパスを指定します。
table_name作成する外部テーブルの名前を指定します。


実行例


制限事項

1.本関数が使用できるのは、Vertica 9.3.1以降です。

2.本関数は、Parquet形式以外のファイルでは動作しません。

3.以下の制約があるため、出力結果を必ずご確認のうえ、適宜手動にて修正を行ってください。
 ・VARCHAR型およびVARBINARY型の列の場合、本関数はカラムサイズを指定しません。
  そのため、そのままDDL文を実行するとデフォルトの80としてカラムサイズが定義されます。
  実際に必要なサイズにあわせてカラムサイズを調整してください。

 ・パーティショニングされたParquetデータにはパーティションカラムのデータ型を保持しません。
  そのため、データ型が「UNKNOWN」として出力されます。

 ・カラム数の上限やカラム名の長さの上限などのVerticaの制約はParquetの制約と不一致です。
  そのため、本関数によって出力されたDDL実行時にVerticaの制約に抵触する場合があります。
  Verticaの制約については、”参考情報”に記載の「Verticaの主な制限事項」をご確認ください。

参考情報

・外部テーブルの概要
http://vertica-tech.ashisuto.co.jp/external_table/

・Verticaの主な制限事項
http://vertica-tech.ashisuto.co.jp/vertica-limits/

検証バージョンについて

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

更新履歴

2020/03/19 本記事を公開