ApsaraDB for SelectDB bekerja sama dengan Object Storage Service (OSS) untuk menyediakan fitur impor berkecepatan tinggi melalui jaringan internal. Anda dapat menggunakan fitur ini untuk mengimpor ratusan GB data sekaligus. Topik ini menjelaskan cara menggunakan OSS untuk mengimpor data ke instans ApsaraDB for SelectDB.
Prasyarat
Pasangan Kunci Akses telah diperoleh. Untuk informasi lebih lanjut, lihat Buat Pasangan Kunci Akses.
OSS telah diaktifkan dan Bucket OSS telah dibuat. Bucket OSS berada di wilayah yang sama dengan instans ApsaraDB for SelectDB tempat Anda ingin mengimpor data. Untuk informasi lebih lanjut, lihat Mulai menggunakan Konsol OSS.
Bucket OSS berada di wilayah yang sama dengan instans ApsaraDB for SelectDB. OSS dapat diakses melalui virtual private cloud (VPC).
Sintaks untuk mengimpor data
LOAD LABEL load_label
(
data_desc1[, data_desc2, ...]
)
WITH S3
(
"AWS_PROVIDER" = "OSS",
"AWS_REGION" = "REGION",
"AWS_ENDPOINT" = "ENDPOINT",
"AWS_ACCESS_KEY" = "ID AccessKey",
"AWS_SECRET_KEY"="Rahasia AccessKey"
)
PROPERTIES
(
"key1"="value1", ...
);ApsaraDB for SelectDB memungkinkan Anda mengimpor data dari semua sistem penyimpanan objek yang kompatibel dengan protokol Amazon Simple Storage Service (Amazon S3). Oleh karena itu, sintaks untuk mengimpor data menggunakan kata kunci seperti AWS dan S3.
Parameter
Parameter data_desc1 digunakan untuk menggambarkan sekelompok file yang akan diimpor. Contoh kode berikut memberikan definisi lengkap dari parameter tersebut.
[MERGE|APPEND|DELETE]
DATA INFILE
(
"file_path1"[, file_path2, ...]
)
[NEGATIVE]
INTO TABLE `table_name`
[PARTITION (p1, p2, ...)]
[COLUMNS TERMINATED BY "column_separator"]
[FORMAT AS "file_type"]
[(column_list)]
[COLUMNS FROM PATH AS (c1, c2, ...)]
[PRECEDING FILTER predicate]
[SET (column_mapping)]
[WHERE predicate]
[DELETE ON expr]
[ORDER BY source_sequence]
[PROPERTIES ("key1"="value1", ...)]Parameter | Deskripsi |
| Jenis penggabungan data. Secara default, parameter ini disetel ke |
| Jalur file yang akan diimpor. Anda dapat menentukan beberapa nilai untuk parameter ini. Wildcard didukung. Jalur yang Anda tentukan harus berupa jalur file. Jika jalur tersebut adalah jalur direktori, impor gagal. |
| Data batch ini diimpor dengan metode negatif. Metode ini hanya berlaku untuk tabel yang diagregasi menggunakan metode SUM dan berisi bilangan bulat. Dalam metode ini, bilangan bulat yang sesuai dengan kolom yang diagregasi dalam data yang diimpor menggunakan metode SUM dibalik untuk mengimbangi data kesalahan yang diimpor. |
| Partisi tabel yang akan diimpor. Data yang tidak berada di partisi yang ditentukan diabaikan. |
| Pemisah kolom. Pemisah kolom hanya valid dalam file format |
| Format file yang akan diimpor. Nilai valid: |
| Urutan kolom dalam file sumber. Untuk informasi lebih lanjut, lihat Mengonversi Data Sumber. |
| Kolom yang diekstraksi dari file yang akan diimpor. |
| Kondisi preset untuk menyaring data. Data digabungkan ke dalam baris data sumber secara berurutan berdasarkan nilai parameter |
| Fungsi yang digunakan untuk mengonversi kolom tertentu. |
| Kondisi berdasarkan mana data yang diimpor disaring. Untuk informasi lebih lanjut, lihat Mengonversi Data Sumber. |
| Parameter ini harus digunakan bersama dengan jenis penggabungan data |
| Kolom sequence_col dalam data yang akan diimpor. Parameter ini hanya berlaku untuk tabel dalam model Unique key dan memastikan urutan data saat data diimpor. |
| Parameter yang menentukan format file yang akan diimpor. Jika file yang akan diimpor dalam format |
Tabel berikut menjelaskan parameter yang digunakan untuk mengonfigurasi layanan penyimpanan cloud.
Parameter | Deskripsi |
| Penyedia layanan penyimpanan objek, yang tetap pada OSS. |
| Wilayah tempat data OSS yang akan diakses berada. |
| Merupakan Penting Pastikan bahwa Bucket OSS dan instans ApsaraDB for SelectDB Anda berada di wilayah yang sama. |
|
|
|
|
Tabel berikut menjelaskan bidang dari PROPERTIES.
Bidang | Deskripsi |
| Periode timeout untuk pekerjaan impor. Unit: detik. Nilai default: |
| Rasio maksimum data yang dapat disaring. Misalnya, data disaring karena tidak sesuai dengan standar. Nilai default: |
| Ukuran maksimum memori yang tersedia untuk pekerjaan impor. Unit: byte. Nilai default: |
| Menentukan apakah akan mengaktifkan mode ketat untuk pekerjaan impor. Nilai default: |
| Zona waktu untuk fungsi terkait zona waktu, seperti |
| Jumlah maksimum pekerjaan impor yang dapat berjalan secara bersamaan pada satu waktu. Nilai default: |
| Jumlah maksimum pekerjaan konkuren untuk mengirim data untuk diproses dalam batch. Jika nilai parameter ini lebih besar dari nilai parameter |
| Menentukan apakah akan mengimpor data hanya ke satu tablet dari partisi yang sesuai. Nilai default: |
Contoh
Buat tabel tempat Anda ingin mengimpor data di instans ApsaraDB for SelectDB. Contoh kode:
CREATE TABLE test_table ( id int, name varchar(50), age int, address varchar(50), url varchar(500) ) DISTRIBUTED BY HASH(id) BUCKETS 4 PROPERTIES("replication_num" = "1");Buat file yang akan diimpor, bernama
test_file.txt. Contoh kode:1,yang,32,shanghai,http://example.com 2,wang,22,beijing,http://example.com 3,xiao,23,shenzhen,http://example.com 4,jess,45,hangzhou,http://example.com 5,jack,14,shanghai,http://example.com 6,tomy,25,hangzhou,http://example.com 7,lucy,45,shanghai,http://example.com 8,tengyin,26,shanghai,http://example.com 9,wangli,27,shenzhen,http://example.com 10,xiaohua,37,shanghai,http://example.comImpor data menggunakan OSS Load. Contoh kode:
LOAD LABEL test_db.test_label_1 ( DATA INFILE("s3://your_bucket_name/test_file.txt") INTO TABLE test_table COLUMNS TERMINATED BY "," ) WITH S3 ( "AWS_PROVIDER" = "OSS", "AWS_REGION" = "oss-cn-beijing", "AWS_ENDPOINT" = "oss-cn-beijing-internal.aliyuncs.com", "AWS_ACCESS_KEY" = "<your_access_key>", "AWS_SECRET_KEY"="<your_secret_key>" ) PROPERTIES ( "timeout" = "3600" );CatatanJalur Bucket OSS harus dimulai dengan s3://.
Batalkan pekerjaan OSS Load
Jika pekerjaan OSS Load tidak dalam status CANCELLED atau FINISHED, Anda dapat membatalkan pekerjaan tersebut secara manual. Anda harus menentukan label dari pekerjaan impor yang akan dibatalkan. Setelah pekerjaan impor dibatalkan, data yang telah ditulis dalam pekerjaan tersebut dikembalikan dan tidak berlaku.
Sintaks
CANCEL LOAD
[FROM db_name]
WHERE [LABEL = "load_label" | LABEL like "label_pattern"];Parameter
Parameter | Deskripsi |
| Nama database. Secara default, jika Anda tidak menentukan parameter ini, database saat ini digunakan. |
|
|
Contoh
Batalkan pekerjaan impor yang
label-nya adalahexample_db_test_load_labeldari databaseexample_db.CANCEL LOAD FROM example_db WHERE LABEL = "example_db_test_load_label";Batalkan pekerjaan impor yang label-nya mengandung
example_ daridatabase example_db.CANCEL LOAD FROM example_db WHERE LABEL like "example_";
Lihat pekerjaan impor data import
OSS Load adalah metode impor data asinkron. Jika pernyataan impor data berhasil dieksekusi, pekerjaan OSS Load berhasil dikomit tetapi data mungkin belum diimpor. Untuk menanyakan status pekerjaan Broker Load, Anda dapat mengeksekusi pernyataan SHOW LOAD.
Sintaks
SHOW LOAD
[FROM db_name]
[
WHERE
[LABEL [ = "your_label" | LIKE "label_matcher"]]
[STATE = ["PENDING"|"ETL"|"LOADING"|"FINISHED"|"CANCELLED"|]]
]
[ORDER BY ...]
[LIMIT limit][OFFSET offset];Parameter
Parameter | Deskripsi |
| Nama database. Secara default, jika Anda tidak menentukan parameter ini, database saat ini digunakan. |
|
|
| Status pekerjaan impor. Anda hanya dapat melihat pekerjaan impor yang berada dalam status tertentu. |
| Urutan pengurutan catatan data yang dikembalikan. |
|
|
| Jumlah catatan awal yang dilewati sebelum hasil kueri mulai ditampilkan. Nilai default: |
Contoh
Tanyakan pekerjaan impor yang label-nya mengandung
2014_01_02di databaseexample_db, dan tampilkan 10 pekerjaan impor yang disimpan paling lama.SHOW LOAD FROM example_db WHERE LABEL LIKE "2014_01_02" LIMIT 10;Tanyakan pekerjaan impor yang label-nya adalah
load_example_db_20140102di databaseexample_dbdan urutkan pekerjaan ini berdasarkanLoadStartTimesecara menurun.SHOW LOAD FROM example_db WHERE LABEL = "load_example_db_20140102" ORDER BY LoadStartTime DESC;Tanyakan pekerjaan impor yang dalam status loading dan label-nya adalah load_example_db_20140102 di database example_db.
SHOW LOAD FROM example_db WHERE LABEL = "load_example_db_20140102" AND STATE = "loading";Tanyakan pekerjaan impor di database
example_dbdan urutkan pekerjaan ini berdasarkanLoadStartTimesecara menurun. Lewati lima hasil kueri awal dan tampilkan sepuluh hasil kueri berikutnya.SHOW LOAD FROM example_db ORDER BY LoadStartTime DESC limit 5,10; SHOW LOAD FROM example_db ORDER BY LoadStartTime DESC limit 10 offset 5;