All Products
Search
Document Center

Lindorm:Hitung jumlah baris dalam tabel

Last Updated:Mar 29, 2026

LindormTable menggunakan struktur penyimpanan Log-Structured Merge-Tree (LSM-Tree). Mendapatkan jumlah baris yang akurat memerlukan pemindaian tabel penuh—semakin besar tabelnya, semakin lama operasi tersebut berlangsung. Hindari menjalankan operasi COUNT secara berkala.

Metode berikut tersedia:

MetodeJenis hitunganKecepatanPaling cocok untuk
HBase Shell COUNTTepatDi bawah 100.000 baris/detikTabel kecil, pemeriksaan cepat
HBase RowCounterTepatMirip dengan HBase Shell (opsi multithreaded tersedia)Validasi integritas data setelah migrasi
Lindorm SQL SELECT COUNT(*)TepatRatusan ribu baris/detik/server (terdistribusi)Tabel besar yang memerlukan hitungan tepat lebih cepat
Lindorm SQL SHOW ESTIMATED ROWSPerkiraanInstanPerkiraan kapasitas cepat
Sistem manajemen klusterPerkiraanInstanPemeriksaan integritas data setelah migrasi

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Akses ke LindormTable

  • Klien ECS di VPC yang sama dengan kluster Lindorm Anda (diperlukan untuk operasi HBase Shell dan RowCounter)

Hitung jumlah baris menggunakan HBase Shell

Sambungkan ke LindormTable menggunakan HBase Shell. Untuk informasi selengkapnya, lihat Akses LindormTable menggunakan Lindorm Shell.

Perintah count memindai semua data tabel secara batch untuk mengumpulkan statistik baris. Jalankan perintah ini pada klien ECS di VPC (virtual private cloud) yang sama—menjalankannya melalui Internet menyebabkan penggunaan jaringan tinggi dan memperlambat operasi secara signifikan. Kecepatan pemindaian kurang dari 100.000 baris per detik dan bervariasi tergantung skema tabel.

Jalankan perintah berikut untuk menghitung semua baris dalam tabel:

count 'table'

Hasil berikut dikembalikan:

The result of the count operation is displayed.

Hitung jumlah baris menggunakan HBase RowCounter

Sambungkan ke LindormTable menggunakan HBase Shell. Untuk informasi selengkapnya, lihat Akses LindormTable menggunakan Lindorm Shell.

RowCounter menjalankan pekerjaan MapReduce lokal pseudo-distributed untuk menghitung baris.

Secara default, RowCounter bersifat single-threaded, dengan kecepatan penghitungan mirip dengan perintah count pada HBase Shell.

Contoh:

  • Hitung semua baris dalam tabel:

    ./alihbase-2.0.18/bin/hbase org.apache.hadoop.hbase.mapreduce.RowCounter  "table"
  • Hitung semua baris menggunakan 16 thread konkuren:

    ./alihbase-2.0.18/bin/hbase org.apache.hadoop.hbase.mapreduce.RowCounter -Dmapreduce.local.map.tasks.maximum=16 "table"
  • Hitung semua baris dalam tabel di namespace ns:

    ./alihbase-2.0.18/bin/hbase org.apache.hadoop.hbase.mapreduce.RowCounter  "ns:table"

Saat menggunakan beberapa thread, perhatikan bahwa:

  • Jumlah thread harus kurang dari atau sama dengan jumlah region dalam tabel.

  • Jumlah thread yang lebih tinggi meningkatkan beban kluster dan dapat memengaruhi layanan online.

Hasil disimpan dalam file hbase.log di direktori Log.

image

Hitung jumlah baris menggunakan Lindorm SQL

Hitung jumlah baris yang tepat

Sambungkan ke LindormTable menggunakan Lindorm-cli. Untuk informasi selengkapnya, lihat Sambungkan ke LindormTable menggunakan Lindorm-cli.

Lindorm SQL mendistribusikan logika COUNT secara paralel ke seluruh proses Lindorm, sehingga jauh lebih cepat dibandingkan HBase Shell. Kecepatannya mencapai ratusan ribu baris per detik per server dan meningkat seiring jumlah server dalam kluster Anda. Operasi ini tetap memerlukan pemindaian tabel penuh dan memiliki timeout default 120 detik—jika penghitungan tidak selesai dalam batas waktu tersebut, pernyataan akan mengembalikan error.

SELECT COUNT(*) FROM table;

Hasil berikut dikembalikan:

+--------+
| EXPR$0 |
+--------+
| 16000  |
+--------+
Penting

Untuk tabel dengan lebih dari satu juta baris, gunakan indeks pencarian untuk mempercepat kueri. Untuk informasi selengkapnya, lihat Kueri data dalam tabel lebar menggunakan indeks pencarian.

Hitung jumlah baris perkiraan

Penting

Fitur ini memerlukan LindormTable versi 2.8.2.6 atau lebih baru dan Lindorm SQL versi 2.8.2.6 atau lebih baru.

Jalankan pernyataan berikut untuk mendapatkan perkiraan jumlah baris tanpa melakukan pemindaian tabel penuh:

SHOW ESTIMATED ROWS FROM table;

Hasil berikut dikembalikan:

+---------------------+
| ESTIMATED_ROW_COUNT |
+---------------------+
| 15000               |
+---------------------+

Lihat perkiraan jumlah baris menggunakan sistem manajemen kluster

Masuk ke sistem manajemen kluster. Untuk informasi selengkapnya, lihat Masuk ke sistem manajemen kluster.

Di sistem manajemen kluster Lindorm, klik Overview di panel navigasi kiri. Di area Current IDC, temukan tabel Anda dan klik View di kolom EstimateRowCount.

Perkiraan jumlah baris dihitung dengan menjumlahkan metadata jumlah baris dari setiap file data, yang dikumpulkan saat file-file tersebut dibuat. Nilai ini mungkin tidak akurat jika tabel memiliki pembaruan, penghapusan, atau data yang kedaluwarsa karena TTL (time-to-live)—dalam kasus tersebut, baris yang sama mungkin ada di beberapa file dengan status berbeda. Jika tabel tidak memiliki pembaruan, penghapusan, atau kedaluwarsa TTL, jumlah yang ditampilkan sepenuhnya akurat. Hal ini membuat fitur ini berguna untuk memverifikasi integritas data setelah migrasi data.

Jika perkiraan jumlah baris menunjukkan 0 tetapi tabel berisi data, versi minor LindormTable mungkin sudah usang. Tingkatkan versi minor untuk mengatasi masalah ini. Untuk informasi selengkapnya, lihat Tingkatkan versi minor.