はじめに
Vertica11.1.1より、テーブルデータをJSONファイルとして出力する機能が実装されました。本記事ではVerticaのテーブルデータをJSONファイルで出力する方法をご案内します。
JSONファイルとしてエクスポートできることで、他システムやサービスとのデータ連携・活用が行いやすくなります。
Parquet、ORCファイルへの出力方法は、以下の記事をご参照ください。
テーブルデータをParquetファイルとして出力する方法
テーブルデータをORCファイルとして出力する方法
JSONファイルとして出力する方法
JSONファイルへの出力はEXPORT TO JSON文にて実施します。構文
1 2 |
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への書き込みの場合のみ指定。 エクスポートされたすべてのディレクトリに適用する権限を指定。 |
実行例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
#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 JSONhttps://www.vertica.com/docs/11.1.x/HTML/Content/Authoring/SQLReferenceManual/Statements/ExportToJSON.htm
検証バージョンについて
この記事の内容はVertica 11.1.1で確認しています。更新履歴
2022/06/07 本記事を公開- 投稿タグ
- EXPORT