HBase是一種分布式、可擴展、高可靠的NoSQL數據庫,它支持半結構化數據存儲,可以存儲任意類型的數據。而JSON(JavaScript Object Notation)是一種用于數據交換的輕量級文本格式,被廣泛應用于Web應用和移動應用中。那么在HBase中如何存儲JSON數據呢?
創建HBase表: create 'json_table', 'json_cf' 在Java代碼中獲取表并插入JSON數據: Configuration conf = HBaseConfiguration.create(); Connection conn = ConnectionFactory.createConnection(conf); TableName tableName = TableName.valueOf("json_table"); Table table = conn.getTable(tableName); JSONObject jsonObject = new JSONObject(); jsonObject.put("name", "Tom"); jsonObject.put("age", 20); jsonObject.put("gender", "male"); String jsonStr = jsonObject.toString(); Put put = new Put(Bytes.toBytes("row1")); put.addColumn(Bytes.toBytes("json_cf"), Bytes.toBytes("json_col"), Bytes.toBytes(jsonStr)); table.put(put); 獲取JSON數據: Get get = new Get(Bytes.toBytes("row1")); Result result = table.get(get); byte[] jsonBytes = result.getValue(Bytes.toBytes("json_cf"), Bytes.toBytes("json_col")); String jsonStr = Bytes.toString(jsonBytes); JSONObject jsonObject2 = new JSONObject(jsonStr); System.out.println(jsonObject2);
如上代碼所示,創建HBase表時指定列族“json_cf”,并在Java代碼中使用JSONObject構造JSON數據,并插入到表的“json_cf:json_col”中。
獲取JSON數據時,使用Get查詢指定行和列,通過Result獲取值并轉換為String類型,并再次構造JSONObject對象。
綜上所述,存儲和獲取JSON數據在HBase中并不困難,開發人員只需要遵循規范進行操作即可。另外需要注意的是,當JSON數據結構嵌套時,獲取和使用會稍微有些復雜。
上一篇vue confirm
下一篇h5 json數據傳輸