AnalyticDB for MySQL 3.0 veri kaynağı, çift yönlü bir kanal üzerinden AnalyticDB for MySQL 3.0'dan veri okumanızı ve bu sisteme veri yazmanızı sağlar. Bu konu, DataWorks tarafından desteklenen AnalyticDB for MySQL 3.0 veri senkronizasyonu yeteneklerini açıklar.
Sınırlamalar
Ortak kaynak grubunda ADB Lakehouse Edition veri kaynağı için senkronizasyon görevlerini yapılandıramaz veya çalıştıramazsınız.
ADB veri kaynağında yapılandırılan bir örnek, Data Warehouse Edition'dan Lakehouse Edition'a geçiş yaparsa ortak kaynak grubunda bu veri kaynağını kullanan senkronizasyon görevleri başarısız olur. Sürüm değiştirmeden önce ortak kaynak grubunda çalışan görev olup olmadığını kontrol edin ve varsa bunları Serverless kaynak grubuna (önerilen) veya Veri Entegrasyonu için özel bir kaynak grubuna taşıyın.
Toplu iş senkronizasyonu görünüm (VIEW tabloları) okumayı destekler.
Desteklenen alan türleri
Toplu iş okuma
Aşağıdaki tabloda AnalyticDB for MySQL 3.0 Reader için AnalyticDB for MySQL 3.0 tür eşlemeleri listelenmiştir.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Toplu iş yazma
Aşağıdaki tabloda AnalyticDB for MySQL 3.0 Writer için AnalyticDB for MySQL 3.0 tür eşlemeleri listelenmiştir.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Veri kaynağı ekleme
DataWorks'te bir senkronizasyon görevi geliştirmeden önce gerekli veri kaynağını Veri kaynağı yapılandırması bölümündeki talimatları izleyerek DataWorks'e eklemeniz gerekir. Veri kaynağı eklerken parametrelerin anlamlarını anlamak için DataWorks konsolundaki parametre açıklamalarını görüntüleyebilirsiniz.
Veri senkronizasyonu görevlerini geliştirme
Senkronizasyon görevini yapılandırma giriş noktası ve prosedürü hakkında bilgi için aşağıdaki yapılandırma kılavuzlarına bakın.
Tek tablo toplu iş senkronizasyonu görevini yapılandırma
Prosedür için bkz. Kodsuz UI yapılandırması ve Betik modu yapılandırması.
Tüm betik modu parametreleri ve örnek betikler için bkz. Ek: Örnek betikler ve parametreler.
Tek tablo gerçek zamanlı senkronizasyon görevini yapılandırma
Prosedür için bkz. Tek tablo gerçek zamanlı senkronizasyon görevi yapılandırması.
Tam veritabanı toplu iş senkronizasyonu görevini yapılandırma
Prosedür için bkz. Toplu veritabanı senkronizasyonu yapılandırması.
Tam veritabanı gerçek zamanlı senkronizasyon görevini yapılandırma
Prosedür için bkz. Gerçek zamanlı tam veritabanı senkronizasyon görevlerini yapılandırma.
Ek: Örnek betikler ve parametreler
Kod düzenleyici kullanarak toplu iş senkronizasyonu görevini yapılandırma
Toplu iş senkronizasyonu görevini kod düzenleyici kullanarak yapılandırmak istiyorsanız birleşik betik biçimi gereksinimlerine göre betikteki ilgili parametreleri yapılandırmanız gerekir. Daha fazla bilgi için bkz. Betik modu yapılandırması. Aşağıdaki bilgiler, kod düzenleyici kullanarak toplu iş senkronizasyonu görevini yapılandırırken veri kaynakları için yapılandırmanız gereken parametreleri açıklar.
Reader örnek betiği
{ "type": "job", "steps": [ { "stepType": "analyticdb_for_mysql", //Plug-in name. "parameter": { "column": [ //Column names. "id", "value", "table" ], "connection": [ { "datasource": "xxx", //Data source. "table": [ //Table name. "xxx" ] } ], "where": "", //Filter condition. "splitPk": "", //Split key. "encoding": "UTF-8" //Encoding format. }, "name": "Reader", "category": "reader" }, { "stepType": "stream", "parameter": {}, "name": "Writer", "category": "writer" } ], "version": "2.0", "order": { "hops": [ { "from": "Reader", "to": "Writer" } ] }, "setting": { "errorLimit": { "record": "0" //Maximum number of error records during synchronization. }, "speed": { "throttle":true,//When throttle is false, mbps is ignored and throughput is unlimited; when true, throughput is limited. "concurrent":1 //Job concurrency. "mbps":"12"//Rate limit. Here, 1 mbps = 1 MB/s. } } }
Reader betiği parametreleri
Parametre | Açıklama | Gerekli | Varsayılan değer |
datasource | Veri kaynağı adı. Betik modunda bir veri kaynağı ekleyebilirsiniz. Değer, eklenen veri kaynağının adıyla eşleşmelidir. | Evet | Yok |
table | Senkronize edilecek tablo. | Evet | Yok |
column | Yapılandırılan tablodan senkronize edilecek sütunlar. Alanları bir JSON dizisinde tanımlayın. Varsayılan olarak tüm sütunlar seçilir, örneğin [ * ].
| Evet | Yok |
splitPk | AnalyticDB for MySQL 3.0 Reader veri ayıklarken splitPk belirtmek, splitPk tarafından temsil edilen alanı kullanarak verileri bölmek istediğiniz anlamına gelir. Veri senkronizasyonu verimliliği artırmak için eşzamanlı görevler başlatır.
| Hayır | Yok |
where | Bir filtre koşulu. Birçok iş senaryosunda o günün verilerini senkronize edersiniz. where koşulunu
| Hayır | Yok |
Writer örnek betiği
{ "type": "job", "steps": [ { "stepType": "stream", "parameter": {}, "name": "Reader", "category": "reader" }, { "stepType": "analyticdb_for_mysql", //Plug-in name. "parameter": { "postSql": [], //Statements to run after import. "tableType": null, //Reserved field, empty by default. "datasource": "hangzhou_ads", //Data source name. "column": [ //Fields to synchronize. "id", "value" ], "guid": null, "writeMode": "insert", //Write mode. See the writeMode parameter description. "batchSize": 2048, //Batch size. See the batchSize parameter description. "encoding": "UTF-8", //Encoding format. "table": "t5", //Name of the table to write to. "preSql": [] //Statements to run before import. }, "name": "Writer", "category": "writer" } ], "version": "2.0", //Configuration file format version. "order": { "hops": [ { "from": "Reader", "to": "Writer" } ] }, "setting": { "errorLimit": { "record": "0" //Number of error records. }, "speed": { "throttle":true,//When throttle is false, mbps is ignored and throughput is unlimited; when true, throughput is limited. "concurrent":2, //Job concurrency. "mbps":"12"//Rate limit. Here, 1 mbps = 1 MB/s. } } }
Writer betiği parametreleri
Parametre | Açıklama | Gerekli | Varsayılan değer |
datasource | Veri kaynağı adı. Betik modunda bir veri kaynağı ekleyebilirsiniz. Değer, eklenen veri kaynağının adıyla eşleşmelidir. | Evet | Yok |
table | Senkronize edilecek tablonun adı. | Evet | Yok |
writeMode | Yazma modu. insert, replace veya update seçin.
| Hayır | insert |
column | Hedef tabloya yazılacak alanlar, virgülle ayrılmış olarak, örneğin Not Bir alan adı select içeriyorsa alan adını geri tırnak içine alın. Örneğin, item_select_no öğesini | Evet | Yok |
preSql | Senkronizasyon görevinden önce çalıştırılacak SQL deyimleri. Sihirbaz modu yalnızca bir SQL deyimine izin verir; betik modu eski verileri temizleme gibi birden çok deyimi destekler. Not Birden çok SQL deyimi için işlem desteği yoktur. | Hayır | Yok |
postSql | Senkronizasyon görevinden sonra çalıştırılacak SQL deyimleri. Sihirbaz modu yalnızca bir SQL deyimine izin verir; betik modu zaman damgası ekleme gibi birden çok deyimi destekler. Not Birden çok SQL deyimi için işlem desteği yoktur. | Hayır | Yok |
batchSize | Tek bir toplu işte gönderilen kayıt sayısı. Bu, veri senkronizasyon sistemi ile MySQL arasındaki ağ etkileşimlerini büyük ölçüde azaltabilir ve genel aktarım hızını artırabilir. Aşırı büyük bir değer, senkronizasyon sürecinde bellek yetersizliği (OOM) hatasına neden olabilir. | Hayır | 1.024 |