テーブルAPI

テーブル作成

指定されたテーブル名でテーブルを作成、または変更します。

存在しないテーブル名が指定された場合は、テーブルを新規作成します。
同名のテーブルが存在する場合、新しい設定で上書きされます。
上書き時は、format, schema, commentの値のみ変更し、省略された値は変更しません。

テーブルについての詳細は、テーブルをご覧ください。

リクエスト情報

シンタックス

PUT /v1/{cluster name}/{database name}/{table name}?table HTTP1.1
Host: analysis-dag.iijgio.com
Date: {date}
Authorization: {authorization string}
{
  "format" :  {format},
  "schema" :  {schema},
  "comment" : {comment}
}

リクエストパラメータ

この操作ではリクエストパラメータは使用しません。

リクエストボディ

この操作では以下のリクエストボディを使用します。

表. テーブル作成 リクエストボディ一覧
名前 説明 必須
format
入力データのフォーマット
型:String
デフォルト値:json_agent
制約:なし
有効な値:csv, tsv, json, json_agentのいずれか
schema
入力データのスキーマ
型:

String

デフォルト値:
  • formatcsv/tsvの場合はv array<string>
  • formatjsonの場合はv map<string, string>
  • formatjson_agentの場合はtime int, v map<string, string>
制約:

なし

comment
テーブルのコメント
型:String
デフォルト値:なし
制約:100文字以下の半角英数字

レスポンス情報

レスポンスボディ

この操作はレスポンスボディを返しません。

エラー情報

この操作では以下のエラーを返します。

表. テーブル作成 エラーコード一覧
コード 内容 ステータス
InvalidClusterState 操作出来ないクラスタのステータスです。 400 Bad Request
InvalidClusterName 指定されたクラスタ名が不正です。 400 Bad Request
InvalidDatabaseName 指定されたデータベース名が不正です。 400 Bad Request
InvalidTableName 指定されたテーブル名が不正です。 400 Bad Request
InvalidFormat 指定されたformatの値が不正です。 400 Bad Request
InvalidSchema 指定されたschemaの値が不正です。 400 Bad Request
InvalidDDLStatement 使用できないschemaが指定されました。 400 Bad Request
CommentIsTooLong 指定されたcommentの文字数が長すぎます。 400 Bad Request
CommentMustBeAsciiString 指定されたcommentが不正です。 400 Bad Request
ClusterNotFound 存在しないクラスタ名が指定されました。 404 Not Found
DatabaseNotFound 存在しないデータベースが指定されました。 404 Not Found

サンプル

sampleCluster1クラスタのsampledbデータベースにsampletblをjsonフォーマットで作成するサンプル
リクエスト
PUT /v1/sampleCluster1/sampledb/sampletbl?table HTTP1.1
Host: analysis-dag.iijgio.com
Content-Length: 75
Date: Wed, 25 Nov 2009 12:00:00 GMT
Authorization: IIJGIO 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE=
{
  "format" : "json",
  "comment" :"sample table"
}
レスポンス
HTTP/1.1 204 No Content
Date: Wed, 25 Nov 2009 12:00:00 GMT
Server: IIJAnalysisDag
x-iijgio-request-id: YgIPIfBiKa2bj0KMgUAdQkf3ShJTOOpXUueF6QKo
Content-Type: text/plain
Content-Length: 0
Connection: close

テーブル一覧取得

指定されたデータベースに作成されているテーブルの一覧を取得します。

1度のリクエストで最大で100件のテーブル情報を返すことができ、maxパラメータを変更することで一覧に含まれるテーブルの件数(最大100件)を指定できます。

レスポンスに含まれるテーブル情報が、上記で指定した件数を超える場合には、その一覧が部分的であることをisTruncated要素で通知します。

部分的な一覧の場合にはmarkerを指定して、再度リクエストすることで次の一覧を取得できます。

リクエスト情報

シンタックス

GET /v1/{cluster name}/{database name}?table HTTP1.1
Host: analysis-dag.iijgio.com
Date: {date}
Authorization: {authorization string}

リクエストパラメータ

表. テーブル一覧取得 リクエストパラメータ一覧
パラメータ名 説明 必須
max
レスポンスに含める最大テーブル数
型:Integer
デフォルト値:25
制約:1以上100以下の数値
marker
一覧の取得開始位置を指定する文字列
テーブル名を指定します。
テーブル名のutf8コード昇順で後の情報を一覧にして返します。
また、marker値に指定されたテーブルの情報は返答に含みません。
型:String
デフォルト値:なし
制約:半角英数字で1文字以上128文字以下

リクエストボディ

この操作ではリクエストボディは使用しません。

レスポンス情報

レスポンスボディ

この操作では以下のレスポンスボディを返します。

表. テーブル一覧取得 レスポンスボディ一覧
名前 説明
nextMarker
次の一覧を取得するためのテーブル名

レスポンスに含まれる一覧が部分的なものだった場合に、次の一覧の開始位置を指定するテーブル名のマーカーです。

型:String
isTruncated
一覧が部分的なものかどうか

値がtrueの場合は、レスポンスに含まれる一覧が部分的であることを示します。

型:String
tables
取得したテーブルの一覧
型:テーブル情報オブジェクトのArray
表. テーブル情報オブジェクトの要素一覧
名前 説明
databaseName
テーブルを格納するデータベース名
型:String
tableName
テーブル名
型:String
format
フォーマット
型:String
comment
テーブル作成時に指定したコメント
型:String
location
テーブルのロケーション
型:String
createTime
テーブル作成日時
型:UnixTime
modifiedTime
テーブル変更日時
型:UnixTime
partitions
パーティション情報
型:カラム情報ObjectのArray
columns
カラム情報
型:カラム情報ObjectのArray
表. カラム情報Objectの要素一覧
名前 説明
name
カラム名/パーティション名
カラム情報に含まれる場合は カラム名 を、
パーティション情報に含まれる場合は、 パーティション名 を表します。
型:String
type
タイプ
カラムまたはパーティションの型を表します。
型:String

エラー情報

この操作では以下のエラーを返します。

表. テーブル一覧取得 エラーコード一覧
コード 内容 ステータス
InvalidClusterState 操作出来ないクラスタのステータスです。 400 Bad Request
InvalidClusterName 指定されたクラスタ名が不正です。 400 Bad Request
InvalidDatabaseName 指定されたデータベース名が不正です。 400 Bad Request
InvalidTableName markerに指定されたテーブル名が不正です。 400 Bad Request
InvalidMaxRange maxの値が範囲外です。 400 Bad Request
InvalidMax maxの値が不正です。 400 Bad Request
ClusterNotFound 存在しないクラスタ名が指定されました。 404 Not Found
DatabaseNotFound 存在しないデータベースが指定されました。 404 Not Found

サンプル

sampleCluster1クラスタのsampledbに作成されたテーブルを最大10件取得するサンプル
リクエスト
GET /v1/sampleCluster1/sampledb?table&max=10 HTTP1.1
Host: analysis-dag.iijgio.com
Content-Length: 0
Date: Wed, 25 Nov 2009 12:00:00 GMT
Authorization: IIJGIO 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE=
レスポンス
HTTP/1.1 200 OK
Date: Wed, 25 Nov 2009 12:00:00 GMT
Server: IIJAnalysisDag
x-iijgio-request-id: YgIPIfBiKa2bj0KMgUAdQkf3ShJTOOpXUueF6QKo
Content-Type: application/json
Content-Length: 232
Connection: close
{
  "isTruncated" : false,
  "tables" : [{
      "databaseName": "sampledb",
      "tableName": "sampletbl",
      "format": "json_agent",
      "comment": "test comment",
      "location" : "dag://sampledb/sampletbl",
      "createTime": 1398999768,
      "modifiedTime": 1398999768,
      "partitions" : [
          {
            "type": "string",
            "name": "date"
          },
          {
            "type": "string",
            "name": "hour"
          }
      ],
      "columns": [
        {
          "type": "int",
          "name": "time"
        },
        {
          "type": "map<string,string>",
          "name": "v"
        }
      ]
    },
    {
      "databaseName": "sampledb",
      "tableName": "samplefiles1",
      "format": "csv",
      "comment": "test comment",
      "location" : "dag://sampledb/samplefiles1",
      "createTime": 1398999768,
      "modifiedTime": 1398999768,
      "columns": [
        {
          "type": "array<string>",
          "name": "v"
        }
      ]
    }
  ]
}

テーブル情報取得

指定したテーブルの情報を取得します。

リクエスト情報

シンタックス

GET /v1/{cluster name}/{database name}/{table name}?table HTTP1.1
Host: analysis-dag.iijgio.com
Date: {date}
Authorization: {authorization string}

リクエストパラメータ

この操作ではリクエストパラメータは使用しません。

リクエストボディ

この操作ではリクエストボディは使用しません。

レスポンス情報

レスポンスボディ

この操作では以下のレスポンスボディを返します。

表. テーブル情報取得 レスポンスボディ一覧
名前 説明
databaseName
テーブルを格納するデータベース名
型:String
tableName
テーブル名
型:String
format
フォーマット
型:String
comment
テーブル作成時に指定したコメント
型:String
location
テーブルのロケーション
型:String
createTime
テーブル作成日時
型:UnixTime
modifiedTime
テーブル変更日時
型:UnixTime
partitions
パーティション情報
型:カラム情報ObjectのArray
columns
カラム情報
型:カラム情報ObjectのArray
表. カラム情報Objectの要素一覧
名前 説明
name
カラム名/パーティション名
カラム情報に含まれる場合は、 カラム名 を、
パーティション情報に含まれる場合は、 パーティション名 を表します。
型:String
type
タイプ

カラムまたはパーティションの型を表します。

型:String

エラー情報

この操作では以下のエラーを返します。

表. テーブル情報取得 エラーコード一覧
コード 内容 ステータス
InvalidClusterState 操作出来ないクラスタのステータスです。 400 Bad Request
InvalidClusterName 指定されたクラスタ名が不正です。 400 Bad Request
InvalidDatabaseName 指定されたデータベース名が不正です。 400 Bad Request
InvalidTableName 指定されたテーブル名が不正です。 400 Bad Request
ClusterNotFound 存在しないクラスタ名が指定されました。 404 Not Found
DatabaseNotFound 存在しないデータベースが指定されました。 404 Not Found
TableNotFound 存在しないテーブルが指定されました。 404 Not Found

サンプル

sampleCluster1クラスタのsampledbに作成されたsampletblテーブルの情報を取得するサンプル
リクエスト
GET /v1/sampleCluster1/sampledb/sampletbl?table HTTP1.1
Host: analysis-dag.iijgio.com
Content-Length: 0
Date: Wed, 25 Nov 2009 12:00:00 GMT
Authorization: IIJGIO 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE=
レスポンス
HTTP/1.1 200 OK
Date: Wed, 25 Nov 2009 12:00:00 GMT
Server: IIJAnalysisDag
x-iijgio-request-id: YgIPIfBiKa2bj0KMgUAdQkf3ShJTOOpXUueF6QKo
Content-Type: application/json
Content-Length: 232
Connection: close

{
    "databaseName": "sampledb",
    "tableName": "sampletbl",
    "format": "json_agent",
    "comment": "test comment",
    "location" : "dag://sampledb/sampletbl",
    "createTime": 1398999768,
    "modifiedTime": 1398999768,
    "partitions" : [
        {
          "type": "string",
          "name": "date"
        },
        {
          "type": "string",
          "name": "hour"
        }
    ],
    "columns": [
      {
        "type": "int",
        "name": "time"
      },
      {
        "type": "map<string,string>",
        "name": "v"
      }
    ]
}

テーブル削除

指定されたテーブルを削除します。

実行中のクエリでテーブルを参照している場合は、そのクエリがエラーとなる場合がありますので、クエリが完了してからテーブルを削除してください。

Note

テーブル生成時に作成されたDAGストレージ上のオブジェクト{table name}_$folder$は削除されません。

リクエスト情報

シンタックス

DELETE /v1/{cluster name}/{database name}/{table name}?table HTTP1.1
Host: analysis-dag.iijgio.com
Date: {date}
Authorization: {authorization string}

リクエストパラメータ

この操作ではリクエストパラメータは使用しません。

リクエストボディ

この操作ではリクエストボディは使用しません。

レスポンス情報

レスポンスボディ

この操作はレスポンスボディを返しません。

エラー情報

この操作では以下のエラーを返します。

表. テーブル削除 エラーコード一覧
コード 内容 ステータス
InvalidClusterState 操作出来ないクラスタのステータスです。 400 Bad Request
InvalidClusterName 指定されたクラスタ名が不正です。 400 Bad Request
InvalidDatabaseName 指定されたデータベース名が不正です。 400 Bad Request
InvalidTableName 指定されたテーブル名が不正です。 400 Bad Request
ClusterNotFound 存在しないクラスタ名が指定されました。 404 Not Found
DatabaseNotFound 存在しないデータベースが指定されました。 404 Not Found
TableNotFound 存在しないテーブルが指定されました。 404 Not Found

サンプル

sampleCluster1クラスタのsampledbに作成されたsampletblテーブルを削除するサンプル
リクエスト
DELETE /v1/sampleCluster1/sampledb/sampletbl?table HTTP1.1
Host: analysis-dag.iijgio.com
Content-Length: 0
Date: Wed, 25 Nov 2009 12:00:00 GMT
Authorization: IIJGIO 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE=
レスポンス
HTTP/1.1 204 No Content
x-iijgio-request-id: YgIPIfBiKa2bj0KMgUAdQkf3ShJTOOpXUueF6QKo
Date: Wed, 25 Nov 2009 12:00:00 GMT
Server: IIJAnalysisDag
Content-Type: text/plain
Content-Length: 0
Connection: close

ページ先頭へ