ApsaraDB for SelectDB veri geçiş özelliğini veya Catalog kullanarak verileri StarRocks'tan ApsaraDB for SelectDB'ye geçirebilirsiniz. Veri hacmine ve iş senaryonuza bağlı olarak uygun bir yöntem seçebilirsiniz. Bu konuda, çevrimdışı verileri StarRocks'tan ApsaraDB for SelectDB'ye geçirmek için Catalog'un nasıl kullanılacağı açıklanmaktadır.
Geçiş yöntemi seçme
İş senaryonuz için en uygun geçiş yöntemini seçmek üzere aşağıdaki tabloyu kullanın.
|
Yöntem |
Kullanım durumları |
Avantajlar |
Yordam |
|
ApsaraDB for SelectDB veri geçiş özelliğini kullanın (Önerilen) |
Tüm senaryolar için geçerlidir. |
|
|
|
catalog |
Zaten Alibaba Cloud üzerinde bulunan veriler için. Not
Bu, Alibaba Cloud E-MapReduce kümelerini içeren senaryoları kapsar. |
|
Bu konuda, StarRocks'tan SelectDB ürününe çevrimdışı verilerin nasıl geçirileceğini açıklamak amacıyla catalog örneği kullanılmaktadır.
Catalog kullanarak veri geçirme
Ön koşullar
-
StarRocks örneğiniz ile ApsaraDB for SelectDB örneğiniz arasında SelectDB bağlantısının bulunduğundan emin olun.
SelectDB kümesinin tüm düğümleri ve ApsaraDB for SelectDB örneği aynı VPC içinde yer alır. Farklı VPC'lerde bulunuyorlarsa öncelikle ağ bağlantısını kurmanız gerekir. Daha fazla bilgi için bkz. ApsaraDB for SelectDB örneği ile bir veri kaynağı arasında ağ bağlantısı nasıl kurulur?
StarRocks örneğinin IP adresini ApsaraDB for SelectDB örneğinin SelectDB listesine ekleyin. Daha fazla bilgi için bkz. Beyaz liste yapılandırma.
-
StarRocks örneğiniz beyaz liste kullanıyorsa SelectDB örneğinizin bulunduğu VPC'nin CIDR bloğunu StarRocks beyaz listesine ekleyin.
SelectDB örneğinizin bulunduğu VPC'nin IP aralığını öğrenmek için bkz. ApsaraDB for SelectDB örneğimin bulunduğu VPC'nin IP CIDR bloğunu nasıl bulabilirim?
SelectDB örneğinizin genel IP adresini almak için genel uç noktasında
pingkomutunu çalıştırın SelectDB.
Catalog'lar ve temel işlemleri hakkında bilgi sahibi olun. Daha fazla bilgi için bkz. Lakehouse Veri İşleme.
Örnek ortam
Bu örnekte StarRocks'taki starRocks_db veritabanındaki SR_t tablosundaki verilerin SelectDB ürünündeki test_db veritabanındaki test_SR2SelectDB tablosuna nasıl geçirileceği gösterilmektedir. Geçiş işlemini gerçekleştirirken parametreleri gerektiği şekilde değiştirin. Örnek ortam aşağıdaki gibidir:
Hedef veritabanı: test_db
Hedef tablo: test_SR2SelectDB
Kaynak veritabanı: starRocks_db
Kaynak tablo: SR_t
Örnek: Kaynak verileri hazırlama
Kaynak StarRocks örneğinizde oturum açın ve aşağıdaki adımları tamamlayın.
-
Bir veritabanı oluşturun.
CREATE DATABASE starRocks_db; -
Bir tablo oluşturun.
CREATE TABLE SR_t ( id int, name string, age int ) DISTRIBUTED BY HASH(id) BUCKETS 4 PROPERTIES("replication_num" = "1"); -
Veri ekleyin.
INSERT INTO SR_t VALUES (1, 'Alice', 25), (2, 'Bob', 30), (3, 'Charlie', 35), (4, 'David', 40), (5, 'Eve', 45);
Yordam
-
SelectDB örneğine bağlanın. Daha fazla bilgi için bkz. Örneğe bağlanma.
NotData Management Service (DMS) kullanarak oturum açtığınızda
SWITCHkomutu çalışmaz. Bir MySQL istemcisi kullanarak bağlanın. -
Bir StarRocks JDBC catalog'u oluşturun. Daha fazla bilgi için bkz. JDBC veri kaynağı.
CREATE CATALOG starrocks_catalog PROPERTIES ( "type"="jdbc", "user"="root", "password"="123456", "jdbc_url" = "jdbc:mysql://127.0.0.1:3306/demo", "driver_url" = "mysql-connector-java-8.0.25.jar", "driver_class" = "com.mysql.cj.jdbc.Driver", "checksum" = "fdf55dcef04b09f2eaf42b75e61ccc9a" )Parametreler
Parametre
Gerekli
Varsayılan değer
Açıklama
user
Evet
Yok
StarRocks veritabanının hesabı.
password
Evet
Yok
StarRocks veritabanının parolası.
jdbc_url
Evet
Yok
JDBC bağlantı dizesi. StarRocks veritabanının bağlantı adresini içermelidir.
driver_url
Evet
Yok
JDBC sürücüsü JAR paketinin adı.
Not-
mysql-connector-java-8.0.25.jarkullanın. -
Farklı bir JAR paketi kullanmak için destek talebi oluşturun.
driver_class
Evet
Yok
JDBC sürücüsünün sınıf adı.
Bu parametreyi
com.mysql.cj.jdbc.Driverolarak ayarlayın.lower_case_table_names
(Sürüm 4,0'da lower_case_meta_names olarak yeniden adlandırıldı)
Hayır
"false"
Harici JDBC veri kaynağından gelen veritabanı ve tablo adlarının küçük harfle eşitlenip eşitlenmeyeceğini belirtir.
true: Küçük harfli adlardan uzak sistemdeki gerçek adlara bir eşleme tutarak küçük harf olmayan adlara sahip veritabanlarını ve tabloları sorgulamanıza olanak tanır. Bu durumda veritabanı, tablo ve sütun adlarının tamamı küçük harfe dönüştürülür.
false: Küçük harf olmayan adlara sahip veritabanlarını ve tabloları sorgulayamazsınız.
Önemli-
SelectDB 3.0 için:
-
FE'nin
lower_case_table_namesparametresi1veya2olarak ayarlanmışsa catalog'unlower_case_table_namesparametresinitrueolarak ayarlamanız gerekir. -
FE'nin
lower_case_table_namesparametresi0olarak ayarlanmışsa catalog parametresitrueveyafalseolarak ayarlanabilir.
-
-
SelectDB 4.0 için:
-
FE'nin
lower_case_table_namesparametresi0veya2olarak ayarlanmışsa veritabanı, tablo ve sütun adları dönüştürülmez. -
FE'nin
lower_case_table_namesparametresi1olarak ayarlanmışsa tablo adları küçük harfe dönüştürülür ancak veritabanı ve sütun adları dönüştürülmez.
-
only_specified_database
Hayır
"false"
Yalnızca belirtilen veritabanının eşitlenip eşitlenmeyeceğini belirtir.
true: Yalnızca JDBC URL'sinde belirtilen veritabanını eşitler.
false: JDBC URL'sindeki tüm veritabanlarını eşitler.
include_database_list
Hayır
""
only_specified_database=trueolduğunda eşitlenecek veritabanlarını belirtir. Birden çok veritabanını virgülle (,) ayırın. Veritabanı adları büyük/küçük harfe duyarlıdır.exclude_database_list
Hayır
""
only_specified_database=trueolduğunda eşitlemeden hariç tutulacak veritabanlarını belirtir. Birden çok veritabanını virgülle (,) ayırın. Veritabanı adları büyük/küçük harfe duyarlıdır.meta_names_mapping
Hayır
""
Harici veri kaynağında yalnızca büyük/küçük harf farkı olan DORIS ve doris gibi adlar varsa catalog'u sorgulamak belirsizlik nedeniyle hataya neden olabilir. Bu durumda çakışmayı çözmek için
meta_names_mappingparametresini yapılandırın.Daha fazla bilgi için bkz. Büyük/küçük harf duyarlılığı ayarları.
ÖnemliBu parametre yalnızca SelectDB 4,0 için geçerlidir.
-
-
Catalog'u görüntüleyin.
SHOW CATALOGS; -- Check if the catalog was created successfully.Aşağıdaki sonuç döndürülür.
+--------------+--------------+----------+-----------+-------------------------+---------------------+------------------------+ | CatalogId | CatalogName | Type | IsCurrent | CreateTime | LastUpdateTime | Comment | +--------------+--------------+----------+-----------+-------------------------+---------------------+------------------------+ | 436009309195 | SR_catalog | jdbc | | 2024-08-06 17:09:08.058 | 2024-07-19 18:04:37 | | | 0 | internal | internal | yes | UNRECORDED | NULL | Doris internal catalog | +--------------+--------------+----------+-----------+-------------------------+---------------------+------------------------+ -
(İsteğe bağlı) Harici catalog SR_catalog'a geçin.
Harici catalog SR_catalog'taki verilere dahili bir catalog'ta olduğu gibi bakabilir ve erişebilirsiniz.
NotŞu anda Alibaba Cloud SelectDB yalnızca harici catalog'lardaki verilerde okuma işlemlerini destekler.
SWITCH SR_catalog; -
(İsteğe bağlı) Dahili catalog'a geçin.
4. Adımı gerçekleştirmediyseniz bu adımı atlayın.
SWITCH internal; -
(İsteğe bağlı) Bir veritabanı oluşturun.
Hedef veritabanını zaten oluşturduysanız bu adımı atlayın.
CREATE database test_db; -
Hedef veritabanına geçin.
USE test_db; -
Bir tablo oluşturun.
Zaten bir hedef tablonuz varsa hedef tablodaki sütun türlerinin StarRocks kaynak verisindeki sütun türleriyle eşleştiğini kontrol edin.
Bir hedef tablonuz yoksa tabloyu oluştururken sütun türlerinin StarRocks kaynak verisindeki sütun türleriyle eşleştiğinden emin olun.
Sütun eşleme hakkında daha fazla bilgi için bkz. Tür eşleme.
CREATE TABLE test_SR2SelectDB ( id int, name string, age int ) DISTRIBUTED BY HASH(id) BUCKETS 4 PROPERTIES("replication_num" = "1"); -
Verileri geçirin.
INSERT INTO test_SR2SelectDB SELECT * FROM doris_catalog.SR_db.SR_t; -
Veri içe aktarma durumunu kontrol edin.
SELECT * FROM test_SR2SelectDB;
Artımlı verileri geçirme
Üretim ortamındaki StarRocks verileri hem çevrimdışı hem de artımlı verileri içerir. StarRocks'tan SelectDB ürününe veri geçirmenin yaygın bir kullanım durumu verileri sorgu hızlandırma amacıyla bir veri ambarına kopyalamaktır. Artımlı verileri geçirmek için aşağıdaki yöntemlerden birini göz önünde bulundurun:
SelectDB için veri üretirken verilerin bir kopyasını aynı anda SelectDB ürününe yazabilirsiniz.
Bölümlenmiş verileri StarRocks'tan periyodik olarak okuyup SelectDB ürününe yazın.