2016-08-03 39 views

Antwort

2

Nicht sicher, ob ich bekommen habe, was Sie wollen, aber wahrscheinlich können Sie die Region Zeit Erstellung für diesen Zweck verwenden. In Ihrem hdfs Dateisystem wird die hbase Daten wurden in folgendem Format gespeichert:

hbase 
    /<Table>    (Tables in the cluster) 
     /<Region>   (Regions for the table) 
      /<ColumnFamiy>  (ColumnFamilies for the Region for the table) 
        /<StoreFile>  (StoreFiles for the ColumnFamily for the Regions for the table) 

So können Sie hdfs dfs -ls Befehl die Liste aller Regionen in der Tabelle zu erhalten. Sie können Termine für die Regionen vergleichen, erstellen die Geschichte, um herauszufinden, und wahrscheinlich die Anzahl der Regionen, auf die Schaffung der Tabelle:

hdfs dfs -ls /hbase/database/tablename/ 

drwxr-xr-x - hbase hdfs   0 2016-07-27 12:36 /hbase/database/tablename/9d7c14813bfd871ccb10cf60d972787c 
drwxr-xr-x - hbase hdfs   0 2016-07-29 11:47 /hbase/database/tablename/f1cf0c45568153f35a03a183b6a096fa 

Außerdem können Sie versuchen, die Metadaten-Namensraum von hbase über Shell-Zugriff auf einige bekommen Informationen über Ihre Tabellen, aber es würde Sie Zeitstempel geben, was für mich persönlich, ist komplizierter Option für Ihren Fall zu reinen Daten vergleichen:

scan 'hbase:meta',{COLUMNS=> 'info:regioninfo', FILTER=>"PrefixFilter('yourtable')"} 
+0

Danke alex ich oben versuchen werde, aber nicht Wir haben einen direkten Weg, um durch Befehl/Abfrage herauszufinden? – Aamir

+0

@Aamir Sie können wahrscheinlich versuchen, es von metadate zu bekommen, aber es wird Ihnen eine Zeitspanne zurückgeben, die sogar für jede Region variieren könnte und für mich ist es einfacher, mit reinen Daten zu arbeiten. Ich habe meine Antwort mit der Option aktualisiert, wie das geht – Alex