はじめに
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ファイル名。 |
omitNullFields | NULLの省略するかどうかを指定。 |
compression | 圧縮タイプを指定。 |
fileSizeMB | 単一ファイルの最大出力サイズ。 |
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 本記事を公開