OSS-HDFS Service (JindoFS Service), cloud-native bir veri gölü depolama ürünüdür. OSS-HDFS veri kaynağı, OSS-HDFS'den veri okumak ve yazmak için çift yönlü bir kanal sağlar. Bu konuda, DataWorks'ün OSS-HDFS için sunduğu veri senkronizasyonu yetenekleri açıklanmaktadır.
Desteklenen yetenekler
|
|
|
|
|
|
|
|
|
|
|
|
Sınırlamalar
Çevrimdışı okuma
Bir kaynak grubundan OSS-HDFS'ye yapılan ağ bağlantısı karmaşık olabilir. Veri senkronizasyon görevlerini çalıştırmak için Serverless kaynak grubu (önerilen) veya Data Integration için özel kaynak grubu kullanın. Kaynak grubunuzun ağ üzerinden OSS-HDFS'ye erişebildiğinden emin olun.
OSS-HDFS Reader aşağıdakileri destekler:
Metin, CSV, ORC ve Parquet formatındaki dosyalar. Dosya içeriği mantıksal olarak iki boyutlu bir tablo olmalıdır.
Birden fazla veri türünün ve sütun sabitlerinin okunması.
Özyinelemeli okuma işlemleri ile
*ve?joker karakterlerinin kullanımı.Birden fazla dosyadan eşzamanlı okuma. Gerçek eşzamanlı iş parçacığı sayısı, okunacak dosya sayısı ile
concurrentayarından küçük olan değerdir.
Tek bir dosya için iç parçalama algoritması nedeniyle OSS-HDFS Reader, tek bir dosyadan çok iş parçacıklı eşzamanlı okumayı desteklemez.
Çevrimdışı yazma
OSS-HDFS Writer yalnızca metin, ORC ve Parquet formatlarını destekler. Dosya içeriği mantıksal olarak iki boyutlu bir tablo olmalıdır.
Metin dosyaları için, yazma sırasında kullanılan alan sınırlayıcısının Hive tablosu oluşturulurken kullanılan sınırlayıcıyla eşleştiğinden emin olun. Bu, OSS-HDFS'ye yazılan verilerin Hive tablosu alanlarıyla doğru şekilde eşleşmesini sağlar.
Gerçek zamanlı yazma
Gerçek zamanlı yazmayı destekler.
Hudi format sürüm 0,14.x için gerçek zamanlı yazmayı destekler.
Desteklenen alan türleri
Çevrimdışı okuma
OSS-HDFS Reader, ParquetFile, ORCFile, TextFile ve CsvFile veri türlerini Data Integration'ın desteklediği dahili türlere dönüştürür.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Aşağıdaki örnekler dahili tür temsillerini göstermektedir:
LONG: OSS-HDFS dosyasındaki tamsayı verileri, örneğin 123456789.
DOUBLE: OSS-HDFS dosyasındaki kayan nokta verileri, örneğin 3,1415.
BOOLEAN: OSS-HDFS dosyasındaki Boolean verileri, örneğin true veya false. Değerler büyük/küçük harfe duyarlı değildir.
DATE: OSS-HDFS dosyasındaki tarih ve saat verileri, örneğin 2014-12-31 00:00:00.
Çevrimdışı yazma
OSS-HDFS Writer, TextFile, ORCFile ve ParquetFile formatındaki dosyaları OSS-HDFS dosya sisteminde belirtilen yola yazar.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Veri kaynağı ekleme
DataWorks'te bir senkronizasyon görevi geliştirmeden önce, gerekli veri kaynağını Veri kaynağı yönetimi bölümündeki talimatları izleyerek ekleyin. Parametre açıklamaları, DataWorks konsolunda veri kaynağı eklerken mevcuttur.
Veri senkronizasyon görevi geliştirme
Tek bir tablo için çevrimdışı senkronizasyon görevini yapılandırma
Adım adım talimatlar için bkz. Kodsuz kullanıcı arayüzünde görev yapılandırma ve Kod düzenleyicide görev yapılandırma.
Tam parametre listesi ve betik örneği için bkz. Ek: Betik demoları ve parametre açıklamaları.
Tek bir tablo için gerçek zamanlı senkronizasyon görevini yapılandırma
Bkz. Tek bir tablo için gerçek zamanlı artımlı senkronizasyon yapılandırma.
Tüm veritabanı için tam ve artımlı gerçek zamanlı senkronizasyon görevini yapılandırma
Bkz. Tüm veritabanı için gerçek zamanlı senkronizasyon görevi yapılandırma.
Ek: Betik demoları ve parametre açıklamaları
Reader betik demosu
Tüm parametreler, kod düzenleyici tarafından gereken birleştirilmiş betik formatını takip eder. Format ayrıntıları için bkz. Kod düzenleyicide görev yapılandırma.
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "oss_hdfs",
"parameter": {
"path": "",
"datasource": "",
"column": [
{
"index": 0,
"type": "string"
},
{
"index": 1,
"type": "long"
},
{
"index": 2,
"type": "double"
},
{
"index": 3,
"type": "boolean"
},
{
"format": "yyyy-MM-dd HH:mm:ss",
"index": 4,
"type": "date"
}
],
"fieldDelimiter": ",",
"encoding": "UTF-8",
"fileFormat": ""
},
"name": "Reader",
"category": "reader"
},
{
"stepType": "stream",
"parameter": {},
"name": "Writer",
"category": "writer"
}
],
"setting": {
"errorLimit": {
"record": ""
},
"speed": {
"concurrent": 3,
"throttle": true,
"mbps": "12"
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}
Reader betik parametreleri
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Writer betik demosu
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "stream",
"parameter": {},
"name": "Reader",
"category": "reader"
},
{
"stepType": "oss_hdfs",
"parameter": {
"path": "",
"fileName": "",
"compress": "",
"datasource": "",
"column": [
{
"name": "col1",
"type": "string"
},
{
"name": "col2",
"type": "int"
},
{
"name": "col3",
"type": "double"
},
{
"name": "col4",
"type": "boolean"
},
{
"name": "col5",
"type": "date"
}
],
"writeMode": "",
"fieldDelimiter": ",",
"encoding": "",
"fileFormat": "text"
},
"name": "Writer",
"category": "writer"
}
],
"setting": {
"errorLimit": {
"record": ""
},
"speed": {
"concurrent": 3,
"throttle": false
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}
Writer betik parametreleri
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|