私はHBaseテーブルを持っています。私はテーブルのHBaseの主要圧縮を実行しました。 JavaでHbaseテーブルのHFilesの数を動的に取得するにはどうすればよいですか?JavaでHbaseテーブルのHFilesの数を取得するにはどうすればよいですか?
0
A
答えて
1
使用しているHBaseのバージョンについては言及していませんが、Hannibalを使用することができます。麒麟にこのコードサンプルが見つかり
1
- あなたはRegionLoadインスタンスからストアファイルの数を取得することができ、すなわちint型StoreFilesと= regionLoad.getStorefiles()
/** Constructor for unit testing */
HBaseRegionSizeCalculator(HTable table, HBaseAdmin hBaseAdmin) throws IOException {
try {
if (!enabled(table.getConfiguration())) {
logger.info("Region size calculation disabled.");
return;
}
logger.info("Calculating region sizes for table \"" + new String(table.getTableName()) + "\".");
// Get regions for table.
Set<HRegionInfo> tableRegionInfos = table.getRegionLocations().keySet();
Set<byte[]> tableRegions = new TreeSet<byte[]>(Bytes.BYTES_COMPARATOR);
for (HRegionInfo regionInfo : tableRegionInfos) {
tableRegions.add(regionInfo.getRegionName());
}
ClusterStatus clusterStatus = hBaseAdmin.getClusterStatus();
Collection<ServerName> servers = clusterStatus.getServers();
final long megaByte = 1024L * 1024L;
// Iterate all cluster regions, filter regions from our table and
// compute their size.
for (ServerName serverName : servers) {
ServerLoad serverLoad = clusterStatus.getLoad(serverName);
for (RegionLoad regionLoad : serverLoad.getRegionsLoad().values()) {
byte[] regionId = regionLoad.getName();
if (tableRegions.contains(regionId)) {
long regionSizeBytes = regionLoad.getStorefileSizeMB() * megaByte;
sizeMap.put(regionId, regionSizeBytes);
// logger.info("Region " + regionLoad.getNameAsString()
// + " has size " + regionSizeBytes);
}
}
}
} finally {
hBaseAdmin.close();
}
}
関連する問題
- 1. Java Servletの複数のテーブル(PostgreSQL)からデータを取得するにはどうすればよいですか?
- 2. hbaseテーブルから最新のサンプルレコードを取得するにはどうすればいいですか?
- 3. SparkのHbaseテーブルからデータを読み取るにはどうすればよいですか?
- 4. PHPクエリで複数のテーブルの列を取得するにはどうすればよいですか?
- 5. 1つのテーブルで複数のCOUNT(*)クエリを取得するにはどうすればよいですか?
- 6. Javaを使用してCassandraでテーブル名を取得するにはどうすればよいですか?
- 7. CakePHP、ランディングページの複数のテーブルからデータを取得するにはどうすればよいですか?
- 8. Windowsの%APPDATA%location変数の値をJavaで取得するにはどうすればよいですか?
- 9. yii2の他のテーブルを参照するテーブルを取得するにはどうすればよいですか?
- 10. PostgreSQLのトリガ関数でテーブル名を取得するにはどうすればよいですか?
- 11. 複数のテーブルからクエリを取得するにはどうすればよいですか?
- 12. Android - 複数のSQLiteテーブルからデータを取得するにはどうすればよいですか?
- 13. テーブルとその子テーブルから結果セットを取得するにはどうすればよいですか?
- 14. java xmlタップ内の総数を取得するにはどうすればよいですか? xmlファイルビューの
- 15. フォームクローン変数を取得するにはどうすればよいですか?
- 16. Hbaseクラスタのスナップショットを、テーブル単位ではなく1つのスナップショットで取得するにはどうすればよいですか?
- 17. csvファイルをテーブルのApache hbaseに解析するにはどうすればよいですか?
- 18. Javaでliberty server.xml変数を取得するにはどうすればよいですか?
- 19. ループ内で変数を取得するにはどうすればよいですか? (java)
- 20. Hybrisでは、Javaのプロダクトモデルから属性を取得するにはどうすればよいですか?
- 21. 保存したファイルから乱数を取得するにはどうすればよいですか? (Java)
- 22. データベースからすべてのテーブルを取得するにはどうすればよいですか? (アンドロイド、SQLiteの)
- 23. 接続されたクライアントのホスト名をjavaで取得するにはどうすればよいですか?
- 24. テーブルで最初に未使用のIDを取得するにはどうすればよいですか?
- 25. ルアでテーブルのインデックスをランダムに取得するにはどうすればよいですか?
- 26. 関連する2つのテーブルからデータを取得するにはどうすればよいですか?
- 27. これらのテーブルの行列を取得するにはどうすればよいですか?
- 28. このテーブルから一意のレコードを取得するにはどうすればよいですか?
- 29. 1NF以外のテーブルから最新のユニークレコードを取得するにはどうすればよいですか?
- 30. 特定のクラスのテーブル行からセル値を取得するにはどうすればよいですか?
クールなアプリのように見えるが、非常に古いバージョンのHBaseだけをサポートしているようです – richardstartin