All Products
Search
Document Center

AnalyticDB:Panduan Cepat Edisi Gudang Data

Last Updated:Mar 29, 2026
Penting

Edisi Gudang Data tidak lagi tersedia untuk pembelian. Kluster baru dapat dibeli sebagai Edisi Perusahaan atau Edisi Dasar. Jika Anda sudah memiliki kluster Edisi Gudang Data, ikuti panduan ini untuk menyiapkannya dan mulai menjalankan kueri data.

AnalyticDB for MySQL adalah layanan pemrosesan analitik online (OLAP) yang memproses data dalam skala petabyte secara real time. Panduan ini akan memandu Anda melalui lima langkah, mulai dari kluster yang baru dibuat hingga menjalankan kueri pertama Anda.

Pada akhir panduan ini, Anda akan:

  • Membuat akun database dan menetapkan kata sandi

  • Mengonfigurasi daftar putih alamat IP untuk mengizinkan koneksi klien

  • Terhubung ke kluster menggunakan Data Management (DMS) atau klien pilihan Anda

  • Membuat database

  • Memuat data dari Object Storage Service (OSS) dan menjalankan kueri

image

Prasyarat

Sebelum memulai, pastikan Anda memiliki:

  • Kluster AnalyticDB for MySQL Edisi Gudang Data. Catat ID kluster dan wilayah tempat kluster tersebut berada.

  • Bucket OSS di wilayah yang sama dengan kluster, dengan direktori dan file data yang telah diunggah. Untuk menyiapkan OSS:

    1. Aktifkan OSS

    2. Buat bucket

    3. Buat direktori

    4. Unggah objek

Untuk contoh impor pada Langkah 5, panduan ini menggunakan file bernama oss_import_test_data.txt yang diunggah ke <bucket-name>.oss-cn-hangzhou.aliyuncs.com/adb/. File tersebut menggunakan line feed sebagai pemisah baris dan titik koma (;) sebagai pemisah kolom:

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
...

Langkah 1: Membuat akun database

AnalyticDB for MySQL mendukung dua jenis akun: Privileged Account dan akun standar. Untuk perbandingan kedua jenis tersebut, lihat bagian "Jenis akun" pada Membuat akun database.

Membuat akun istimewa

  1. Masuk ke Konsol AnalyticDB for MySQL. Di pojok kiri atas, pilih wilayah. Di panel navigasi sebelah kiri, klik Clusters. Temukan kluster tersebut lalu klik ID klusternya.

  2. Di panel navigasi sebelah kiri, klik Accounts.

  3. Pada tab Accounts, klik Create Privileged Account.

  4. Pada panel Create Account, konfigurasikan parameter berikut.

    ParameterDeskripsi
    Database AccountNama akun istimewa. Harus memenuhi persyaratan yang ditampilkan di layar.
    Account TypeSecara otomatis diatur ke Privileged Account untuk kluster Edisi Gudang Data.
    New PasswordPassword akun. Harus memenuhi persyaratan yang ditampilkan di layar.
    Confirm PasswordMasukkan ulang password.
    Description(Opsional) Catatan untuk mengidentifikasi akun.
  5. Klik OK.

Membuat akun standar

Akun standar yang dibuat melalui pernyataan SQL tidak ditampilkan di konsol. Gunakan perintah SQL berikut untuk mengelolanya:

Langkah 2: Mengonfigurasi daftar putih alamat IP

Daftar putih default hanya berisi 127.0.0.1, yang memblokir semua koneksi eksternal. Tambahkan alamat IP atau blok CIDR klien Anda untuk mengizinkan akses.

Peringatan

Alamat IP 0.0.0.0 tidak diizinkan dalam daftar putih.

Sebelum mengonfigurasi daftar putih:

  • Untuk mengizinkan semua IP dalam subnet, gunakan notasi CIDR — misalnya, 10.10.10.0/24.

  • Untuk menambahkan beberapa entri, pisahkan dengan koma tanpa spasi — misalnya, 192.168.0.1,172.16.213.9.

  • Perubahan berlaku dalam waktu 1 menit dan tidak mengganggu kluster yang sedang berjalan.

  • Jika IP publik Anda sering berubah dan Anda perlu mengizinkan semua IP publik, hubungi dukungan teknis.

Mengonfigurasi daftar putih

  1. Di Konsol AnalyticDB for MySQL, buka halaman detail kluster.

  2. Di panel navigasi sebelah kiri, klik Data Security.

  3. Pada tab Whitelist Settings, klik Modify di sebelah kanan daftar putih default.

    Untuk membuat daftar putih terpisah alih-alih mengedit yang default, klik Create Whitelist.
  4. Pada panel Edit Whitelist, hapus 127.0.0.1, masukkan alamat IP atau blok CIDR yang ingin diizinkan, lalu klik OK.

    Untuk mengetahui alamat IP egress mesin klien Anda, lihat Connections.

Langkah 3: Terhubung ke kluster

Lakukan koneksi menggunakan salah satu metode berikut.

Gunakan DMS

  1. Di Konsol AnalyticDB for MySQL, buka halaman detail kluster.

  2. Di pojok kanan atas halaman Cluster Information, klik Log On to Database.

  3. Pada kotak dialog, isi detail koneksi.

    - Saat pertama kali terhubung melalui DMS, kluster dikelola dalam mode Flexible ManagementEdit an instance. Untuk mengubah mode kontrol, lihat Modify database instances. Untuk mode kontrol yang tersedia, lihat Control modes. - Klik Test Connection di pojok kiri bawah untuk memverifikasi koneksi sebelum login. - DMS secara otomatis menambahkan IP servernya ke daftar putih kluster. Jika gagal, tambahkan secara manual — lihat Add DMS IP addresses and CIDR blocks to security settings.
    ParameterDeskripsi
    Database TypeDefault-nya adalah AnalyticDB MySQL 3.0.
    Instance RegionDefault-nya adalah wilayah kluster.
    Instance IDDefault-nya adalah ID kluster saat ini.
    Database AccountNama akun database.
    Database PasswordPassword untuk akun tersebut. Pilih Remember Password agar tidak perlu memasukkan kredensial lagi lain kali.
  4. Klik Login.

Gunakan client atau tool

Klien MySQL:

Alat business intelligence (BI):

Kode aplikasi:

Langkah 4: Membuat database

Setiap kluster mendukung hingga 2.048 database.

  1. Di DMS, pilih database sistem INFORMATION_SCHEMA dan buka tab SQL Console.

    SQL Console

  2. Jalankan pernyataan berikut untuk membuat database:

    • Panjang maksimal 64 karakter

    • Hanya berisi huruf, angka, dan garis bawah (_)

    • Dimulai dengan huruf kecil

    • Tidak mengandung garis bawah berturut-turut

    Jangan gunakan analyticdb sebagai nama database. Nama tersebut dicadangkan untuk database bawaan.
    CREATE DATABASE [IF NOT EXISTS] db_name;

    Nilai db_name harus: Contoh:

    CREATE DATABASE adb_demo;
    CREATE DATABASE IF NOT EXISTS adb_demo2;
  3. Di pojok kiri atas tab SQL Console, klik Execute. Database berhasil dibuat.

    数据库创建成功

Langkah 5: Impor dan kueri data

Langkah ini menunjukkan cara memuat data dari OSS ke AnalyticDB for MySQL menggunakan tabel eksternal, lalu menyalinnya ke tabel internal untuk kueri yang efisien.

Impor data dari OSS

  1. Di SQL Console, pilih database adb_demo dan buat tabel eksternal OSS:

    CREATE TABLE oss_import_test_external_table
    (
        uid    STRING,
        other  STRING
    )
    ENGINE='OSS'
    TABLE_PROPERTIES='{
        "endpoint":  "oss-cn-hangzhou-internal.aliyuncs.com",
        "url":       "oss://<bucket-name>/adb/oss_import_test_data.txt",
        "accessid":  "<your-access-key-id>",
        "accesskey": "<your-access-key-secret>",
        "format":    "csv",
        "delimiter": ";"
    }';

    Untuk sintaks lengkap dan semua parameter yang didukung, lihat Referensi tabel eksternal OSS.

  2. Jalankan kueri uji untuk memverifikasi bahwa tabel eksternal membaca data dengan benar:

    Untuk file format CSV dan TEXT dengan volume data besar, impor data ke tabel internal sebelum menjalankan kueri. Kueri langsung terhadap tabel eksternal berukuran besar mungkin memiliki performa lebih rendah. Untuk file format Parquet, kueri langsung juga didukung.
    SELECT uid, other
    FROM oss_import_test_external_table
    WHERE uid < 100
    LIMIT 10;

    Kueri tersebut mengembalikan baris-baris dari file OSS. Jika tidak ada baris yang dikembalikan, periksa apakah endpoint, URL, dan kredensial sudah benar.

  3. Buat tabel tujuan internal:

    CREATE TABLE IF NOT EXISTS adb_oss_import_test
    (
        uid   STRING,
        other STRING
    )
    DISTRIBUTED BY HASH(uid);
  4. Impor data OSS ke tabel internal. Pilih salah satu metode berikut berdasarkan volume data Anda: Metode 1 — Impor sinkron (set data kecil): Gunakan INSERT INTO ketika kunci primer duplikat harus diabaikan (setara dengan INSERT IGNORE INTO):

    Penting

    Kedua perintah INSERT INTO dan INSERT OVERWRITE SELECT dijalankan secara sinkron. Untuk set data besar (ratusan gigabyte), pemutusan jaringan selama impor berdurasi panjang akan menyebabkan pekerjaan gagal. Gunakan Metode 2 sebagai gantinya.

    INSERT INTO adb_oss_import_test
    SELECT * FROM oss_import_test_external_table;

    Gunakan INSERT OVERWRITE ketika kunci primer duplikat harus menimpa baris yang sudah ada:

    INSERT OVERWRITE adb_oss_import_test
    SELECT * FROM oss_import_test_external_table;

    Metode 2 — Impor asinkron (set data besar, direkomendasikan): Kirim impor sebagai pekerjaan latar belakang menggunakan SUBMIT JOB. Anda dapat menambahkan petunjuk (/*+ direct_batch_load=true*/) untuk mempercepat proses muat:

    SUBMIT JOB INSERT OVERWRITE adb_oss_import_test
    SELECT * FROM oss_import_test_external_table;

    Perintah tersebut langsung mengembalikan ID pekerjaan:

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

    Untuk memantau status pekerjaan, lihat Asynchronously submit an import job.

  5. Setelah impor selesai, kueri tabel internal untuk memverifikasi data:

    SELECT * FROM adb_oss_import_test;

Referensi tabel eksternal OSS

Tabel non-partisi

CREATE TABLE [IF NOT EXISTS] table_name
(column_name column_type[, ...])
ENGINE='OSS'
TABLE_PROPERTIES='{
    "endpoint":                   "endpoint",
    "url":                        "oss://bucket-name/path/",
    "accessid":                   "your-access-key-id",
    "accesskey":                  "your-access-key-secret",
    "format":                     "text|orc|parquet",
    "delimiter":                  ";",
    "skip_header_line_count":     1,
    "charset":                    "utf-8"
}';

Referensi parameter:

ParameterWajibDeskripsi
ENGINE='OSS'YaDiatur ke OSS untuk semua tabel eksternal OSS.
endpointYaTitik akhir virtual private cloud (VPC) bucket OSS. AnalyticDB for MySQL mengakses OSS melalui VPC. Temukan titik akhir tersebut di halaman Overview bucket di Konsol OSS.
urlYaJalur ke objek atau direktori OSS. Tiga format didukung: jalur mutlak objek (oss://bucket/path/file.csv), jalur direktori yang diakhiri dengan / (oss://bucket/path/), atau pola wildcard yang diakhiri dengan * (oss://bucket/path/prefix*). Menetapkan url ke direktori mencakup semua objek dalam direktori tersebut.
accessidYaID AccessKey dari Akun Alibaba Cloud atau Pengguna Resource Access Management (RAM) yang memiliki izin OSS. Lihat Accounts and permissions.
accesskeyYaRahasia AccessKey untuk akun atau Pengguna RAM tersebut.
formatUntuk Parquet dan ORCDiatur ke parquet untuk file Parquet atau orc untuk file ORC. Jika dihilangkan, diasumsikan format CSV.
delimiterUntuk CSVKarakter pemisah kolom.
null_valueTidakString yang merepresentasikan NULL dalam file CSV. Default-nya adalah string kosong. Memerlukan versi kluster V3.1.4.2 atau lebih baru.
ossnullTidakAturan deteksi NULL untuk file CSV. 1 (default): hanya string kosong. 2: hanya string kosong yang dikutip. 3: keduanya. 4: tidak satupun.
skip_header_line_countTidakJumlah baris header yang dilewati. Default-nya adalah 0. Atur ke 1 untuk melewati baris pertama.
oss_ignore_quote_and_escapeTidakApakah tanda kutip dan karakter escape diabaikan. Default-nya adalah false. Memerlukan versi kluster V3.1.4.2 atau lebih baru.
charsetTidakSet karakter file. utf-8 (default) atau gbk. Memerlukan versi kluster V3.1.10.4 atau lebih baru.
Saat membuat tabel eksternal untuk file Parquet atau ORC:
Nama kolom dalam pernyataan CREATE TABLE harus sesuai dengan nama kolom dalam file (tidak case-sensitive).
Urutan kolom dalam pernyataan harus sesuai dengan urutan kolom dalam file.
Kolom dalam file yang tidak tercantum dalam pernyataan dikecualikan dari tabel.
Kolom yang tercantum dalam pernyataan tetapi tidak ada dalam file akan mengembalikan NULL.

Tabel partisi

Untuk data OSS yang diorganisir ke dalam partisi direktori bergaya Hive, tentukan partition_column untuk mengaktifkan pemangkasan partisi selama kueri.

Struktur direktori contoh:

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

Pernyataan pembuatan:

CREATE TABLE [IF NOT EXISTS] table_name
(column_name column_type[, ...])
ENGINE='OSS'
TABLE_PROPERTIES='{
    "endpoint":         "endpoint",
    "url":              "oss://bucket-name/parquet_partition_classic/",
    "accessid":         "your-access-key-id",
    "accesskey":        "your-access-key-secret",
    "format":           "parquet",
    "partition_column": "p1, p2, p3"
}';

Aturan kunci partisi:

  • Cantumkan kolom kunci partisi (partition_column) dalam urutan yang sama dengan hierarki direktori.

  • Letakkan kolom kunci partisi di end definisi kolom.

  • Kolom kunci partisi mendukung: BOOLEAN, TINYINT, SMALLINT, INT, INTEGER, BIGINT, FLOAT, DOUBLE, DECIMAL, VARCHAR, STRING, DATE, TIMESTAMP.

  • Kolom kunci partisi dapat dikueri dan ditampilkan seperti kolom lainnya.

Pemetaan tipe data antara Parquet, ORC, dan AnalyticDB for MySQL
Pemetaan tipe data antara Parquet dan AnalyticDB for MySQL

Dari Parquet ke AnalyticDB for MySQL:

Tipe dasar ParquetTipe logis ParquetTipe AnalyticDB for MySQL
BOOLEANBOOLEAN
INT32INT_8TINYINT
INT32INT_16SMALLINT
INT32INT atau INTEGER
INT64BIGINT
FLOATFLOAT
DOUBLEDOUBLE
FIXED_LEN_BYTE_ARRAY / BINARY / INT64 / INT32DECIMALDECIMAL
BINARYUTF-8VARCHAR / STRING / JSON
INT32DATEDATE
INT64TIMESTAMP_MILLISTIMESTAMP atau DATETIME
INT96TIMESTAMP atau DATETIME
Penting

Tabel eksternal Parquet dengan kolom bertipe STRUCT tidak dapat dibuat.

Pemetaan tipe data antara ORC dan AnalyticDB for MySQL

Dari ORC ke AnalyticDB for MySQL:

Tipe ORCJenis AnalyticDB for MySQL
BOOLEANBOOLEAN
BYTETINYINT
SHORTSMALLINT
INTINT atau INTEGER
LONGBIGINT
DECIMALDECIMAL
FLOATFLOAT
DOUBLEDOUBLE
BINARY / STRING / VARCHARVARCHAR / STRING / JSON
TIMESTAMPTIMESTAMP atau DATETIME
DATEDATE
Penting

Tabel eksternal ORC dengan tipe LIST, STRUCT, atau UNION tidak dapat dibuat. Tabel eksternal ORC dengan tipe MAP dapat dibuat tetapi tidak dapat dikueri.

Membaca file TEXT Hive

Untuk membaca file TEXT Hive menggunakan tabel eksternal CSV, escape delimiter default Hive:

  • Delimiter kolom default Hive \1 — escape sebagai \\1 dalam delimiter

  • Nilai NULL default Hive \N — escape sebagai \\\\N dalam null_value

  • Tipe Hive BINARY, CHAR(N), dan VARCHAR(N) semuanya dipetakan ke VARCHAR di AnalyticDB for MySQL

Contoh:

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 di Hive
    j TIMESTAMP,
    k DECIMAL(10, 4),
    l VARCHAR,  -- CHAR(10) di Hive
    m VARCHAR,  -- VARCHAR(100) di Hive
    n DATE
)
ENGINE='OSS'
TABLE_PROPERTIES='{
    "format":                       "csv",
    "endpoint":                     "oss-cn-hangzhou-internal.aliyuncs.com",
    "accessid":                     "LTAI****************",
    "accesskey":                    "<your-access-key-secret>",
    "url":                          "oss://testBucketname/adb_data/",
    "delimiter":                    "\\1",
    "null_value":                   "\\\\N",
    "oss_ignore_quote_and_escape":  "true",
    "ossnull":                      2
}';

Langkah selanjutnya

  • Untuk opsi ingesti data lainnya (Kafka, MySQL, dan lainnya), lihat Sumber data yang didukung.

  • Untuk mempelajari konsep dan kasus penggunaan AnalyticDB for MySQL, lihat Pengenalan produk.

  • Untuk meninjau detail penagihan Edisi Gudang Data, lihat Harga.