すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:Data Warehouse Edition クイックスタート

最終更新日:May 08, 2026

このガイドは、AnalyticDB for MySQL Data Warehouse Edition のクイックスタートガイドです。AnalyticDB for MySQL は、オンライン分析処理 (OLAP) ワークロード向けに構築された、クラウド管理型のペタバイトスケールで高同時実行性かつリアルタイムのデータウェアハウスです。このガイドでは、Data Warehouse Edition クラスターの使用方法を説明します。

重要

Data Warehouse Edition は新規購入ができなくなりました。代わりに Enterprise Edition または Basic Edition をご購入いただけます。すでに Data Warehouse Edition クラスターをご購入済みの場合は、引き続きこのガイドを参照して Data Warehouse Edition クラスターをご利用いただけます。

ワークフロー

AnalyticDB for MySQL Data Warehouse Edition を初めてご利用になる場合は、以下のトピックを事前にご確認ください。

  • プロダクト概要AnalyticDB for MySQL の基本概念、メリット、ユースケースについて説明します。

  • 料金AnalyticDB for MySQL の課金方法と料金詳細について説明します。

  • クイックスタート(このガイド): AnalyticDB for MySQL Data Warehouse Edition クラスターの使用方法に関するチュートリアルを提供します。

ステップ 1:データベースアカウントの作成

AnalyticDB for MySQL では、特権アカウントと標準アカウントの 2 種類のデータベースアカウントがサポートされています。両者の違いについては、「データベースアカウントの種類」をご参照ください。

特権アカウントの作成

  1. AnalyticDB for MySQL コンソール にログインします。コンソールの左上隅でリージョンを選択し、左側のナビゲーションウィンドウで クラスターリスト をクリックします。管理対象のクラスターを見つけ、クラスター ID をクリックします。

  2. 左側のナビゲーションウィンドウで アカウント管理 をクリックします。

  3. アカウント管理 ページで、特権アカウントの作成 をクリックします。

  4. アカウントの作成 パネルで、パラメーターを設定します。

    パラメーター

    説明

    データベースアカウント

    特権アカウントの名前です。画面上の要件を満たす名前を入力してください。

    アカウントタイプ

    Data Warehouse Edition クラスターの場合、このパラメーターは自動的に 高特権アカウント に設定され、変更できません。

    新しいパスワード

    特権アカウントのパスワードです。画面上の要件を満たすパスワードを入力してください。

    パスワードの確認

    パスワードを再度入力して確認します。

    記述

    任意です。将来的に参照できるように、アカウントの説明を入力します。

  5. を決定 をクリックしてアカウントを作成します。

標準アカウントの作成と権限付与

Data Warehouse Edition クラスター上で SQL ステートメントを実行して作成した標準アカウントは、コンソールに表示されません。

  • データベースアカウントを作成するには、「CREATE USER」をご参照ください。

  • データベースアカウントに権限を付与するには、「GRANT」をご参照ください。

  • データベースアカウントから権限を取り消すには、「REVOKE」をご参照ください。

  • データベースアカウントの名前を変更するには、「RENAME USER」をご参照ください。

  • データベースアカウントを削除するには、「DROP USER」をご参照ください。

ステップ 2:IP アドレスホワイトリストの設定

  • デフォルトでは、IP アドレスホワイトリストには 127.0.0.1 のみが含まれており、どのデバイスもクラスターにアクセスできません。他のデバイスからのアクセスを許可するには、ホワイトリストに IP アドレスを追加します。たとえば、10.10.10.0/24 の CIDR ブロックを追加すると、10.10.10.X 範囲内のすべての IP アドレスからのアクセスが許可されます。複数の IP アドレスまたは CIDR ブロックを追加する場合は、スペースを入れずにカンマ (,) で区切ってください。例:192.168.0.1,172.16.213.9

    警告

    IP アドレスホワイトリストに 0.0.0.0 を入力しないでください。

  • パブリック IP アドレスが頻繁に変更され、すべてのパブリック IP アドレスから AnalyticDB for MySQL クラスターへのアクセスを許可したい場合は、テクニカルサポートにお問い合わせください。

  • IP アドレスホワイトリストは、AnalyticDB for MySQL クラスターに対して高いセキュリティレベルを提供します。ホワイトリストを定期的にメンテナンスすることを推奨します。

  • IP アドレスホワイトリストの設定は、AnalyticDB for MySQL クラスターの通常の動作に影響しません。ホワイトリストの変更は 1 分以内に有効になります。

操作手順

  1. AnalyticDB for MySQL コンソール にログインします。コンソールの左上隅でリージョンを選択し、左側のナビゲーションウィンドウで クラスターリスト をクリックします。管理対象のクラスターを見つけ、クラスター ID をクリックします。

  2. 左側のナビゲーションウィンドウで データセキュリティ をクリックします。

  3. ホワイトリストの設定 ページで、デフォルト ホワイトリストグループを見つけ、[操作] 列の 変更 をクリックします。

    説明

    ホワイトリスト作成グループ をクリックして、カスタムグループを作成することもできます。

  4. ホワイトリストグループの設定 ダイアログボックスで、デフォルトの IP アドレス 127.0.0.1 を削除します。クラスターにアクセスする必要のある IP アドレスまたは CIDR ブロックを入力し、を決定 をクリックします。

    説明

    クライアントのパブリック IP アドレスをホワイトリストに追加するには、まずその IP アドレスを特定する必要があります。「接続数」をご参照ください。

ステップ 3:クラスターへの接続

AnalyticDB for MySQL では、Data Management Service (DMS)、Navicat for MySQL や DBeaver、DBVisualizer、SQL WorkBench/J などの MySQL クライアント、BI 可視化ツール、MySQL コマンドラインツールを使用して AnalyticDB for MySQL クラスターに接続できます。また、アプリケーションからクラスター接続アドレス、ポート、データベースアカウントなどの情報を設定して AnalyticDB for MySQL クラスターに接続することもできます。

DMS を使用して接続する AnalyticDB for MySQL

  1. AnalyticDB for MySQL コンソール にログインします。コンソールの左上隅でリージョンを選択し、左側のナビゲーションウィンドウで クラスターリスト をクリックします。管理対象のクラスターを見つけ、クラスター ID をクリックします。

  2. クラスター情報 ページの右上隅で、ログインデータベース をクリックします。

  3. 表示されるダイアログボックスで、ログイン情報を入力します。

    パラメーター

    説明

    データベースタイプ

    デフォルト値は AnalyticDB for MySQL 3.0 です。変更する必要はありません。

    インスタンスのリージョン

    デフォルト値は現在のインスタンスが配置されているリージョンです。変更する必要はありません。

    インスタンスid

    デフォルト値は現在のクラスターのクラスター ID です。変更する必要はありません。

    データベースアカウント

    クラスターのデータベースアカウント名です。

    データベースパスワード

    データベースアカウントのパスワードです。

    説明

    パスワードを記憶する を選択すると、次回以降、データベースアカウントとパスワードを入力せずに現在の AnalyticDB for MySQL クラスターに自動的にログインできます。

    説明
    • DMS を使用して AnalyticDB for MySQL クラスターに初めてログインする場合、コントロールモードはデフォルトで 柔軟な管理 に設定されます。ログイン後、インスタンスを編集することでコントロールモードを変更することもできます。「インスタンスの編集」および「コントロールモード」をご参照ください。

    • ログインパラメーターを設定したら、左下隅の 接続のテスト をクリックできます。接続テストが失敗した場合は、エラーメッセージに基づいてアカウントやパスワードなどクラスター情報を確認してください。

    • システムは自動的に DMS のサーバー IP アドレスをデータベースの IP アドレスホワイトリストに追加します。自動的に追加されない場合は、手動で追加してください。「ステップ 2:IP アドレスホワイトリストの設定」および「DMS IP アドレスホワイトリスト」をご参照ください。

  4. ログイン をクリックします。

プログラムによる接続先: AnalyticDB for MySQL

MySQL コマンドラインツールを使用して AnalyticDB for MySQL に接続する

MySQL コマンドラインクライアントを使用した AnalyticDB for MySQL クラスターへの接続

クライアントを使用して接続する AnalyticDB for MySQL

接続 AnalyticDB for MySQL をデータビジュアライゼーションツールに

ステップ 4:データベースの作成

説明

各クラスターで作成できるデータベースの最大数は 2,048 です。

  1. SQL INFORMATION_SCHEMA タブで、SQL コンソールに CREATE DATABASE ステートメントを入力してデータベースを作成します。

    • 構文: CREATE DATABASE [IF NOT EXISTS] $db_name

    • パラメーターの説明: db_name はデータベース名です。名前は小文字で始まり、英数字とアンダースコア (_) を含めることができます。ただし、連続する 2 つ以上のアンダースコア (_) を含めることはできません。名前の長さは最大 64 文字です。

      説明

      データベース名に analyticdb を使用することはできません。これは組み込みデータベースであるためです。

    • 例:

      create database adb_demo;                          
      create database if not exists adb_demo2;                         
  2. 左上隅の 実行 をクリックします。これでデータベースが作成されます。

ステップ 5:データのインポートとクエリ

前提条件

  • AnalyticDB for MySQL データを格納する Object Storage Service (OSS) のディレクトリを作成します。

    1. OSS を有効化します。「OSS の有効化」をご参照ください。

    2. バケットを作成します。「バケットの作成」をご参照ください。

      重要

      OSS バケットは、AnalyticDB for MySQL クラスターと同じリージョンにある必要があります。

    3. ディレクトリを作成します。「ディレクトリの作成」をご参照ください。

    4. テストオブジェクトをアップロードします。「オブジェクトのアップロード」をご参照ください。

      この例では、oss_import_test_data.txt オブジェクトを OSS の <bucket-name>.oss-cn-hangzhou.aliyuncs.com/adb/ ディレクトリにアップロードします。行は改行で区切られ、列はセミコロン (;) で区切られています。サンプルデータは次のとおりです。

      uid;other
      12;hello_world_1
      27;hello_world_2
      28;hello_world_3
      33;hello_world_4
      37;hello_world_5
      40;hello_world_6
      ...     
  • AnalyticDB for MySQL クイックスタートガイドに従って、クラスターの作成、IP アドレスホワイトリストの設定、アカウントとデータベースの作成など、事前準備を完了してください。「操作手順」をご参照ください。

操作手順

  1. CREATE TABLE ステートメントを実行して、adb_demo データベースに外部テーブルを作成します。CSV、Parquet、TEXT 形式のデータに対する OSS 外部テーブルの作成構文については、「OSS 外部テーブルの構文」をご参照ください。

  2. OSS データをクエリします。

    外部テーブルのクエリは、AnalyticDB for MySQL 内部テーブルのクエリと同じ構文を使用します。次の例のように、直接データをクエリできます。

    select uid, other from oss_import_test_external_table where uid < 100 limit 10;
    • 大規模な CSV または TEXT データオブジェクトの場合は、クエリパフォーマンスを向上させるために、クエリ前にデータを AnalyticDB for MySQL にインポートすることを強く推奨します。

    • Parquet データオブジェクトの場合は、直接クエリでも一般的に高いパフォーマンスが得られます。必要に応じて、クエリ前にデータを AnalyticDB for MySQL にインポートするかどうかを判断できます。

  3. CREATE TABLE ステートメントを実行して、adb_oss_import_test という名前の送信先テーブルを adb_demo データベースに作成し、OSS からインポートされたデータを格納します。

    CREATE TABLE IF NOT EXISTS adb_oss_import_test
    (
        uid string,
        other string
    )
    DISTRIBUTED BY HASH(uid);                  
  4. INSERT ステートメントを実行して、OSS 外部テーブルから AnalyticDB for MySQL にデータをインポートします。

    重要

    デフォルトでは、INSERT INTO ステートメントおよび INSERT OVERWRITE SELECT ステートメントは同期書き込みでデータをインポートします。数百ギガバイトなど大量のデータをインポートする場合、クライアントと AnalyticDB for MySQL サーバー間の接続を長時間維持する必要があります。この期間中にネットワークの問題が発生すると接続が中断され、データインポートが失敗する可能性があります。そのため、大量のデータをインポートする場合は、SUBMIT JOB INSERT OVERWRITE SELECT ステートメントを使用して非同期でデータをインポートすることを推奨します。

    • 方法 1: INSERT INTO ステートメントを実行してデータをインポートします。プライマリキーに重複する値がある場合、新しいデータは無視され、既存のデータは更新されません。この動作は INSERT IGNORE INTO を使用する場合と同等です。「INSERT INTO」をご参照ください。次のステートメントが例です。

      INSERT INTO adb_oss_import_test
      SELECT * FROM oss_import_test_external_table;
    • 方法 2: INSERT OVERWRITE ステートメントを実行してデータをインポートします。このステートメントはテーブル内の既存のデータを上書きします。次のステートメントが例です。

      INSERT OVERWRITE adb_oss_import_test
      SELECT * FROM oss_import_test_external_table;
    • 方法 3: INSERT OVERWRITE ステートメントを実行してデータを非同期でインポートします。SUBMIT JOB ステートメントを使用して非同期タスクを送信できます。書き込みタスクを高速化するために、/*+ direct_batch_load=true*/ ヒントワードを追加できます。「非同期書き込み」をご参照ください。次のステートメントが例です。

      SUBMIT JOB INSERT OVERWRITE adb_oss_import_test
      SELECT * FROM oss_import_test_external_table;

      次の結果が返されます。

      +---------------------------------------+
      | job_id                                |
      +---------------------------------------+
      | 2020112122202917203100908203303****** |

      非同期タスクの送信方法の詳細については、「非同期インポートタスクの送信」をご参照ください。

  5. adb_oss_import_test テーブル内のデータをクエリするには、次のコマンドを実行します。

    SELECT * FROM adb_oss_import_test;

OSS 外部テーブルの構文

パーティションなしの OSS 外部テーブル

CREATE TABLE [IF NOT EXISTS] table_name
(column_name column_type[, …])
ENGINE='OSS'
TABLE_PROPERTIES='{
    "endpoint":"endpoint",
    "url":"OSS_LOCATION",
    "accessid":"accesskey_id",
    "accesskey":"accesskey_secret",
    "format":"CSV|ORC|Parquet",
    "delimiter":";",
    "skip_header_line_count":1,
    "charset":"utf-8"
}';

外部テーブルの種類

パラメーター

必須

説明

CSV、Parquet、OSS ORC 形式のファイル用外部テーブル

ENGINE='OSS'

はい

テーブルエンジンです。このパラメーターを OSS に設定します。

endpoint

OSS バケットの エンドポイント です。AnalyticDB for MySQL は VPC 経由でのみ OSS にアクセスできます。

説明

OSS コンソール にログインし、対象バケットの名前をクリックします。バケットの 概要 ページで、エンドポイント を確認します。

url

OSS ファイルまたはフォルダのパスです。

  • OSS ファイルの絶対パスを指定します。例: oss://testBucketname/adb/oss_import_test_data.csv

  • フォルダのパスは末尾にスラッシュ (/) を付けます。例: oss://testBucketname/adb/

    説明

    フォルダのパスを指定した場合、テーブル作成後に外部テーブルにはフォルダ内のすべてのデータが含まれます。

  • パスの末尾にワイルドカード (*) を追加して、指定されたパターンに一致するすべてのファイルまたはフォルダをマッチさせることができます。例: oss://testBucketname/adb/list_file_with_prefix/test*

    説明

    このあいまい検索の例では、oss://testBucketname/adb/list_file_with_prefix/testfile1

    oss://testBucketname/adb/list_file_with_prefix/test1/file2

accessid

OSS の管理権限を持つ Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey ID です。

AccessKey ID の取得方法については、「アカウントと権限」をご参照ください。

accesskey

OSS の管理権限を持つ Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey Secret です。

AccessKey Secret の取得方法については、「アカウントと権限」をご参照ください。

CSV ファイル用外部テーブル

delimiter

CSV データファイルの列区切り文字を定義します。

Parquet または OSS ORC ファイル用外部テーブル

format

データファイルのフォーマットです。

  • Parquet ファイル用の外部テーブルを作成する場合は、このパラメーターを parquet に設定します。

  • ORC ファイル用の外部テーブルを作成する場合は、このパラメーターを orc に設定します。

説明
  • このパラメーターは、OSS Parquet ファイルまたは OSS ORC ファイル用の外部テーブルを作成する場合にのみ指定します。

  • このパラメーターを指定しない場合、デフォルトのフォーマットは CSV です。

CSV ファイル用外部テーブル

null_value

いいえ

CSV データファイルの NULL 値を定義します。デフォルトでは、空の値が NULL として定義され、これは "null_value": "" です。

重要

このパラメーターは、カーネルバージョン 3.1.4.2 以降のクラスターでのみサポートされています。

ossnull

CSV データファイルで値を NULL 値にマッピングするルールです。有効な値:

  • 1 (デフォルト): EMPTY_SEPARATORS。空の値のみが NULL として定義されます。

    例: a,"",,c --> "a","",NULL,"c"

  • 2EMPTY_QUOTES"" のみが NULL として定義されます。

    例: a,"",,c --> "a",NULL,"","c"

  • 3BOTH。空の値と "" の両方が NULL として定義されます。

    例: a,"",,c --> "a",NULL,NULL,"c"

  • 4NEITHER。空の値も ""NULL として定義されません。

    例: a,"",,c --> "a","","","c"

説明

上記の例は、"null_value": "" を前提としています。

skip_header_line_count

データインポート時にファイルの先頭からスキップするヘッダー行の数です。CSV ファイルの最初の行はテーブルヘッダーです。このパラメーターを 1 に設定すると、データインポート中に最初の行が自動的にスキップされます。

デフォルト値は 0 で、スキップされる行はありません。

oss_ignore_quote_and_escape

フィールド値内の引用符とエスケープ文字を無視するかどうかを指定します。デフォルト値は false で、引用符とエスケープ文字は無視されません。

重要

このパラメーターは、カーネルバージョン 3.1.4.2 以降のクラスターでのみサポートされています。

charset

OSS 外部テーブルの文字セットです。有効な値:

  • utf-8 (デフォルト)

  • gbk

重要

このパラメーターは、カーネルバージョン 3.1.10.4 以降のクラスターでのみサポートされています。

説明
  • CREATE EXTERNAL TABLE ステートメントの列名とその順序は、ソースの Parquet または ORC ファイル内のものと一致している必要があります。列名の大文字と小文字は区別されません。

  • ソースファイルの一部の列のみを使用して外部テーブルを作成できます。CREATE EXTERNAL TABLE ステートメントで指定されていない列は無視されます。

  • CREATE EXTERNAL TABLE ステートメントに Parquet または ORC ファイルに存在しない列が含まれている場合、その列に対するクエリは NULL を返します。

AnalyticDB for MySQL では、OSS 外部テーブルを CSV 形式で使用して Hive TEXT ファイルを読み書きできます。このようなテーブルを作成するステートメントの例を次に示します。

CREATE TABLE adb_csv_hive_format_oss (
  a tinyint,
  b smallint,
  c int,
  d bigint,
  e boolean,
  f float,
  g double,
  h varchar,
  i varchar, -- binary
  j timestamp,
  k DECIMAL(10, 4),
  l varchar, -- char(10)
  m varchar, -- varchar(100)
  n date
) ENGINE = 'OSS' TABLE_PROPERTIES='{
    "format": "csv",
    "endpoint":"oss-cn-hangzhou-internal.aliyuncs.com",
    "accessid":"LTAI****************",
    "accesskey":"yourAccessKeySecret",
    "url":"oss://testBucketname/adb_data/",
    "delimiter": "\\1",
    "null_value": "\\\\N",
    "oss_ignore_quote_and_escape": "true",
    "ossnull": 2
}';
説明

CSV フォーマットの OSS 外部テーブルを作成して Hive TEXT ファイルを読み取る場合は、以下に注意してください。

  • Hive TEXT ファイルのデフォルトの列区切り文字は \1 です。OSS 外部テーブルを使用して CSV フォーマットで Hive TEXT ファイルを読み取りおよび書き込みする場合は、delimiter パラメーター内で \1\\1 としてエスケープする必要があります。

  • Hive TEXT ファイルのデフォルトの NULL 値は \N です。OSS 外部テーブルを使用して CSV フォーマットで Hive TEXT ファイルを読み取りおよび書き込みする場合は、null_value パラメーターで \N \\\\N としてエスケープする必要があります。

  • Hive の他の基本データ型(たとえば BOOLEAN)は、AnalyticDB for MySQL のデータの型に 1 対 1 でマッピングされます。ただし、BINARYCHAR(n)、および VARCHAR(n) 型はすべて、AnalyticDB for MySQLVARCHAR 型にマッピングされます。

パーティション付き OSS 外部テーブル

OSS データソースにパーティションが含まれている場合、データは OSS 内の階層ディレクトリ構造で格納されます。次の例を参照してください。

parquet_partition_classic/
├── p1=2020-01-01
│ ├── p2=4
│ │ ├── p3=SHANGHAI
│ │ │ ├── 000000_0
│ │ │ └── 000000_1
│ │ └── p3=SHENZHEN
│ │     └── 000000_0
│ └── p2=6
│     └── p3=SHENZHEN
│         └── 000000_0
├── p1=2020-01-02
│ └── p2=8
│     ├── p3=SHANGHAI
│     │ └── 000000_0
│     └── p3=SHENZHEN
│         └── 000000_0
└── p1=2020-01-03
    └── p2=6
        ├── p2=HANGZHOU
        └── p3=SHENZHEN
            └── 000000_0

上記のデータでは、p1、p2、p3 がそれぞれレベル 1、レベル 2、レベル 3 のパーティションです。このようなデータソースでは、通常、パーティション単位でデータをクエリします。これを行うには、OSS 外部テーブルを作成する際にパーティションキー列を指定する必要があります。Parquet ファイル用のパーティション付き OSS 外部テーブルを作成するステートメントの例を次に示します。

CREATE TABLE [IF NOT EXISTS] table_name
(column_name column_type[, …])
ENGINE='OSS'
TABLE_PROPERTIES='{
    "endpoint":"endpoint",
    "url":"OSS_LOCATION",
    "accessid":"accesskey_id",
    "accesskey":"accesskey_secret",
    "format":"parquet",
    "partition_column":"p1, p2, p3"
}';
説明
  • TABLE_PROPERTIES 内の partition_column パラメーターは、p1、p2、p3 などのパーティションキー列を指定します。パーティションキー列は、レベル 1 からレベル 3 のパーティションの順序で partition_column パラメーター内に宣言する必要があります。

  • 列定義には、p1、p2、p3 などのパーティションキー列とそのデータ型を含める必要があります。パーティションキー列は、列定義の末尾に配置する必要があります。

  • 列定義内のパーティションキー列の順序は、partition_column パラメーター内の順序と一致している必要があります。

  • パーティションキー列でサポートされるデータ型は、BOOLEANTINYINTSMALLINTINTINTEGERBIGINTFLOATDOUBLEDECIMALVARCHARSTRINGDATE、および TIMESTAMP です。

  • データをクエリする際、パーティションキー列は他のデータ列と同様に表示および使用されます。

  • フォーマットを指定しない場合、デフォルトのフォーマットは CSV です。

  • その他のパラメーターの詳細については、「パラメーターの説明」をご参照ください。

参照

データをインポートする他の方法については、「サポートされるデータソース」をご参照ください。