Sumber data HBase menyediakan saluran dua arah untuk membaca dari dan menulis ke HBase. Topik ini menjelaskan kemampuan sinkronisasi datanya dalam DataWorks.
Versi yang didukung
Plugin HBase dikategorikan menjadi HBase dan HBase{xx}xsql. Plugin HBase{xx}xsql harus digunakan bersama HBase dan Phoenix.
Plugin HBase
Plugin HBase mendukung
HBase 0.94.x,HBase 1.1.x, danHBase 2.x. Anda dapat mengonfigurasi plugin melalui antarmuka tanpa kode atau editor kode, serta menggunakan parameterhbaseVersionuntuk menentukan versi HBase.Jika menggunakan
HBase 0.94.x, atur parameter `hbaseVersion` ke 094x untuk plugin reader dan writer."reader": { "hbaseVersion": "094x" }"writer": { "hbaseVersion": "094x" }Jika menggunakan HBase 1.1.x atau HBase 2.x, atur parameter `hbaseVersion` ke 11x untuk plugin reader dan writer.
"reader": { "hbaseVersion": "11x" }"writer": { "hbaseVersion": "11x" }Plugin HBase 1.1.x kompatibel dengan HBase 2.0.
Plugin HBase{xx}xsql
Plugin HBase20xsql: Mendukung
HBase 2.xdanPhoenix 5.x. Hanya editor kode yang didukung.Plugin HBase11xsql: Mendukung
HBase 1.1.xdanPhoenix 5.x. Hanya editor kode yang didukung.Plugin writer HBase{xx}xsql memungkinkan Anda mengimpor data secara batch ke tabel SQL (Phoenix) di HBase. Phoenix melakukan encoding terhadap rowkey. Jika Anda menulis data langsung menggunakan API HBase, Anda harus mengonversi data tersebut secara manual—proses yang kompleks dan rentan kesalahan. Plugin writer HBase{xx}xsql menyediakan cara sederhana untuk mengimpor data ke tabel SQL.
CatatanPlugin ini menggunakan driver Java Database Connectivity (JDBC) Phoenix untuk mengeksekusi pernyataan UPSERT dan menulis data ke tabel secara batch. Karena menggunakan antarmuka tingkat tinggi, plugin ini juga dapat memperbarui tabel indeks.
Batasan
HBase Reader | HBase20xsql Reader | HBase11xsql Writer |
|
|
|
Fitur yang didukung
HBase Reader
HBase Reader mendukung mode normal dan multiVersionFixedColumn.
Mode
normal: Membaca tabel HBase sebagai tabel dua dimensi standar dan mengambil versi terbaru dari data.hbase(main):017:0> scan 'users' ROW COLUMN+CELL lisi column=address:city, timestamp=1457101972764, value=beijing lisi column=address:contry, timestamp=1457102773908, value=china lisi column=address:province, timestamp=1457101972736, value=beijing lisi column=info:age, timestamp=1457101972548, value=27 lisi column=info:birthday, timestamp=1457101972604, value=1987-06-17 lisi column=info:company, timestamp=1457101972653, value=baidu xiaoming column=address:city, timestamp=1457082196082, value=hangzhou xiaoming column=address:contry, timestamp=1457082195729, value=china xiaoming column=address:province, timestamp=1457082195773, value=zhejiang xiaoming column=info:age, timestamp=1457082218735, value=29 xiaoming column=info:birthday, timestamp=1457082186830, value=1987-06-17 xiaoming column=info:company, timestamp=1457082189826, value=alibaba 2 row(s) in 0.0580 seconds }Tabel berikut menunjukkan data setelah dibaca.
rowKey
address:city
address:contry
address:province
info:age
info:birthday
info:company
lisi
beijing
china
beijing
27
1987-06-17
baidu
xiaoming
hangzhou
china
zhejiang
29
1987-06-17
alibaba
Mode
multiVersionFixedColumn: Membaca tabel HBase sebagai tabel vertikal. Setiap catatan yang dibaca memiliki format empat kolom:rowKey,family:qualifier,timestamp, danvalue. Anda harus menentukan kolom yang akan dibaca. Nilai di setiap sel diperlakukan sebagai satu catatan; jika terdapat beberapa versi, beberapa catatan akan dihasilkan.hbase(main):018:0> scan 'users',{VERSIONS=>5} ROW COLUMN+CELL lisi column=address:city, timestamp=1457101972764, value=beijing lisi column=address:contry, timestamp=1457102773908, value=china lisi column=address:province, timestamp=1457101972736, value=beijing lisi column=info:age, timestamp=1457101972548, value=27 lisi column=info:birthday, timestamp=1457101972604, value=1987-06-17 lisi column=info:company, timestamp=1457101972653, value=baidu xiaoming column=address:city, timestamp=1457082196082, value=hangzhou xiaoming column=address:contry, timestamp=1457082195729, value=china xiaoming column=address:province, timestamp=1457082195773, value=zhejiang xiaoming column=info:age, timestamp=1457082218735, value=29 xiaoming column=info:age, timestamp=1457082178630, value=24 xiaoming column=info:birthday, timestamp=1457082186830, value=1987-06-17 xiaoming column=info:company, timestamp=1457082189826, value=alibaba 2 row(s) in 0.0260 seconds }Tabel berikut menunjukkan data (empat kolom) setelah dibaca.
rowKey
column:qualifier
timestamp
value
lisi
address:city
1457101972764
beijing
lisi
address:contry
1457102773908
china
lisi
address:province
1457101972736
beijing
lisi
info:age
1457101972548
27
lisi
info:birthday
1457101972604
1987-06-17
lisi
info:company
1457101972653
beijing
xiaoming
address:city
1457082196082
hangzhou
xiaoming
address:contry
1457082195729
china
xiaoming
address:province
1457082195773
zhejiang
xiaoming
info:age
1457082218735
29
xiaoming
info:age
1457082178630
24
xiaoming
info:birthday
1457082186830
1987-06-17
xiaoming
info:company
1457082189826
alibaba
HBase Writer
Aturan pembuatan
rowkey: HBase Writer mendukung penggabungan beberapa field sumber untuk menghasilkanrowkeyuntuk tabel HBase.Dukungan versi (timestamp) untuk menulis data ke HBase:
Gunakan waktu saat ini sebagai versi.
Gunakan kolom sumber sebagai versi.
Gunakan waktu tertentu sebagai versi.
Tipe field yang didukung
Baca offline
Tabel berikut mencantumkan tipe data HBase yang dapat dibaca dan pemetaannya ke tipe HBase Reader.
Kategori
Tipe kolom Data Integration
Tipe data database
Integer
long
short, int, dan long
Floating-point
double
float dan double
String
string
binary_string dan string
Tanggal dan waktu
date
date
Byte
bytes
bytes
Boolean
boolean
boolean
HBase20xsql Reader mendukung sebagian besar tipe Phoenix. Namun, beberapa tipe tidak didukung. Pastikan Anda memeriksa tipe data Anda.
Tabel berikut mencantumkan pemetaan antara tipe Phoenix dan tipe HBase20xsql Reader.
Tipe internal DataX
Tipe data Phoenix
long
INTEGER, TINYINT, SMALLINT, BIGINT
double
FLOAT, DECIMAL, DOUBLE
string
CHAR, VARCHAR
date
DATE, TIME, TIMESTAMP
bytes
BINARY, VARBINARY
boolean
BOOLEAN
Tulis offline
Tabel berikut mencantumkan tipe data HBase yang dapat ditulis dan pemetaannya ke tipe HBase Writer.
Konfigurasi kolom harus konsisten dengan tipe kolom di tabel HBase.
Hanya tipe field yang tercantum dalam tabel berikut yang didukung.
Kategori | Tipe data database |
Integer | INT, LONG, dan SHORT |
Floating-point | FLOAT dan DOUBLE |
Boolean | BOOLEAN |
String | STRING |
Catatan
Jika Anda menerima pesan error "tried to access method com.google.common.base.Stopwatch" saat menguji koneksi, tambahkan properti hbaseVersion ke konfigurasi sumber data untuk menentukan versi HBase.
Tambahkan sumber data
Sebelum mengembangkan tugas sinkronisasi di DataWorks, Anda harus menambahkan sumber data yang diperlukan ke DataWorks sesuai petunjuk di Manajemen sumber data. Anda dapat melihat deskripsi parameter di Konsol DataWorks untuk memahami arti parameter saat menambahkan sumber data.
Kembangkan tugas sinkronisasi data
Untuk informasi tentang titik masuk dan prosedur konfigurasi tugas sinkronisasi, lihat panduan konfigurasi berikut.
Panduan konfigurasi untuk tugas sinkronisasi offline tabel tunggal
Untuk informasi lebih lanjut, lihat Konfigurasi tugas sinkronisasi di antarmuka tanpa kode dan Konfigurasi tugas sinkronisasi di editor kode.
Saat menggunakan antarmuka tanpa kode, pemetaan field tidak ditampilkan secara default karena HBase merupakan sumber data tanpa skema tetap. Anda harus mengonfigurasi pemetaan field secara manual:
Jika HBase adalah sumber, konfigurasikan Source Field. Formatnya:
Tipe Field|Family Kolom:Nama Kolom.Jika HBase adalah tujuan, konfigurasikan Destination Field dan rowkey. Format untuk Destination Field adalah
Indeks Field Sumber|Tipe Field|Family Kolom:Nama Kolom. Format untuk rowkey adalahIndeks Primary Key Sumber|Tipe Field.
CatatanMasukkan setiap field pada baris baru.
Untuk daftar lengkap parameter dan demo skrip untuk editor kode, lihat Lampiran: Demo skrip dan deskripsi parameter.
FAQ
Q: Berapa konkurensi yang sesuai? Apakah meningkatkan konkurensi mempercepat kecepatan yang lambat?
A: Ukuran heap Java Virtual Machine (JVM) default untuk proses impor data adalah 2 GB. Konkurensi, yaitu jumlah channel, diimplementasikan menggunakan beberapa thread. Meningkatkan jumlah thread tidak selalu meningkatkan kecepatan impor; bahkan dapat menurunkan performa akibat garbage collection (GC) yang sering terjadi. Kami menyarankan Anda mengatur konkurensi (channel) pada kisaran 5 hingga 10.
Q: Berapa batchSize yang sesuai?
A: Nilai defaultnya adalah 256. Namun, Anda harus menghitung batchSize optimal berdasarkan ukuran setiap baris. Volume data untuk satu operasi biasanya berkisar antara 2 MB hingga 4 MB. Untuk menentukan batchSize, bagi nilai tersebut dengan ukuran baris.
Lampiran: Demo skrip dan deskripsi parameter
Konfigurasi tugas sinkronisasi batch menggunakan editor kode
Jika Anda ingin mengonfigurasi tugas sinkronisasi batch menggunakan editor kode, Anda harus mengonfigurasi parameter terkait dalam skrip sesuai format skrip terpadu. Untuk informasi lebih lanjut, lihat Konfigurasi tugas di editor kode. Informasi berikut menjelaskan parameter yang harus Anda konfigurasi untuk sumber data saat mengonfigurasi tugas sinkronisasi batch menggunakan editor kode.
Demo skrip HBase Reader
{
"type":"job",
"version":"2.0",// Nomor versi.
"steps":[
{
"stepType":"hbase",// Nama plugin.
"parameter":{
"mode":"normal",// Mode untuk membaca data dari HBase. Nilai yang valid: normal dan multiVersionFixedColumn.
"scanCacheSize":"256",// Jumlah baris yang dibaca klien HBase dari server dalam setiap panggilan prosedur remote (RPC).
"scanBatchSize":"100",// Jumlah kolom yang dibaca klien HBase dari server dalam setiap RPC.
"hbaseVersion":"094x/11x",// Versi HBase.
"column":[// Field.
{
"name":"rowkey",// Nama field.
"type":"string"// Tipe data.
},
{
"name":"columnFamilyName1:columnName1",
"type":"string"
},
{
"name":"columnFamilyName2:columnName2",
"format":"yyyy-MM-dd",
"type":"date"
},
{
"name":"columnFamilyName3:columnName3",
"type":"long"
}
],
"range":{// Menentukan rentang rowkey untuk dibaca oleh HBase Reader.
"endRowkey":"",// Rowkey akhir.
"isBinaryRowkey":true,// Menentukan cara mengonversi startRowkey dan endRowkey yang dikonfigurasi ke array byte. Nilai default adalah false.
"startRowkey":""// Rowkey awal.
},
"maxVersion":"",// Jumlah versi yang dibaca HBase Reader dalam mode multi-versi.
"encoding":"UTF-8",// Format encoding.
"table":"",// Nama tabel.
"hbaseConfig":{// Informasi konfigurasi yang diperlukan untuk menghubungkan ke kluster HBase, dalam format JSON.
"hbase.zookeeper.quorum":"hostname",
"hbase.rootdir":"hdfs://ip:port/database",
"hbase.cluster.distributed":"true"
}
},
"name":"Reader",
"category":"reader"
},
{
"stepType":"stream",
"parameter":{},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":"0"// Jumlah catatan error.
},
"speed":{
"throttle":true,// Jika throttle diatur ke false, parameter mbps tidak berlaku dan tidak ada pembatasan laju. Jika throttle diatur ke true, pembatasan laju diterapkan.
"concurrent":1,// Jumlah tugas konkuren.
"mbps":"12"// Batas laju. 1 mbps = 1 MB/s.
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}Parameter skrip HBase Reader
Parameter | Deskripsi | Wajib | Nilai default |
haveKerberos | Jika haveKerberos diatur ke true, autentikasi Kerberos diperlukan untuk kluster HBase. Catatan
| Tidak | false |
hbaseConfig | Informasi konfigurasi yang diperlukan untuk menghubungkan ke kluster HBase, dalam format JSON. Parameter hbase.zookeeper.quorum wajib diisi. Parameter ini menentukan endpoint ZooKeeper kluster HBase. Anda juga dapat menambahkan konfigurasi klien HBase lainnya, seperti cache dan batch pemindaian, untuk mengoptimalkan interaksi dengan server. Catatan Jika Anda menggunakan database ApsaraDB untuk HBase, hubungkan menggunakan titik akhir jaringan pribadi. | Ya | Tidak ada |
mode | Mode untuk membaca data dari HBase. Nilai yang valid: normal dan multiVersionFixedColumn. | Ya | Tidak ada |
table | Nama tabel HBase yang akan dibaca. Parameter ini case-sensitive. | Ya | Tidak ada |
encoding | Format encoding, seperti UTF-8 atau GBK. Ini digunakan untuk mengonversi HBase byte[] yang disimpan dalam bentuk biner menjadi string. | Tidak | utf-8 |
column | Field HBase yang akan dibaca. Parameter ini wajib diisi dalam mode normal dan mode multiVersionFixedColumn.
| Ya | Tidak ada |
maxVersion | Jumlah versi yang dibaca HBase Reader dalam mode multi-versi. Nilainya hanya bisa -1 atau angka lebih besar dari 1. Nilai -1 berarti semua versi dibaca. | Wajib dalam mode multiVersionFixedColumn. | Tidak ada |
range | Menentukan rentang rowkey untuk dibaca oleh HBase Reader.
| Tidak | Tidak ada |
scanCacheSize | Jumlah baris yang dibaca HBase Reader dari HBase sekaligus. | Tidak | 256 |
scanBatchSize | Jumlah kolom yang dibaca HBase Reader dari HBase sekaligus. Jika Anda mengatur parameter ini ke -1, semua kolom akan dikembalikan. Catatan Nilai scanBatchSize harus lebih besar dari jumlah kolom aktual untuk menghindari masalah kualitas data. | Tidak | 100 |
Demo skrip HBase Writer
{
"type":"job",
"version":"2.0",// Nomor versi.
"steps":[
{
"stepType":"stream",
"parameter":{},
"name":"Reader",
"category":"reader"
},
{
"stepType":"hbase",// Nama plugin.
"parameter":{
"mode":"normal",// Mode untuk menulis data ke HBase.
"walFlag":"false",// Menonaktifkan (false) pencatatan log WAL.
"hbaseVersion":"094x",// Versi HBase.
"rowkeyColumn":[// Kolom rowkey yang akan ditulis ke HBase.
{
"index":"0",// Nomor seri.
"type":"string"// Tipe data.
},
{
"index":"-1",
"type":"string",
"value":"_"
}
],
"nullMode":"skip",// Cara menangani nilai null.
"column":[// Field HBase yang akan ditulis.
{
"name":"columnFamilyName1:columnName1",// Nama field.
"index":"0",// Nomor indeks.
"type":"string"// Tipe data.
},
{
"name":"columnFamilyName2:columnName2",
"index":"1",
"type":"string"
},
{
"name":"columnFamilyName3:columnName3",
"index":"2",
"type":"string"
}
],
"encoding":"utf-8",// Format encoding.
"table":"",// Nama tabel.
"hbaseConfig":{// Informasi konfigurasi yang diperlukan untuk menghubungkan ke kluster HBase, dalam format JSON.
"hbase.zookeeper.quorum":"hostname",
"hbase.rootdir":"hdfs: //ip:port/database",
"hbase.cluster.distributed":"true"
}
},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":"0"// Jumlah catatan error.
},
"speed":{
"throttle":true,// Jika throttle diatur ke false, parameter mbps tidak berlaku dan tidak ada pembatasan laju. Jika throttle diatur ke true, pembatasan laju diterapkan.
"concurrent":1, // Jumlah tugas konkuren.
"mbps":"12"// Batas laju.
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}Parameter skrip HBase Writer
Parameter | Deskripsi | Wajib | Nilai default |
haveKerberos | Jika haveKerberos diatur ke true, autentikasi Kerberos diperlukan untuk kluster HBase. Catatan
| Tidak | false |
hbaseConfig | Informasi konfigurasi yang diperlukan untuk menghubungkan ke kluster HBase, dalam format JSON. Parameter hbase.zookeeper.quorum wajib diisi. Parameter ini menentukan endpoint ZooKeeper kluster HBase. Anda juga dapat menambahkan konfigurasi klien HBase lainnya, seperti cache dan batch pemindaian, untuk mengoptimalkan interaksi dengan server. Catatan Jika Anda menggunakan database ApsaraDB untuk HBase, hubungkan menggunakan titik akhir jaringan pribadi. | Ya | Tidak ada |
mode | Mode untuk menulis data ke HBase. Saat ini, hanya mode normal yang didukung. Mode kolom dinamis mungkin didukung di masa depan. | Ya | Tidak ada |
table | Nama tabel HBase yang akan ditulis. Parameter ini case-sensitive. | Ya | Tidak ada |
encoding | Format encoding, seperti UTF-8 atau GBK. Ini digunakan untuk mengonversi STRING menjadi HBase byte[]. | Tidak | utf-8 |
column | Field HBase yang akan ditulis:
| Ya | Tidak ada |
rowkeyColumn | Kolom rowkey yang akan ditulis ke HBase:
Kode berikut menunjukkan format konfigurasi. | Ya | Tidak ada |
versionColumn | Menentukan timestamp yang akan ditulis ke HBase. Anda dapat menggunakan waktu saat ini, kolom waktu tertentu, atau waktu tertentu. Jika Anda tidak mengonfigurasi parameter ini, waktu saat ini akan digunakan.
Kode berikut menunjukkan format konfigurasi.
| Tidak | Tidak ada |
nullMode | Saat data yang dibaca bernilai null, Anda dapat menanganinya dengan salah satu dari dua cara berikut:
| Tidak | skip |
walFlag | Saat klien HBase mengirimkan data (operasi Put/Delete) ke RegionServer di kluster, data tersebut pertama-tama ditulis ke Write-Ahead Log (WAL). WAL juga dikenal sebagai HLog. Semua region di RegionServer berbagi satu HLog. Data ditulis ke MemStore hanya setelah berhasil ditulis ke WAL. Kemudian, klien diberi tahu bahwa data telah dikirim. Jika penulisan ke WAL gagal, klien diberi tahu bahwa pengiriman gagal. Anda dapat mengatur parameter ini ke false untuk menonaktifkan penulisan ke WAL. Ini meningkatkan performa penulisan data. | Tidak | false |
writeBufferSize | Mengatur ukuran buffer penulisan klien HBase dalam byte. Ini digunakan bersama autoflush. autoflush (dinonaktifkan secara default):
| Tidak | 8 MB |
Demo skrip HBase20xsql Reader
{
"type":"job",
"version":"2.0",// Nomor versi.
"steps":[
{
"stepType":"hbase20xsql",// Nama plugin.
"parameter":{
"queryServerAddress": "http://127.0.0.1:8765", // Endpoint Phoenix QueryServer.
"serialization": "PROTOBUF", // Format serialisasi QueryServer.
"table": "TEST", // Tabel yang akan dibaca.
"column": ["ID", "NAME"], // Kolom yang akan dibaca.
"splitKey": "ID" // Kolom sharding, yang harus merupakan primary key tabel.
},
"name":"Reader",
"category":"reader"
},
{
"stepType":"stream",
"parameter":{},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":"0"// Jumlah catatan error.
},
"speed":{
"throttle":true,// Jika throttle diatur ke false, parameter mbps tidak berlaku dan tidak ada pembatasan laju. Jika throttle diatur ke true, pembatasan laju diterapkan.
"concurrent":1,// Jumlah tugas konkuren.
"mbps":"12"// Batas laju. 1 mbps = 1 MB/s.
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}Parameter skrip HBase20xsql Reader
Parameter | Deskripsi | Wajib | Nilai default |
queryServerAddress | Plugin HBase20xsql Reader perlu terhubung ke Phoenix QueryServer melalui klien Phoenix ringan. Oleh karena itu, Anda harus menentukan endpoint QueryServer di sini. Jika Anda adalah pengguna ApsaraDB untuk HBase Edisi Performa-tinggi (Lindorm) dan perlu melewatkan parameter user dan password, Anda dapat menambahkan properti opsional setelah queryServerAddress. Format: | Ya | Tidak ada |
serialization | Protokol serialisasi yang digunakan oleh QueryServer. | Tidak | PROTOBUF |
table | Nama tabel yang akan dibaca. Parameter ini case-sensitive. | Ya | Tidak ada |
schema | Skema tempat tabel berada. | Tidak | Tidak ada |
column | Kumpulan nama kolom yang akan disinkronkan dari tabel yang dikonfigurasi. Gunakan array JSON untuk menggambarkan informasi field. Nilai kosong berarti semua kolom dibaca. Nilai defaultnya kosong. | Tidak | Semua kolom |
splitKey | Memecah tabel saat membaca data. Jika Anda menentukan splitKey, sistem menggunakan field yang diwakili oleh splitKey untuk melakukan sharding data. Tugas sinkronisasi data kemudian memulai subtask konkuren untuk menyinkronkan data, yang meningkatkan efisiensi. Anda dapat memilih salah satu dari dua metode sharding. Jika splitPoint kosong, sistem secara otomatis melakukan sharding data menggunakan Metode 1 secara default:
| Ya | Tidak ada |
splitPoints | Sharding berdasarkan nilai maksimum dan minimum kolom sharding tidak dapat menjamin penghindaran hot spot data. Oleh karena itu, kami menyarankan Anda menetapkan titik sharding berdasarkan startkey dan endkey dari Region. Ini memastikan bahwa setiap kueri sesuai dengan satu Region. | Tidak | Tidak ada |
where | Kondisi filter. Anda dapat menambahkan kondisi filter ke kueri tabel. HBase20xsql Reader menggabungkan pernyataan SQL berdasarkan column, table, dan kondisi where yang ditentukan, lalu mengekstrak data berdasarkan pernyataan SQL tersebut. | Tidak | Tidak ada |
querySql | Dalam beberapa skenario bisnis, parameter where tidak cukup untuk menggambarkan kondisi filter. Anda dapat menggunakan parameter ini untuk menyesuaikan filter SQL. Jika Anda mengonfigurasi parameter ini, parameter queryserverAddress tetap diperlukan, tetapi HBase20xsql Reader mengabaikan kondisi column, table, where, dan splitKey. Plugin ini menggunakan konten parameter ini untuk memfilter data. | Tidak | Tidak ada |
Demo skrip HBase11xsql Writer
{
"type": "job",
"version": "1.0",
"configuration": {
"setting": {
"errorLimit": {
"record": "0"
},
"speed": {
"throttle":true,// Jika throttle diatur ke false, parameter mbps tidak berlaku dan tidak ada pembatasan laju. Jika throttle diatur ke true, pembatasan laju diterapkan.
"concurrent":1, // Jumlah tugas konkuren.
"mbps":"1"// Batas laju. 1 mbps = 1 MB/s.
}
},
"reader": {
"plugin": "odps",
"parameter": {
"datasource": "",
"table": "",
"column": [],
"partition": ""
}
},
"plugin": "hbase11xsql",
"parameter": {
"table": "Nama tabel HBase tujuan, case-sensitive",
"hbaseConfig": {
"hbase.zookeeper.quorum": "Endpoint server ZooKeeper kluster HBase tujuan",
"zookeeper.znode.parent": "znode kluster HBase tujuan"
},
"column": [
"columnName"
],
"batchSize": 256,
"nullMode": "skip"
}
}
}Parameter skrip HBase11xsql Writer
Parameter | Deskripsi | Wajib | Nilai default |
plugin | Nama plugin. Harus hbase11xsql. | Ya | Tidak ada |
table | Nama tabel tempat mengimpor data. Parameter ini case-sensitive. Nama tabel Phoenix biasanya dalam huruf kapital. | Ya | Tidak ada |
column | Nama kolom. Parameter ini case-sensitive. Nama kolom Phoenix biasanya dalam huruf kapital. Catatan
| Ya | Tidak ada |
hbaseConfig | Endpoint kluster HBase. Endpoint ZooKeeper wajib diisi. Formatnya ip1,ip2,ip3. Catatan
| Ya | Tidak ada |
batchSize | Jumlah maksimum baris untuk penulisan batch. | Tidak | 256 |
nullMode | Saat nilai kolom yang dibaca adalah null, Anda dapat menanganinya dengan salah satu dari dua cara berikut:
| Tidak | skip |