Table

Prev Next

VPC環境で利用できます。

テーブル(Table)とは、データの詳細情報とスキーマを持つメタデータの定義です。スキャナーを通じてテーブルを作成するか、ユーザーが直接スキーマを定義してテーブルを作成できます。Tableメニューではテーブルを作成して管理し、収集したメタデータを確認できます。

Tableリスト画面

Data Catalog利用のための Tableメニューの基本的な説明は、次の通りです。
data_catalog_table_ko_iceberg.png

領域 説明
① メニュー名 現在確認中のメニュー名、照会中のテーブル数
② 基本機能 Tableメニューに初回アクセスすると表示される機能
  • [テーブル作成] ボタン: クリックしてテーブルを作成(テーブル作成を参照)
  • [サービスの詳細を見る] ボタン: クリックして Data Catalog紹介ページに移動
  • [更新] ボタン: クリックしてテーブルリストを更新
③ 検索ボックス データベース名、テーブル名、場所、テーブルタイプ、データ形式、タグで検索と順序ソートが可能
④ テーブルリスト 照会中のテーブルリストを表示
⑤ テーブル名 クリックしてテーブル詳細画面に移動
⑥ データベース名 クリックしてデータベース詳細画面に移動
⑦ 場所 クリックして Object Storageサービスの当該ファイルの場所に移動

Table詳細画面

Table詳細画面の基本的な説明は、次の通りです。
data_catalog_table_ko_iceberg.png

領域 説明
① テーブル名 選択したテーブルの名前
② 基本情報領域 テーブルが属するデータベース名、テーブルの説明、テーブルの場所、アップデート日時、作成したスキャナー名、作成日時、テーブルタイプ、データ形式情報を表示します。
③ 詳細情報タブ領域 テーブルのスキーマ、スキーマバージョン、パーティション、タグ、プロパティ情報、統計タブで構成され、それぞれ詳細情報を確認できます。テーブル検索と情報確認を参照
④ 削除ボタン クリックしてテーブルを削除します。
⑤ 基本情報変更ボタン クリックしてテーブルの基本情報を変更します。
⑥ スキーマ変更ボタン クリックしてスキーマ情報を変更します。タグのタブではタグ情報を変更できます。
⑦ データを見るボタン クリックして Data Queryサービスに移動し、テーブルのデータを直接照会します。

テーブル作成

自由にテーブルを作成できます。作成方法は、次の通りです。

スキーマ手動定義テーブル作成

データベースとスキーマを直接設定してテーブルを作成できます。

スキーマ手動定義テーブルを作成する方法は、次の通りです。

  1. NAVERクラウドプラットフォームコンソールの VPC環境で、 i_menu > Services > Big Data & Analytics > Data Catalogメニューを順にクリックします。
  2. Tableメニューをクリックします。
  3. [テーブル作成] ボタンをクリックします。
  4. スキーマ手動定義テーブル作成をクリックして選択し、 [次へ] ボタンをクリックします。
  5. 基本情報を入力します。
    • データベース: ドロップダウンメニューをクリックしてテーブルと接続するデータベースを選択
      • [データベース作成] ボタンをクリックしてデータベースを作成できます(データベース作成を参照)。
    • テーブル名: テーブル名の入力
    • 場所: テーブルのデータが存在する場所
    • 説明: テーブルの説明を入力
    • テーブルタイプ
      • Catalog Default: Data Catalogが提供するデフォルト Hive Tableタイプです。
      • Apache Iceberg: 膨大な分析データセットのためのオープンテーブル形式として、ACIDトランザクション、スキーマの進化、Time Travelクエリなどをサポートし、Spark、Trino、Hiveで同時に安全にタスクを実行できます。
  6. データ形式を選択します。
    • Apache Icebergテーブルタイプを選択した場合は選択しません。
    • csv選択時、区切り記号、データ認識記号、削除文字を選択または入力できます。また、除外するヘッダラインの数を入力できます。
    • xmlを選択すると、Row Tagを入力できます。
  7. [追加] ボタンをクリックしてスキーマ情報を入力し、ユーザー定義スキーマを追加します。
    • データタイプに関する詳細は、スキーマデータタイプをご参照ください。
    • スキーマのチェックボックスをクリックし、 [削除] ボタンをクリックすると追加したスキーマを削除できます。
    • ユーザー定義スキーマを追加しない場合、フィールド名が「default」であるスキーマが自動で追加されます。
    • フィールド名には空白を許可します。
  8. パーティションキーの入力が必要な場合、パーティション領域をクリックした後にパーティションキーを追加します。
    • [追加] ボタンをクリックし、入力ボックスにパーティションキー名を入力するとパーティションキーが追加されます。
    • パーティションのチェックボックスをクリックして選択し、 [削除] ボタンをクリックするとパーティションキーを削除できます。
    • パーティションキー名に空白を許可します。
    • Apache Icebergテーブルタイプはパーティションを入力しません。
  9. 必要に応じて、タグ設定領域をクリックしてタグを追加します。
    • [追加] ボタンをクリックし、入力欄にタグ情報を入力するとタグが追加されます。
    • タグのチェックボックスをクリックして選択し、 [削除] ボタンをクリックするとタグを削除できます。
    • [タグテンプレートをインポート] ボタンをクリックすると、タグテンプレートをインポートするポップアップが表示されます。
      • タグテンプレートをクリックして選択し、 [追加] ボタンをクリックすると当該タグテンプレートのタグを追加できます。
      • タグテンプレートに関する詳細は、Tag Templateをご参照ください。
  10. [作成] ボタンをクリックします。

スキーマデータタイプ

手動で定義できるスキーマのデータタイプとタイプ別の説明は、次の通りです。

データタイプ 説明 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 固定小数型データ
  • 入力欄に長さ(1~38Byte)を入力
Y Y
string 文字列データ Y Y
char 固定長文字型データ
  • 入力欄に長さ(1~255Byte)を入力
Y N
varchar 可変長文字型データ
  • 入力欄に長さ(1~65,535Byte)を入力
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で当該機能を直接使用できるように提供する予定です。

スキャナーを通じたテーブル作成

スキャナーを通じてスキーマを自動で定義し、テーブルを作成する方法は、次の通りです。

  1. NAVERクラウドプラットフォームコンソールの VPC環境で、 i_menu > Services > Big Data & Analytics > Data Catalogメニューを順にクリックします。
  2. Tableメニューをクリックします。
  3. [テーブル作成] ボタンをクリックします。
  4. スキャナーを通じたテーブル作成をクリックして選択し、 [次へ] ボタンをクリックします。
    • スキャナー作成画面に移動します。
  5. スキャナーを作成して実行すると、自動でテーブルが作成されます。
    • テーブル名はソースデータ名をベースに自動設定されます。
    • スキャナー作成と実行に関する詳細は、Scannerをご参照ください。
注意
  • データファイルは UTF-8エンコード形式のみサポートします。
  • 他のエンコードを使用する場合、データスキャンとデータクエリが正常に動作しないことがあります。

テーブル検索と情報確認

作成したテーブルを検索して情報を確認する方法は、次の通りです。

  1. NAVERクラウドプラットフォームコンソールの VPC環境で、 i_menu > Services > Big Data & Analytics > Data Catalogメニューを順にクリックします。
  2. Tableメニューをクリックします。
  3. 検索条件を入力して i-datacatalog-searchをクリックし、デーブルを検索します。
  4. テーブルをクリックして情報を確認します。
    • データベース: テーブルが含まれたデータベース名
    • テーブル: テーブル名
    • 場所: テーブルのデータが存在する 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日です)。

プロパティ情報

テーブル詳細情報領域で、 [プロパティ情報] タブをクリックすると、テーブルとソースデータのプロパティ情報を確認できます。情報項目と項目別の説明は、次の通りです。

プロパティキー 説明
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である場合はスキーマを変更できません。

基本情報変更

  1. NAVERクラウドプラットフォームコンソールの VPC環境で、 i_menu > Services > Big Data & Analytics > Data Catalogメニューを順にクリックします。
  2. Tableメニューをクリックします。
  3. テーブル名をクリックし、テーブル詳細画面に移動します。
  4. 基本情報領域の [変更] ボタンをクリックします。
  5. 基本情報変更のポップアップでテーブルの情報を変更します。
    • ソースデータの場所、テーブル説明、ソースデータのフォーマットを変更できます。
  6. [保存] ボタンをクリックします。

スキーマ情報変更

  1. NAVERクラウドプラットフォームコンソールの VPC環境で、 i_menu > Services > Big Data & Analytics > Data Catalogメニューを順にクリックします。
  2. Tableメニューをクリックします。
  3. テーブル名をクリックし、テーブル詳細画面に移動します。
  4. スキーマタブの [変更] ボタンをクリックします。
  5. スキーマ変更画面が表示されたら、フィールド名、データタイプ、説明を変更でき、JSON変更ボタンを通じて直接変更することもできます。
    • スキーマ領域のバージョンドロップダウンメニューをクリックし、変更するスキーマバージョンを選択できます。
    • JSONを変更する場合は、以下のように name、type、typeValue、description項目が存在する必要があります。
    [
      {
        "name": "col_name",
        "type": "decimal",
        "typeValue": "(10,2)",
        "description": "catalog decimal"
       }
     ]
    
  6. [保存] ボタンをクリックします。

プロパティ情報変更

  1. NAVERクラウドプラットフォームコンソールの VPC環境で、 i_menu > Services > Big Data & Analytics > Data Catalogメニューを順にクリックします。
  2. Tableメニューをクリックします。
  3. テーブル名をクリックし、テーブル詳細画面に移動します。
  4. プロパティタブの [変更] ボタンをクリックします。
  5. テーブルで使用する inputFormat、outputFormat、serializationLibを変更できます。
    • データ形式に合わないライブラリで変更した場合、Data Query、Hive、Sparkなどでクエリを実行できなくなるためご注意ください。
  6. [保存] ボタンをクリックします。

テーブル削除

作成したテーブルを削除する方法は、次の通りです。

注意
  • 削除をクリックすると、テーブルのバージョン情報、タグ、プロパティなど、関連するすべてのメタ情報が削除されます。
  • プロパティ情報に EXTERNAL=trueの値がない場合(Managed tableの場合)、Object Storageの実際のデータが削除される可能性があります。
  • 削除したテーブルおよびデータは復旧できません。
参考

Icebergタイプのテーブルを削除しても、実際の Object Storageのデータは削除されません。

  1. NAVERクラウドプラットフォームコンソールの VPC環境で、 i_menu > Services > Big Data & Analytics > Data Catalogメニューを順にクリックします。
  2. Tableメニューをクリックします。
  3. 削除するテーブルの名前をクリックし、テーブル詳細画面に移動します。
  4. [削除] ボタンをクリックします。
  5. お知らせのポップアップが表示されたら、注意事項を確認して [削除] ボタンをクリックします。