VPC環境で利用できます。
テーブル(Table)とは、データの詳細情報とスキーマを持つメタデータの定義です。スキャナーを通じてテーブルを作成するか、ユーザーが直接スキーマを定義してテーブルを作成できます。Tableメニューではテーブルを作成して管理し、収集したメタデータを確認できます。
Tableリスト画面
Data Catalog利用のための Tableメニューの基本的な説明は、次の通りです。

| 領域 | 説明 |
|---|---|
| ① メニュー名 | 現在確認中のメニュー名、照会中のテーブル数 |
| ② 基本機能 | Tableメニューに初回アクセスすると表示される機能
|
| ③ 検索ボックス | データベース名、テーブル名、場所、テーブルタイプ、データ形式、タグで検索と順序ソートが可能 |
| ④ テーブルリスト | 照会中のテーブルリストを表示 |
| ⑤ テーブル名 | クリックしてテーブル詳細画面に移動 |
| ⑥ データベース名 | クリックしてデータベース詳細画面に移動 |
| ⑦ 場所 | クリックして Object Storageサービスの当該ファイルの場所に移動 |
Table詳細画面
Table詳細画面の基本的な説明は、次の通りです。

| 領域 | 説明 |
|---|---|
| ① テーブル名 | 選択したテーブルの名前 |
| ② 基本情報領域 | テーブルが属するデータベース名、テーブルの説明、テーブルの場所、アップデート日時、作成したスキャナー名、作成日時、テーブルタイプ、データ形式情報を表示します。 |
| ③ 詳細情報タブ領域 | テーブルのスキーマ、スキーマバージョン、パーティション、タグ、プロパティ情報、統計タブで構成され、それぞれ詳細情報を確認できます。テーブル検索と情報確認を参照 |
| ④ 削除ボタン | クリックしてテーブルを削除します。 |
| ⑤ 基本情報変更ボタン | クリックしてテーブルの基本情報を変更します。 |
| ⑥ スキーマ変更ボタン | クリックしてスキーマ情報を変更します。タグのタブではタグ情報を変更できます。 |
| ⑦ データを見るボタン | クリックして Data Queryサービスに移動し、テーブルのデータを直接照会します。 |
テーブル作成
自由にテーブルを作成できます。作成方法は、次の通りです。
- スキーマ手動定義テーブル作成: データベースとスキーマを直接設定してテーブルを作成
- スキャナーを通じたテーブル作成: スキャナーを通じてスキーマを自動で定義し、テーブルを作成
スキーマ手動定義テーブル作成
データベースとスキーマを直接設定してテーブルを作成できます。
スキーマ手動定義テーブルを作成する方法は、次の通りです。
- NAVERクラウドプラットフォームコンソールの VPC環境で、
> Services > Big Data & Analytics > Data Catalogメニューを順にクリックします。 - Tableメニューをクリックします。
- [テーブル作成] ボタンをクリックします。
- スキーマ手動定義テーブル作成をクリックして選択し、 [次へ] ボタンをクリックします。
- 基本情報を入力します。
- データベース: ドロップダウンメニューをクリックしてテーブルと接続するデータベースを選択
- [データベース作成] ボタンをクリックしてデータベースを作成できます(データベース作成を参照)。
- テーブル名: テーブル名の入力
- 場所: テーブルのデータが存在する場所
- 説明: テーブルの説明を入力
- テーブルタイプ
- Catalog Default: Data Catalogが提供するデフォルト Hive Tableタイプです。
- Apache Iceberg: 膨大な分析データセットのためのオープンテーブル形式として、ACIDトランザクション、スキーマの進化、Time Travelクエリなどをサポートし、Spark、Trino、Hiveで同時に安全にタスクを実行できます。
- データベース: ドロップダウンメニューをクリックしてテーブルと接続するデータベースを選択
- データ形式を選択します。
- Apache Icebergテーブルタイプを選択した場合は選択しません。
- csv選択時、区切り記号、データ認識記号、削除文字を選択または入力できます。また、除外するヘッダラインの数を入力できます。
- xmlを選択すると、Row Tagを入力できます。
- [追加] ボタンをクリックしてスキーマ情報を入力し、ユーザー定義スキーマを追加します。
- データタイプに関する詳細は、スキーマデータタイプをご参照ください。
- スキーマのチェックボックスをクリックし、 [削除] ボタンをクリックすると追加したスキーマを削除できます。
- ユーザー定義スキーマを追加しない場合、フィールド名が「default」であるスキーマが自動で追加されます。
- フィールド名には空白を許可します。
- パーティションキーの入力が必要な場合、パーティション領域をクリックした後にパーティションキーを追加します。
- [追加] ボタンをクリックし、入力ボックスにパーティションキー名を入力するとパーティションキーが追加されます。
- パーティションのチェックボックスをクリックして選択し、 [削除] ボタンをクリックするとパーティションキーを削除できます。
- パーティションキー名に空白を許可します。
- Apache Icebergテーブルタイプはパーティションを入力しません。
- 必要に応じて、タグ設定領域をクリックしてタグを追加します。
- [追加] ボタンをクリックし、入力欄にタグ情報を入力するとタグが追加されます。
- データタイプに関する詳細は、タグデータタイプをご参照ください。
- タグのチェックボックスをクリックして選択し、 [削除] ボタンをクリックするとタグを削除できます。
- [タグテンプレートをインポート] ボタンをクリックすると、タグテンプレートをインポートするポップアップが表示されます。
- タグテンプレートをクリックして選択し、 [追加] ボタンをクリックすると当該タグテンプレートのタグを追加できます。
- タグテンプレートに関する詳細は、Tag Templateをご参照ください。
- [追加] ボタンをクリックし、入力欄にタグ情報を入力するとタグが追加されます。
- [作成] ボタンをクリックします。
スキーマデータタイプ
手動で定義できるスキーマのデータタイプとタイプ別の説明は、次の通りです。
| データタイプ | 説明 | Catalog Defaultのサポート有無 | Apache Icebergのサポート有無 |
|---|---|---|---|
| tinyint | 整数型データ(1Byte) | Y | N |
| smallint | 整数型データ(2Byte) | Y | N |
| int | 整数型データ(4Byte) | Y | Y |
| bigint | 整数型データ(8Byte) | Y | N |
| long | 整数型データ(8Byte) | N | Y |
| float | 浮動小数型データ(4Byte) | Y | Y |
| double | 浮動小数型データ(8Byte) | Y | Y |
| decimal | 固定小数型データ
|
Y | Y |
| string | 文字列データ | Y | Y |
| char | 固定長文字型データ
|
Y | N |
| varchar | 可変長文字型データ
|
Y | N |
| boolean | trueまたは false値を持つデータ | Y | Y |
| binary | char形式のデータ | Y | Y |
| timestamp | 日付と時間表現データ、タイムスタンプ | Y | Y |
| time | N | Y | |
| datetime | 日付と時間表現データ(YYYY-MM-DD HH:MM:SS) | Y | N |
| date | 日付表現データ(YYYY-MM-DD) | Y | Y |
| fixed | 固定長の byte array | N | Y |
| uuid | 一意性が保証される ID(Universally Unique IDentifier) | N | Y |
| list | 同一タイプのデータの集合体
|
N | Y |
| array | 同一タイプのデータの集合体
|
Y | N |
| map | キーと値のペアで構成されるデータ
|
Y | Y |
| struct | 様々なタイプのデータと関連スキーマを含むデータ
|
Y | Y |
| uniontype | 複数の構造体データタイプを格納できるタイプ
|
Y | N |
データタイプ別の詳細設定入力の例は、次の通りです。
- 例) arrayタイプの詳細設定
ARRAY < STRUCT < place: STRING, start_year: INT > > - 例) mapタイプの詳細設定
MAP < STRING, ARRAY<STRING> > - 例) structタイプの詳細設定
STRUCT < place: STRING, start_year: INT > - 例) uniontypeタイプの詳細設定
UNIONTYPE < INT, DOUBLE, ARRAY<STRING>, STRUCT<a:INT,b:STRING> > - 例) listタイプの詳細設定
LIST < STRUCT < place: STRING, start_year: INT > >
- Data Catalogコンソールで Icebergテーブルを作成する際、Object Storageにユーザーが選択したフィールドタイプで保存されますが、コンソールでテーブルを照会する際、Metastoreに保存された情報を照会するため Hiveでサポートしていないデータタイプは変換されたタイプで照会されます。
- 変換タイプ: list -> array, long -> bigint, time -> string, fixed -> binary, uuid -> string
- パーティションの最新化
- パーティションキーを持つテーブルを作成した場合、パーティション値がないためパーティションの最新化情報タスクが必要です。当該タスクは以下のように実行できます。
- Data Query: call data_catalog.system.sync_partition_metadata('{データベース名}','{テーブル名}','ADD')構文を実行
- Cloud Hadoop Hive: msck repair table {table name}
- 2025年下半期に Data Catalogで当該機能を直接使用できるように提供する予定です。
- パーティションキーを持つテーブルを作成した場合、パーティション値がないためパーティションの最新化情報タスクが必要です。当該タスクは以下のように実行できます。
スキャナーを通じたテーブル作成
スキャナーを通じてスキーマを自動で定義し、テーブルを作成する方法は、次の通りです。
- NAVERクラウドプラットフォームコンソールの VPC環境で、
> Services > Big Data & Analytics > Data Catalogメニューを順にクリックします。 - Tableメニューをクリックします。
- [テーブル作成] ボタンをクリックします。
- スキャナーを通じたテーブル作成をクリックして選択し、 [次へ] ボタンをクリックします。
- スキャナー作成画面に移動します。
- スキャナーを作成して実行すると、自動でテーブルが作成されます。
- テーブル名はソースデータ名をベースに自動設定されます。
- スキャナー作成と実行に関する詳細は、Scannerをご参照ください。
- データファイルは UTF-8エンコード形式のみサポートします。
- 他のエンコードを使用する場合、データスキャンとデータクエリが正常に動作しないことがあります。
テーブル検索と情報確認
作成したテーブルを検索して情報を確認する方法は、次の通りです。
- NAVERクラウドプラットフォームコンソールの VPC環境で、
> Services > Big Data & Analytics > Data Catalogメニューを順にクリックします。 - Tableメニューをクリックします。
- 検索条件を入力して
をクリックし、デーブルを検索します。 - テーブルをクリックして情報を確認します。
- データベース: テーブルが含まれたデータベース名
- テーブル: テーブル名
- 場所: テーブルのデータが存在する Object Storageの場所
- テーブルタイプ: テーブルのタイプ(Catalog Default、Apache Iceberg)
- データ形式: スキャンしたデータの形式(csv、xml、json、parquet、orc、avro、mysql、mongodb、mssql、postgresql)
- 作成日時: 初めてテーブルを作成した日時
- アップデート日時: 一番最近のテーブル情報を変更した日時
- [スキーマ] タブ: クリックしてテーブルに登録されたスキーマを確認
- データタイプに関する詳細は、スキーマデータタイプをご参照ください。
- 変更ボタンをクリックしてスキーマを変更できます。view tableや Apache Icebergテーブルはスキーマを変更できません
- [スキーマバージョン] タブ: クリックしてスキーマバージョンリストを確認、バージョンをクリックして当該バージョンのスキーマを確認
- [パーティション] タブ: クリックしてテーブルに登録されたパーティションキーと値を確認
- パーティション更新機能
- データ形式が csv、xml、json、parquet、avro、orcであるテーブルに対してパーティション値の更新機能を提供します。
- Hiveパーティションタイプのみ更新可能であり、Directoryパーティションタイプは更新されません。また、「完全同期」や「削除のみ同期」を実行する場合、パーティション値が削除されることがあります。
- パーティション値のみ更新され、パーティションキーは追加されません。パーティションキーを追加したい場合は、テーブルを再スキャンする必要があります
- オプション: 完全同期(追加/削除されたパーティション値をすべて更新)、追加のみ同期(追加されたパーティション値のみ更新)、削除のみ同期(削除されたパーティション値のみ更新)
- パーティション更新機能
- [タグ] タブ: クリックしてテーブルに登録されたタグを確認
- 設定ボタンをクリックしてタグを追加/削除できます
- [プロパティ情報] タブ: クリックしてテーブルとソースデータのプロパティ情報を確認
- プロパティキーに関する詳細は、プロパティ情報をご参照ください。
- [統計] タブ: クリックしてフィールド/パーティション単位の統計情報を確認
- Data Catalogサービスを購読すると統計機能を実行して照会でき、フィールド単位の最小値、最大値、平均などの統計データを抽出します。
- サポートするデータタイプ: parquet、avro、orc、csv、json
- 照会されるデータは、最後に成功して実行された情報が表示されます。
- 全体統計の抽出実行後、一部カラムのみ統計抽出を実行すると、一部カラムは更新されますが、残りカラムは既存に実行された履歴のまま残ります。注意
- 固有値は、平均5%の誤差範囲内でデータのおおよその数を推定します。
- CSVファイルは null数、true/false数を推定することはできません。
- [最適化] タブ: Icebergファイルの最適化機能を実行(Icebergテーブル形式のみ表示)
- ファイル結合: 複数のファイルに分割されているデータファイルを結合し、ファイル管理の効率性を高め、パフォーマンスを向上させる機能。結合基準よりもサイズが小さいファイルのみ結合基準に選定されます(結合基準サイズのデフォルト値は100MBであり、単位は MBです)注意
- 結合基準のサイズを大きく設定しすぎると、結合を実行するたびにファイル結合が行われるため、ファイルに変更がなくてもスナップショットが作成されます。
- 結合基準のサイズをデータファイルのサイズに比例して適切なサイズに設定することをお勧めします。
- スナップショット管理: 不要なスナップショットを削除します。最大保存期間内のスナップショットは維持され、保存期間が経過したスナップショットは削除します(最大保存期間の最小値は7日です)。
- 孤立ファイルの整理: ファイルの結合、誤って作成されたファイルなど、使用されていないファイルを整理します。最大保存期間内の孤立ファイルは維持され、保存期間が経過した孤立ファイルは削除します(最大保存期間の最小値は7日です)。
- ファイル結合: 複数のファイルに分割されているデータファイルを結合し、ファイル管理の効率性を高め、パフォーマンスを向上させる機能。結合基準よりもサイズが小さいファイルのみ結合基準に選定されます(結合基準サイズのデフォルト値は100MBであり、単位は MBです)
プロパティ情報
テーブル詳細情報領域で、 [プロパティ情報] タブをクリックすると、テーブルとソースデータのプロパティ情報を確認できます。情報項目と項目別の説明は、次の通りです。
| プロパティキー | 説明 |
|---|---|
| EXTERNAL | 外部保存 |
| clusterNo | スキャンされた Cloud Data Baseサービスのクラスタ番号 |
| connectionId | テーブルを作成したスキャナーのコネクション ID |
| connectionName | データスキャンのために利用したコネクション名 |
| created_time | テーブル作成日時のユニックス時間を表記 |
| dataFormat | データソースの形式 |
| dataType | データソースタイプ |
| delimiter | ソースデータが CSVファイルの場合に区分記号 |
| inputFormat | Fileを Objectで読み取るための Format形式 |
| isDirectory | スキャン対象がディレクトリの場合、TRUE表示 |
| last_modified_time | テーブルアップデート日時のユニックス時間を表記 |
| numFiles | スキャン対象がディレクトリの場合、スキャンした総ファイル数 |
| objectstorageContentLength | スキャンされた Object Storage Contentディレクトリ内ファイルの ContentLengthの合計 |
| objectstorageContentType | スキャンされた Object Storageディレクトリの共通した ContentType |
| objectstorageLastModified | スキャンされた Object Storageディレクトリ内の直近に変更したファイルの変更時間 |
| outputFormat | Objectを Fileで書き込むための Format形式 |
| rowTag | 行を定義する XMLタグ |
| scannerId | テーブルを作成したスキャナー ID |
| scannerName | テーブルを作成したスキャナー名 |
| serializationLib | Serializer and Deserializer Library |
| serde.separatorChar | データのスキーマを決定するための区切り記号 |
| serde.quoteChar | 文字列をデータとして認識する記号 |
| serde.escapeChar | データとして認識された文字列値の中に含まれる文字を削除するための文字 |
| skip.header.line.count | 除外するヘッダ数 |
| totalSize | スキャン対象がディレクトリの場合、スキャンした総データ容量 |
| transient_lastDdlTime | テーブル DDLの最終変更日時のユニックス時間を表記 |
| mysqlCollation | MySQLテーブルの文字列の位置合わせを設定 |
| mysqlDataSize | MySQLテーブルのデータサイズ |
| mysqlIndexSize | MySQLテーブルのインデックスサイズ |
| mysqlIndexes | MySQLテーブルのインデックス数 |
| mysqlRows | MySQLテーブルに保存された行(レコード)数 |
| mysqlTableSize | MySQLテーブルの合計サイズ |
| mssqlCollation | MSSQLテーブルの文字列の位置合わせを設定 |
| mssqlDataSize | MSSQLテーブルのデータサイズ |
| mssqlIndexSize | MSSQLテーブルのインデックスサイズ |
| mssqlIndexes | MSSQLテーブルのインデックス数 |
| mssqlRows | MSSQLテーブルに保存された行(レコード)数 |
| mssqlTableSize | MSSQLテーブルの合計サイズ |
| postgresqlCollation | PostgreSQLテーブルの文字列の位置合わせを設定 |
| postgresqlDataSize | PostgreSQLテーブルのデータサイズ |
| postgresqlIndexSize | PostgreSQLテーブルのインデックスサイズ |
| postgresqlIndexes | PostgreSQLテーブルのインデックス数 |
| postgresqlRows | PostgreSQLテーブルに保存された行(レコード)数 |
| postgresqlTableSize | PostgreSQLテーブルの合計サイズ |
| mongodbAvgObjSize | MongoDBコレクションの平均ドキュメントサイズ |
| mongodbFreeStorageSize | MongoDBデータベースで使用できる空きスペースのサイズ |
| mongodbIndexSize | MongoDBコレクションのインデックスサイズ |
| mongodbIndexes | MongoDBコレクションのインデックス数 |
| mongodbRowCount | MongoDBコレクションに保存されたドキュメント(レコード)数 |
| mongodbSize | MongoDBデータベースのサイズ |
| mongodbStorageSize | MongoDBデータベース保存場所のサイズ |
| mongodbTotalSize | MongoDBデータベースの合計サイズ |
| compressionType | スキャンしたファイルが圧縮ファイルである場合、圧縮ファイル拡張子 |
| metadata_location | Icebergテーブル使用時に追加される metadataファイルパス |
上記で案内されたリスト以外の Icebergテーブルのプロパティ情報の内容は、iceberg documentをご参照ください。
テーブル変更
作成したテーブル情報を変更するか、スキーマのバージョンを選択する方法は、次の通りです。
テーブル名とテーブルが含まれているデータベースは変更できません。
テーブルタイプが Apache Iceberg、または view tableである場合はスキーマを変更できません。
基本情報変更
- NAVERクラウドプラットフォームコンソールの VPC環境で、
> Services > Big Data & Analytics > Data Catalogメニューを順にクリックします。 - Tableメニューをクリックします。
- テーブル名をクリックし、テーブル詳細画面に移動します。
- 基本情報領域の [変更] ボタンをクリックします。
- 基本情報変更のポップアップでテーブルの情報を変更します。
- ソースデータの場所、テーブル説明、ソースデータのフォーマットを変更できます。
- [保存] ボタンをクリックします。
スキーマ情報変更
- NAVERクラウドプラットフォームコンソールの VPC環境で、
> Services > Big Data & Analytics > Data Catalogメニューを順にクリックします。 - Tableメニューをクリックします。
- テーブル名をクリックし、テーブル詳細画面に移動します。
- スキーマタブの [変更] ボタンをクリックします。
- スキーマ変更画面が表示されたら、フィールド名、データタイプ、説明を変更でき、JSON変更ボタンを通じて直接変更することもできます。
- スキーマ領域のバージョンドロップダウンメニューをクリックし、変更するスキーマバージョンを選択できます。
- JSONを変更する場合は、以下のように name、type、typeValue、description項目が存在する必要があります。
[ { "name": "col_name", "type": "decimal", "typeValue": "(10,2)", "description": "catalog decimal" } ] - [保存] ボタンをクリックします。
プロパティ情報変更
- NAVERクラウドプラットフォームコンソールの VPC環境で、
> Services > Big Data & Analytics > Data Catalogメニューを順にクリックします。 - Tableメニューをクリックします。
- テーブル名をクリックし、テーブル詳細画面に移動します。
- プロパティタブの [変更] ボタンをクリックします。
- テーブルで使用する inputFormat、outputFormat、serializationLibを変更できます。
- データ形式に合わないライブラリで変更した場合、Data Query、Hive、Sparkなどでクエリを実行できなくなるためご注意ください。
- [保存] ボタンをクリックします。
テーブル削除
作成したテーブルを削除する方法は、次の通りです。
- 削除をクリックすると、テーブルのバージョン情報、タグ、プロパティなど、関連するすべてのメタ情報が削除されます。
- プロパティ情報に EXTERNAL=trueの値がない場合(Managed tableの場合)、Object Storageの実際のデータが削除される可能性があります。
- 削除したテーブルおよびデータは復旧できません。
Icebergタイプのテーブルを削除しても、実際の Object Storageのデータは削除されません。
- NAVERクラウドプラットフォームコンソールの VPC環境で、
> Services > Big Data & Analytics > Data Catalogメニューを順にクリックします。 - Tableメニューをクリックします。
- 削除するテーブルの名前をクリックし、テーブル詳細画面に移動します。
- [削除] ボタンをクリックします。
- お知らせのポップアップが表示されたら、注意事項を確認して [削除] ボタンをクリックします。