テーブルは、MaxCompute のデータストレージの単位であり、 行と列で構成される 2 次元データ構造です。 各行はレコードを表し、各列は同じデータ型のフィールドを表します。 1 つのレコードには、1 つ以上の列を含めることができます。 列名とデータ型は、テーブルのスキーマで構成されます。
MaxCompute の各種コンピューティングタスクの操作オブジェクト (入力、出力) はテーブルです。 テーブルの作成、テーブルの削除、テーブルへのデータインポートを実行できます。
注 DataWorks のデータ管理モジュールを使用すると、MaxCompute テーブルに格納されるデータのライフサイクルを登録、編成、変更できます。また、ライフサイクルの管理権限を付与することもできます。
詳細は、「データ管理の概要 (data management overview)」をご参照ください。
MaxCompute v2.0 は、内部テーブルと外部テーブルの 2 種類のテーブルに対応しています。MaxCompute2.0 バージョンでは、新たに外部テーブルが使用できるようになりました。
DUAL 表の使用:
- Oracle などのデータベースとは異なり、MaxCompute では DUAL 表が自動的に作成されません。
- テストテーブルとして DUAL 表を使い慣れている場合は、
CREATE TABLE IF NOT EXISTS DUAL (DUMMY VARCHAR(1));
コマンドを手動で実行して、テスト用のフィールドが 1 つだけある DUAL という名前の空のテーブルを作成できます。注 現在、MaxCompute SQL と新バージョンのMapreduce で使用できる Set コマンドは、次の 2 通りに分けられます。- セッションレベル: 新しいデータ型 (Tinyint、Smallint、Int、Float、Varcha、 TIMESTAMP BINARY) を使用するには、テーブル文の前に
set 文を追加する必要があります。
テーブル文と一緒に実行コマンドを送信します。set odps.sql.type.system.odps2=true;
- プロジェクトレベル: 新たにプロジェクトレベルの Set コマンドが使用できるようになりました。 プロジェクトオーナーは、必要に応じてプロジェクトを設定できます。
setproject odps.sql.type.system.odps2=true;
- セッションレベル: 新しいデータ型 (Tinyint、Smallint、Int、Float、Varcha、 TIMESTAMP BINARY) を使用するには、テーブル文の前に
set 文を追加する必要があります。
- DUAL 表の使い方は、Oracle の場合と同じです。
select getdate() from dual;
のように使用します。