OpenText Analytics Database 旧Vertica

技術情報サイト

Analytics Database

テーブルデータをJSONファイルとして出力する方法(Vertica11.1.1新機能)

公開日:
更新日:
基本操作
#JSON

はじめに

Vertica11.1.1より、テーブルデータをJSONファイルとして出力する機能が実装されました。
本記事ではVerticaのテーブルデータをJSONファイルで出力する方法をご案内します。
JSONファイルとしてエクスポートできることで、他システムやサービスとのデータ連携・活用が行いやすくなります。

Parquet、ORCファイルへの出力方法は、以下の記事をご参照ください。
テーブルデータをParquetファイルとして出力する方法
テーブルデータをORCファイルとして出力する方法

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

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

構文

EXPORT [ /*+LABEL (label)*/ ] TO JSON ( directory=path[, param=value [,...] ] 
   [ OVER (<パーティション句> ) ] AS SELECT <エクスポートしたいクエリ文>;

パラメータ名

内容

LABEL

SQL文を識別するためのラベルを指定。

directory

JSONファイルを出力するディレクトリ。

filename

JSONファイル名。
※本パラメータを利用すると、単一のファイルで出力されます。そのため、fileSizeMBおよびOVER句は無視されます。

omitNullFields

NULLの省略するかどうかを指定。
デフォルト:false

compression

圧縮タイプを指定。
・Uncompressed
・BZip
・GZip

デフォルト:Uncompressed

fileSizeMB

単一ファイルの最大出力サイズ。

デフォルト:10GB

fileMode

HDFSへの書き込みの場合のみ指定。
エクスポートされたすべてのファイルに適用する権限を指定。

dirMode

HDFSへの書き込みの場合のみ指定。
エクスポートされたすべてのディレクトリに適用する権限を指定。

実行例

#customerテーブルのデータをJSONファイルとして出力する

dbadmin=> EXPORT TO JSON(directory = '/home/dbadmin/JSON/customer/json-customer')
dbadmin->  AS
dbadmin->  SELECT
dbadmin->  *
dbadmin->  FROM
dbadmin->  customer;
 Rows Exported
---------------
       3750000
(1 row)

#出力されたファイルを確認する
$ ls -ltr /home/dbadmin/JSON/customer/json-customer/
合計 741908
-rw------- 1 dbadmin verticadba 97347071  6月  3 17:42 f9a4d5ec-v_testdb_node0001-140087582975744-0.json
-rw------- 1 dbadmin verticadba 97290754  6月  3 17:42 cf020410-v_testdb_node0001-140086347249408-0.json
-rw------- 1 dbadmin verticadba 92879040  6月  3 17:42 c87ff3fa-v_testdb_node0001-140087702570752-0.json
-rw------- 1 dbadmin verticadba 92516481  6月  3 17:42 ac99fb7f-v_testdb_node0001-140087566190336-0.json
-rw------- 1 dbadmin verticadba 97152974  6月  3 17:42 64ed5095-v_testdb_node0001-140087557797632-0.json
-rw------- 1 dbadmin verticadba 92607594  6月  3 17:42 1589faed-v_testdb_node0001-140086549948160-0.json
-rw------- 1 dbadmin verticadba 92859764  6月  3 17:42 d3c4252d-v_testdb_node0001-140089594201856-0.json
-rw------- 1 dbadmin verticadba 97035400  6月  3 17:42 e9bde731-v_testdb_node0001-140087616546560-0.json

参考情報

EXPORT TO JSON
https://www.vertica.com/docs/11.1.x/HTML/Content/Authoring/SQLReferenceManual/Statements/ExportToJSON.htm

検証バージョンについて

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

更新履歴

2022/06/07 本記事を公開