全部产品
Search
文档中心

AnalyticDB:Memulai dengan Data Warehouse Edition

更新时间:Jul 06, 2025

Topik ini menjelaskan cara memulai dengan AnalyticDB for MySQL Data Warehouse Edition. AnalyticDB for MySQL adalah layanan gudang data pemrosesan analitik online (OLAP) yang mampu memproses data konkuren hingga petabyte secara real-time. Panduan ini akan mengarahkan Anda melalui prosedur penggunaan kluster Data Warehouse Edition dari AnalyticDB for MySQL.

Penting

Data Warehouse Edition tidak tersedia untuk pembelian. Anda dapat membeli kluster Enterprise Edition atau Basic Edition. Jika Anda telah membeli kluster Data Warehouse Edition, Anda dapat merujuk pada topik ini untuk menggunakan kluster Data Warehouse Edition.

Proses penggunaan

Saat pertama kali menggunakan AnalyticDB for MySQL Data Warehouse Edition, disarankan untuk membaca topik-topik berikut:

  • Pengenalan produk: menjelaskan istilah, manfaat, dan skenario penggunaan AnalyticDB for MySQL.

  • Harga: Menjelaskan harga dan metode penagihan untuk AnalyticDB for MySQL.

  • Memulai (topik ini): menjelaskan cara menggunakan kluster AnalyticDB for MySQL Data Warehouse Edition.

Gambar berikut menunjukkan proses menggunakan AnalyticDB for MySQL Data Warehouse Edition:

Langkah 1: Buat akun database

AnalyticDB for MySQL mendukung dua jenis akun database: akun dengan hak istimewa dan akun standar. Untuk detail perbedaan antara kedua tipe akun tersebut, lihat bagian "Tipe Akun" dalam topik Buat Akun Database.

Buat akun istimewa

  1. Masuk ke Konsol AnalyticDB for MySQL. Di pojok kiri atas konsol, pilih wilayah. Pada panel navigasi di sebelah kiri, klik Clusters. Cari kluster yang ingin dikelola, lalu klik ID kluster tersebut.

  2. Di panel navigasi sebelah kiri, klik Accounts.

  3. Pada tab Accounts, klik Create Privileged Account.

  4. Di panel Create Account, konfigurasikan parameter berikut sesuai dengan tabel di bawah ini.

    Parameter

    Deskripsi

    Database Account

    Nama akun istimewa. Masukkan nama yang memenuhi persyaratan di layar.

    Account Type

    Tipe akun. Untuk kluster Data Warehouse Edition, parameter ini secara otomatis disetel ke Privileged Account.

    New Password

    Kata sandi akun istimewa. Masukkan kata sandi yang memenuhi persyaratan di layar.

    Confirm Password

    Masukkan kata sandi akun istimewa lagi.

    Description

    Opsional. Deskripsi yang digunakan untuk mengidentifikasi akun untuk pengelolaan di masa mendatang.

  5. Klik OK.

Buat dan berikan izin kepada akun standar

Akun standar yang dibuat dengan menjalankan pernyataan SQL tidak ditampilkan di konsol.

  • Untuk informasi tentang cara membuat akun database, lihat CREATE USER.

  • Untuk informasi tentang cara memberikan izin kepada akun database, lihat GRANT.

  • Untuk informasi tentang cara mencabut izin dari akun database, lihat REVOKE.

  • Untuk informasi tentang cara mengubah nama akun database, lihat RENAME USER.

  • Untuk informasi tentang cara menghapus akun database, lihat DROP USER.

Langkah 2: Konfigurasikan daftar putih alamat IP

  • Daftar putih alamat IP default dari kluster AnalyticDB for MySQL hanya berisi alamat IP default 127.0.0.1, yang menunjukkan bahwa tidak ada perangkat yang diizinkan untuk mengakses kluster. Anda dapat mengonfigurasi daftar putih alamat IP untuk mengizinkan perangkat lain mengakses kluster. Misalnya, Anda dapat menentukan 10.10.10.0/24 untuk mengizinkan semua alamat IP dalam 10.10.10.x mengakses kluster. Jika Anda ingin menambahkan beberapa alamat IP atau blok CIDR, pisahkan beberapa entri dengan koma (,). Jangan tambahkan spasi sebelum atau sesudah koma. Contoh: 192.168.0.1,172.16.213.9.

    Peringatan

    Alamat IP 0.0.0.0 tidak diperbolehkan dalam daftar putih.

  • Jika alamat IP publik Anda sering berubah dan Anda ingin mengizinkan semua alamat IP publik untuk mengakses kluster AnalyticDB for MySQL, silakan hubungi dukungan teknis.

  • Anda dapat mengonfigurasi daftar putih alamat IP untuk mengaktifkan kontrol akses terperinci pada kluster AnalyticDB for MySQL. Disarankan untuk memperbarui daftar putih secara berkala.

  • Konfigurasi daftar putih tidak memengaruhi operasi kluster AnalyticDB for MySQL. Perubahan pada daftar putih alamat IP akan berlaku dalam 1 menit.

Prosedur

  1. Masuk ke Konsol AnalyticDB for MySQL. Di pojok kiri atas, pilih wilayah. Pada panel navigasi di sebelah kiri, klik Clusters. Cari kluster yang ingin dikelola, lalu klik ID kluster tersebut.

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

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

    Catatan

    Anda juga dapat mengklik Create Whitelist untuk membuat daftar putih alamat IP.

  4. Di panel Edit Whitelist, hapus alamat IP default 127.0.0.1, lalu masukkan alamat IP atau blok CIDR yang ingin diizinkan. Klik OK.

    Catatan

    Untuk menambahkan alamat IP keluar klien ke daftar putih, pertama-tama periksa alamat IP tersebut. Untuk informasi lebih lanjut, lihat Koneksi.

Langkah 3: Hubungkan ke kluster AnalyticDB for MySQL

Anda dapat menghubungkan ke kluster AnalyticDB for MySQL menggunakan Data Management (DMS), alat visualisasi business intelligence (BI), alat baris perintah MySQL, atau klien MySQL seperti Navicat for MySQL, DBeaver, DbVisualizer, atau SQL Workbench/J.AnalyticDB for MySQL Anda juga dapat memasukkan informasi seperti titik akhir, port, dan akun database kluster AnalyticDB for MySQL dalam aplikasi Anda untuk menghubungkan ke kluster.

Gunakan DMS untuk menghubungkan ke AnalyticDB for MySQL

  1. Masuk ke Konsol AnalyticDB for MySQL. Di pojok kiri atas konsol, pilih wilayah. Pada panel navigasi di sebelah kiri, klik Clusters. Cari kluster yang ingin dikelola, lalu klik ID kluster tersebut.

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

  3. Dalam kotak dialog yang muncul, konfigurasikan parameter-parameter sesuai dengan tabel berikut.

    Parameter

    Deskripsi

    Database Type

    Tipe database kluster. Secara default, AnalyticDB MySQL 3.0 ditampilkan.

    Instance Region

    Wilayah kluster. Secara default, wilayah tempat kluster berada ditampilkan.

    Instance ID

    ID kluster. Secara default, ID kluster saat ini ditampilkan.

    Database Account

    Nama akun database yang digunakan untuk menghubungkan ke kluster.

    Database Password

    Kata sandi akun database yang digunakan untuk masuk ke kluster.

    Catatan

    Anda dapat memilih Remember Password. Dengan cara ini, lain kali Anda menghubungkan ke kluster AnalyticDB for MySQL saat ini, Anda tidak perlu memasukkan nama dan kata sandi akun database.

    Catatan
    • Saat pertama kali menghubungkan ke kluster AnalyticDB for MySQL menggunakan DMS, data dalam kluster dikelola dalam mode Flexible Management. Anda dapat mengubah mode kontrol dengan mengedit kluster. Untuk informasi lebih lanjut, lihat Modifikasi instansi database dan Mode kontrol.

    • Setelah mengonfigurasi parameter, klik Test Connection di pojok kiri bawah kotak dialog. Jika koneksi gagal, periksa informasi yang dimasukkan sesuai petunjuk, seperti parameter Akun Database atau Kata Sandi Database.

    • Sistem secara otomatis menambahkan alamat IP atau blok CIDR server DMS ke daftar putih alamat IP kluster. Jika penambahan alamat IP atau blok CIDR gagal, Anda harus melakukannya secara manual. Untuk informasi lebih lanjut, lihat bagian "Langkah 2: Konfigurasikan daftar putih alamat IP" pada topik ini dan Tambahkan alamat IP dan blok CIDR DMS ke pengaturan keamanan.

  4. Klik Login.

Gunakan kode untuk menghubungkan ke AnalyticDB for MySQL selama pengembangan aplikasi

Gunakan alat baris perintah MySQL untuk menghubungkan ke AnalyticDB for MySQL

Gunakan klien baris perintah MySQL untuk terhubung ke AnalyticDB for MySQL

Gunakan klien untuk menghubungkan ke AnalyticDB for MySQL

Gunakan alat visualisasi data untuk menghubungkan ke AnalyticDB for MySQL

Langkah 4: Buat database

Catatan

Anda dapat membuat hingga 2.048 database untuk setiap kluster AnalyticDB for MySQL.

  1. Pilih database sistem INFORMATION_SCHEMA dan masukkan perintah CREATE DATABASE di tab SQL Console.

    SQL Console

    • Sintaks: CREATE DATABASE [IF NOT EXISTS] $db_name.

    • Deskripsi parameter: Parameter db_name menentukan nama database yang akan dibuat. Nama tersebut dapat mencapai panjang hingga 64 karakter dan hanya boleh terdiri dari huruf, angka, serta garis bawah (_). Nama harus dimulai dengan huruf kecil dan tidak boleh mengandung garis bawah (_) secara berurutan.

      Catatan

      Jangan gunakan analyticdb sebagai nama database. Nama analyticdb disediakan untuk database internal.

    • Contoh:

      create database adb_demo;
      create database if not exists adb_demo2;
  2. Di pojok kiri atas tab SQLConsole, klik Execute. Database telah dibuat.

    数据库创建成功

Langkah 5: Impor dan kueri data

Prasyarat

  • Direktori dibuat dalam bucket Object Storage Service (OSS) dengan melakukan operasi berikut untuk menyimpan data yang diimpor dari kluster AnalyticDB for MySQL.

    1. Aktifkan OSS. Untuk informasi lebih lanjut, lihat Aktifkan OSS.

    2. Buat bucket OSS. Untuk informasi lebih lanjut, lihat Buat bucket.

      Penting

      Pastikan bucket OSS berada di wilayah yang sama dengan kluster AnalyticDB for MySQL.

    3. Buat direktori. Untuk informasi lebih lanjut, lihat bagian "Buat direktori" pada topik Kelola direktori.

    4. Unggah objek. Untuk informasi lebih lanjut, lihat Unggah objek.

      Dalam contoh ini, objek oss_import_test_data.txt diunggah ke direktori <bucket-name>.oss-cn-hangzhou.aliyuncs.com/adb/ di OSS. Pemisah baris adalah line feed, sedangkan pemisah kolom adalah titik koma (;). Kode berikut menampilkan sebagian data yang terdapat dalam objek ini:

      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
      ...     
  • Kluster AnalyticDB for MySQL telah dibuat. Daftar putih alamat IP telah dikonfigurasi untuk kluster tersebut, dan akun database serta database telah dibuat. Untuk informasi lebih lanjut, lihat Proses memulai dengan Data Warehouse Edition.

Prosedur

  1. Eksekusi pernyataan CREATE TABLE untuk membuat tabel eksternal di database adb_demo. Untuk panduan tentang pembuatan tabel eksternal OSS dalam format CSV, Parquet, atau TEXT, lihat bagian "Sintaks untuk membuat tabel eksternal OSS" pada topik ini.

  2. Kueri data OSS.

    Anda dapat mengkueri data tabel eksternal dengan cara yang sama seperti mengkueri data tabel internal di AnalyticDB for MySQL. Contoh:

    select uid, other from oss_import_test_external_table where uid < 100 limit 10;
    • Jika objek dalam format CSV atau TEXT dan berisi sejumlah besar data, disarankan untuk mengimpor objek ke AnalyticDB for MySQL sebelum menjalankan kueri. Jika tidak, kinerja kueri dapat terpengaruh.

    • Jika objek berformat Parquet, Anda dapat memilih untuk langsung mengkueri data atau mengimpor objek ke AnalyticDB for MySQL sebelum melakukan kueri.

  3. Eksekusi pernyataan CREATE TABLE untuk membuat tabel tujuan bernama adb_oss_import_test di database adb_demo guna menyimpan data yang diimpor dari Object Storage Service (OSS).

    CREATE TABLE IF NOT EXISTS adb_oss_import_test
    (
        uid string,
        other string
    )
    DISTRIBUTED BY HASH(uid);                  
  4. Eksekusi pernyataan INSERT untuk mengimpor data dari tabel eksternal OSS ke AnalyticDB for MySQL.

    Penting

    Secara default, pernyataan INSERT INTO dan INSERT OVERWRITE SELECT mengimpor data secara sinkron. Jika ratusan gigabyte data diimpor, klien harus mempertahankan koneksi dengan server AnalyticDB for MySQL selama periode waktu yang lama. Selama proses ini, impor dapat gagal akibat pemutusan jaringan. Oleh karena itu, untuk mengimpor sejumlah besar data, disarankan menggunakan pernyataan SUBMIT JOB INSERT OVERWRITE SELECT agar data diimpor secara asinkron.

    • Metode 1: Eksekusi pernyataan INSERT INTO untuk mengimpor data. Jika kunci utama memiliki nilai duplikat, data tidak akan dimasukkan ulang, dan pernyataan INSERT INTO akan setara dengan INSERT IGNORE INTO. Untuk informasi lebih lanjut, lihat INSERT INTO.

      INSERT INTO adb_oss_import_test
      SELECT * FROM oss_import_test_external_table;
    • Metode 2: Eksekusi pernyataan INSERT OVERWRITE untuk mengimpor data. Jika kunci utama memiliki nilai duplikat, nilai asli akan ditimpa oleh nilai baru.

      INSERT OVERWRITE adb_oss_import_test
      SELECT * FROM oss_import_test_external_table;
    • Metode 3: Eksekusi pernyataan INSERT OVERWRITE untuk mengimpor data secara asinkron. Dalam banyak kasus, pernyataan SUBMIT JOB digunakan untuk mengirimkan pekerjaan asinkron. Anda dapat menambahkan hint (/*+ direct_batch_load=true*/) sebelum pernyataan impor data guna mempercepat proses. Untuk informasi lebih lanjut, lihat bagian "Penulisan Asinkron" pada topik INSERT OVERWRITE SELECT.

      SUBMIT JOB INSERT OVERWRITE adb_oss_import_test
      SELECT * FROM oss_import_test_external_table;

      Contoh hasil:

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

      Untuk informasi tentang cara mengirimkan pekerjaan asinkron, lihat Kirim Pekerjaan Impor secara Asinkron.

  5. Jalankan pernyataan berikut untuk mengkueri data tabel adb_oss_import_test:

    SELECT * FROM adb_oss_import_test;

Sintaks untuk membuat tabel eksternal OSS

Tabel eksternal OSS tanpa partisi

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":"text|orc|parquet",
    "delimiter":";",
    "skip_header_line_count":1,
    "charset":"utf-8"
}';

Format tabel

Parameter

Diperlukan

Deskripsi

CSV, Parquet, atau ORC

ENGINE='OSS'

Ya

Mesin tabel. Atur nilai menjadi OSS.

endpoint

endpoint dari bucket OSS. AnalyticDB for MySQL hanya dapat mengakses OSS melalui virtual private cloud (VPC).

Catatan

Anda dapat masuk ke Konsol OSS, temukan bucket, dan kemudian dapatkan endpoint di halaman Overview.

url

Path objek OSS atau direktori. Nilai yang valid:

  • Path absolut objek OSS. Contoh: oss://testBucketname/adb/oss_import_test_data.csv.

  • Path direktori OSS yang diakhiri dengan garis miring (/). Contoh: oss://testBucketname/adb/.

    Catatan

    Jika Anda menyetel parameter ini ke path direktori OSS, tabel eksternal yang dibuat berisi semua data dalam direktori tersebut.

  • Path yang diakhiri dengan karakter wildcard asterisk (*), yang digunakan untuk mencocokkan semua objek dan direktori yang memenuhi pola tertentu. Contoh: oss://testBucketname/adb/list_file_with_prefix/test*.

    Catatan

    Path contoh di atas cocok dengan semua objek dan direktori yang memenuhi kriteria awalan tertentu, seperti oss://testBucketname/adb/list_file_with_prefix/testfile1 dan

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

accessid

ID AccessKey akun Alibaba Cloud atau Pengguna Resource Access Management (RAM) yang memiliki izin pada OSS.

Untuk informasi tentang cara mendapatkan ID AccessKey, lihat Akun dan izin.

accesskey

Rahasia AccessKey akun Alibaba Cloud atau Pengguna RAM yang memiliki izin pada OSS.

Untuk informasi tentang cara mendapatkan rahasia AccessKey, lihat Akun dan izin.

CSV

delimiter

Pemisah kolom objek CSV.

Parquet atau ORC

format

Format objek OSS.

  • Saat Anda membuat tabel eksternal dalam format Parquet, Anda harus menetapkan parameter ini ke parquet.

  • Saat Anda membuat tabel eksternal dalam format ORC, Anda harus menetapkan parameter ini ke orc.

Catatan
  • Anda hanya perlu menentukan parameter ini saat membuat tabel eksternal OSS dalam format Parquet atau ORC.

  • Jika Anda meninggalkan parameter format kosong, format CSV digunakan.

CSV

null_value

Tidak

Nilai NULL objek CSV. Secara default, string kosong didefinisikan sebagai NULL, yaitu "null_value": "".

Penting

Parameter ini hanya didukung untuk kluster AnalyticDB for MySQL versi V3.1.4.2 atau lebih baru.

ossnull

Aturan untuk mendefinisikan nilai NULL objek CSV. Nilai yang valid:

  • 1 (default): EMPTY_SEPARATORS. Hanya string kosong yang didefinisikan sebagai NULL.

    Sebagai contoh, a,"",,c ditafsirkan sebagai "a","",NULL,"c" berdasarkan aturan ini.

  • 2: EMPTY_QUOTES. Hanya tanda kutip ("") yang didefinisikan sebagai NULL.

    Sebagai contoh, a,"",,c ditafsirkan sebagai "a",NULL,"","c" berdasarkan aturan ini.

  • 3: BOTH. Baik string kosong maupun tanda kutip ("") didefinisikan sebagai NULL.

    Sebagai contoh, a,"",,c ditafsirkan sebagai "a",NULL,NULL,"c" berdasarkan aturan ini.

  • 4: NEITHER. String kosong dan tanda kutip ("") tidak didefinisikan sebagai NULL.

    Sebagai contoh, a,"",,c ditafsirkan sebagai "a","","","c" berdasarkan aturan ini.

Catatan

Contoh-contoh di atas disediakan dengan prasyarat "null_value": "".

skip_header_line_count

Jumlah baris header yang dilewati saat Anda mengimpor data. Baris pertama objek CSV adalah header tabel. Jika Anda menetapkan parameter ini ke 1, baris pertama objek dilewati saat Anda mengimpor data.

Nilai default parameter ini adalah 0, yang menentukan bahwa tidak ada baris yang dilewati.

oss_ignore_quote_and_escape

Menentukan apakah akan mengabaikan tanda kutip (") dan karakter escape. Nilai default parameter ini adalah false, yang menentukan bahwa tanda kutip (") dan karakter escape tidak diabaikan.

Penting

Parameter ini hanya didukung untuk kluster AnalyticDB for MySQL versi V3.1.4.2 atau lebih baru.

charset

Karakter set yang digunakan oleh tabel eksternal OSS. Nilai yang valid:

  • utf-8 (default)

  • gbk

Penting

Parameter ini hanya didukung untuk kluster AnalyticDB for MySQL versi V3.1.10.4 atau lebih baru.

Catatan
  • Nama kolom yang digunakan dalam pernyataan untuk membuat tabel eksternal harus sama dengan nama kolom dalam file Parquet atau ORC. Nama kolom bersifat case-insensitive. Urutan kolom dalam pernyataan harus sama dengan urutan dalam file Parquet atau ORC.

  • Saat Anda membuat tabel eksternal, Anda dapat memilih hanya kolom tertentu dalam file Parquet atau ORC sebagai kolom tabel eksternal. Kolom yang tidak dipilih dalam file Parquet atau ORC tidak diimpor.

  • Jika pernyataan yang digunakan untuk membuat tabel eksternal berisi kolom yang tidak ada dalam file Parquet atau ORC, NULL dikembalikan untuk kolom tersebut.

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

Tipe dasar di Parquet

Tipe logis di Parquet

Tipe data di AnalyticDB for MySQL

BOOLEAN

N/A

BOOLEAN

INT32

INT_8

TINYINT

INT32

INT_16

SMALLINT

INT32

N/A

INT atau INTEGER

INT64

N/A

BIGINT

FLOAT

N/A

FLOAT

DOUBLE

N/A

DOUBLE

  • FIXED_LEN_BYTE_ARRAY

  • BINARY

  • INT64

  • INT32

DECIMAL

DECIMAL

BINARY

UTF-8

  • VARCHAR

  • STRING

  • JSON (tersedia jika objek Parquet berisi kolom bertipe JSON)

INT32

DATE

DATE

INT64

TIMESTAMP_MILLIS

TIMESTAMP atau DATETIME

INT96

N/A

TIMESTAMP atau DATETIME

Penting

Tabel eksternal Parquet yang menggunakan kolom bertipe STRUCT tidak dapat dibuat.

Pemetaan tipe data antara ORC dan AnalyticDB for MySQL

Tipe data di ORC

Tipe data di AnalyticDB for MySQL

BOOLEAN

BOOLEAN

BYTE

TINYINT

SHORT

SMALLINT

INT

INT atau INTEGER

LONG

BIGINT

DECIMAL

DECIMAL

FLOAT

FLOAT

DOUBLE

DOUBLE

  • BINARY

  • STRING

  • VARCHAR

  • VARCHAR

  • STRING

  • JSON (tersedia jika objek ORC berisi kolom bertipe JSON)

TIMESTAMP

TIMESTAMP atau DATETIME

DATE

DATE

Penting

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

AnalyticDB for MySQL memungkinkan Anda membaca dan menulis data file TEXT di Hive menggunakan tabel eksternal OSS dalam format CSV. Pernyataan berikut dapat digunakan untuk membuat tabel eksternal:

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
}';
Catatan

Saat Anda membuat tabel eksternal OSS dalam format CSV untuk membaca dan menulis data file TEXT di Hive, perhatikan hal-hal berikut:

  • Pemisah kolom default untuk file TEXT di Hive adalah \1. Jika Anda ingin menggunakan tabel eksternal OSS untuk membaca dan menulis data file TEXT di Hive, \1 harus di-escape menjadi \\1 pada parameter delimiter.

  • Secara default, nilai NULL untuk file TEXT di Hive adalah \N. Jika Anda ingin menggunakan tabel eksternal OSS untuk membaca dan menulis data file TEXT di Hive, \N harus di-escape menjadi \\\\N pada parameter null_value.

  • Tipe BINARY, CHAR(N), dan VARCHAR(N) di Hive sesuai dengan tipe VARCHAR di AnalyticDB for MySQL. Tipe data dasar lainnya di Hive, seperti BOOLEAN, juga memiliki kesesuaian yang sama di AnalyticDB for MySQL.

Tabel eksternal OSS terpartisi

Direktori hierarkis dihasilkan untuk data OSS yang berisi partisi. 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

Pada contoh di atas, p1 menunjukkan partisi level-1, p2 menunjukkan partisi level-2, dan p3 menunjukkan partisi level-3. Untuk mengkueri data berdasarkan partisi, Anda harus menentukan kolom kunci partisi dalam pernyataan yang digunakan untuk membuat tabel eksternal OSS. Pernyataan berikut menunjukkan cara membuat tabel eksternal OSS dan menentukan kolom kunci partisi. Dalam contoh ini, objek Parquet digunakan.

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"
}';
Catatan
  • Properti partition_column dalam parameter TABLE_PROPERTIES menentukan kolom kunci partisi (p1, p2, dan p3 dalam contoh). Kolom kunci partisi yang ditentukan oleh properti partition_column harus sesuai dengan tingkat partisi dari data sampel.

  • Saat mendefinisikan kolom dalam pernyataan, Anda harus menyertakan kolom kunci partisi (p1, p2, dan p3 dalam contoh) beserta tipe datanya. Kolom kunci partisi harus ditempatkan di akhir definisi kolom.

  • Kolom kunci partisi yang didefinisikan dalam pernyataan harus mengikuti urutan yang sama dengan kolom kunci partisi yang ditentukan oleh properti partition_column.

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

  • Saat mengkueri data, kolom kunci partisi dapat ditampilkan dan digunakan seperti kolom lainnya.

  • Jika parameter format dibiarkan kosong, format CSV akan digunakan secara default.

  • Untuk informasi lebih lanjut tentang parameter lainnya, lihat tabel parameter dalam bagian "Tabel Eksternal OSS Tanpa Partisi" pada topik ini.

Referensi

Untuk informasi lebih lanjut tentang cara mengimpor data ke AnalyticDB for MySQL, lihat Sumber Data yang Didukung.