Java を使用して HBase に基づくリアルタイム ビッグ データ処理アプリケーションを開発する方法
HBase はオープン ソースの分散列データベースであり、Apache Hadoop の一部です。プロジェクト。大量のデータを処理し、リアルタイムの読み取りおよび書き込み機能を提供するように設計されています。この記事では、Java を使用して HBase に基づくリアルタイム ビッグ データ処理アプリケーションを開発する方法を紹介し、具体的なコード例を示します。
1. 環境の準備
開始する前に、次の環境を準備する必要があります:
2. HBase テーブルの作成
HBase を使用する前に、データを保存する HBase テーブルを作成する必要があります。テーブルは、HBase Shell または HBase Java API を使用して作成できます。以下は、HBase Java API を使用してテーブルを作成するコード例です。
import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.ConnectionFactory; import org.apache.hadoop.hbase.util.Bytes; public class HBaseTableCreator { public static void main(String[] args) throws Exception { Configuration config = HBaseConfiguration.create(); Connection connection = ConnectionFactory.createConnection(config); Admin admin = connection.getAdmin(); HTableDescriptor tableDescriptor = new HTableDescriptor("my_table"); HColumnDescriptor columnFamily = new HColumnDescriptor(Bytes.toBytes("cf1")); tableDescriptor.addFamily(columnFamily); admin.createTable(tableDescriptor); admin.close(); connection.close(); } }
上記のコードでは、HBase Java API を使用して my_table
という名前のテーブルを作成し、テーブルを追加します。 ##cf1 の # 列ファミリーという名前です。
import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.ConnectionFactory; import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.client.Table; import org.apache.hadoop.hbase.util.Bytes; public class HBaseDataWriter { public static void main(String[] args) throws Exception { Configuration config = HBaseConfiguration.create(); Connection connection = ConnectionFactory.createConnection(config); Table table = connection.getTable(TableName.valueOf("my_table")); Put put = new Put(Bytes.toBytes("row1")); put.addColumn(Bytes.toBytes("cf1"), Bytes.toBytes("col1"), Bytes.toBytes("value1")); table.put(put); table.close(); connection.close(); } }
my_table という名前のテーブルにデータ行を挿入します。
import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.client.*; import org.apache.hadoop.hbase.util.Bytes; public class HBaseDataReader { public static void main(String[] args) throws Exception { Configuration config = HBaseConfiguration.create(); Connection connection = ConnectionFactory.createConnection(config); Table table = connection.getTable(TableName.valueOf("my_table")); Get get = new Get(Bytes.toBytes("row1")); Result result = table.get(get); byte[] value = result.getValue(Bytes.toBytes("cf1"), Bytes.toBytes("col1")); String strValue = Bytes.toString(value); System.out.println("Value: " + strValue); table.close(); connection.close(); } }
my_table という名前のテーブルからデータ行を読み取ります。データの値が出力されます。
import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.client.*; import org.apache.hadoop.hbase.util.Bytes; import java.util.ArrayList; import java.util.List; public class HBaseBatchDataHandler { public static void main(String[] args) throws Exception { Configuration config = HBaseConfiguration.create(); Connection connection = ConnectionFactory.createConnection(config); Table table = connection.getTable(TableName.valueOf("my_table")); List<Put> puts = new ArrayList<>(); Put put1 = new Put(Bytes.toBytes("row1")); put1.addColumn(Bytes.toBytes("cf1"), Bytes.toBytes("col1"), Bytes.toBytes("value1")); puts.add(put1); Put put2 = new Put(Bytes.toBytes("row2")); put2.addColumn(Bytes.toBytes("cf1"), Bytes.toBytes("col1"), Bytes.toBytes("value2")); puts.add(put2); table.put(puts); List<Get> gets = new ArrayList<>(); Get get1 = new Get(Bytes.toBytes("row1")); gets.add(get1); Get get2 = new Get(Bytes.toBytes("row2")); gets.add(get2); Result[] results = table.get(gets); for (Result result : results) { byte[] value = result.getValue(Bytes.toBytes("cf1"), Bytes.toBytes("col1")); String strValue = Bytes.toString(value); System.out.println("Value: " + strValue); } table.close(); connection.close(); } }
以上がJava を使用して HBase に基づいたリアルタイム ビッグ データ処理アプリケーションを開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。