web-dev-qa-db-fra.com

Comment déterminer la taille de mes tables HBase?. Y a-t-il une commande pour le faire?

J'ai plusieurs tables sur mon Hbase Shell que je voudrais copier sur mon système de fichiers. Certaines tables dépassent 100 Go. Cependant, il ne me reste que 55 Go d'espace libre dans mon système de fichiers local. Par conséquent, je voudrais connaître la taille de mes tables hbase afin de pouvoir exporter uniquement les tables de petite taille. Toutes les suggestions sont appréciées.

Merci, gautham

15
gautham

essayez hdfs dfs -du -h /hbase/data/default/ (ou/hbase/selon la version de hbase que vous utilisez)

Cela montrera combien d'espace est utilisé par les fichiers de vos tables.

J'espère que cela vous aidera.

28
Alexander

pour 0.98+ essayez hadoop fs -du -s -h $hbase_root_dir/data/data/$schema_name/ (ou/hbase/pour 0.94)

Vous pouvez trouver hbase_root_dir à partir du fichier hbase-site.xml de votre cluster. La commande ci-dessus vous fournira un résumé du disque utilisé par chaque table.

7
Anil Gupta

utilisez d

Utilisation: hdfs dfs -du [-s] [-h] URI [URI …]

Affiche la taille des fichiers et des répertoires contenus dans le répertoire donné ou la longueur d'un fichier au cas où ce serait juste un fichier.

Options:

L'option -s entraînera l'affichage d'un résumé agrégé des longueurs de fichier plutôt que des fichiers individuels.

L'option -h formatera la taille des fichiers de manière "lisible par l'homme" (par exemple 64,0 m au lieu de 67108864)

Exemple:

hdfs dfs -du -h /hbase/data/default

sortie pour moi:

1.2 M    /hbase/data/default/kylin_metadata
14.0 K   /hbase/data/default/kylin_metadata_acl
636      /hbase/data/default/kylin_metadata_user
5.6 K    /hbase/data/default/test
4
Reagan Ochora