2016-08-03 3 views

答えて

2

あなたが望むものが得られたかどうかは不明ですが、おそらくこの目的のために地域時間の作成を使用することができます。あなたのHDFSファイルシステムでHBaseのデータは、次の形式で保存されている。

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) 

ですから、あなたのテーブル内のすべての領域のリストを取得するには、HDFSのDFS -lsコマンドを使用することができます。

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 

はあなたのほかに、いくつかを取得するためにシェル経由でのHBaseのメタデータの名前空間にアクセスしてみてくださいすることができます:あなたは、テーブルの作成時に設定歴史、おそらく領域の数を、見つけるために地域の日付を作成して比較することができますあなたのテーブルに関する情報が、それはあなたのタイムスタンプを与えるだろう、私のために個人的に、あなたのケースのためのより複雑なオプションは、純粋な日付と比較されているもの、:

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

は、アレックスは私が上記しようとするつもりはなく、ないのですありがとう私たちはコマンド/クエリを通して直接見つける方法を持っていますか? – Aamir

+0

@Aamirおそらくメタデートからそれを取得しようとすることができますが、それはすべての地域であっても変わる可能性のあるタイムパンフを返すでしょう。私にとっては純粋な日付で作業する方が簡単です。私はこれを行う方法のオプションで私の答えを更新しました – Alex

関連する問題