C. 既存の HBase テーブルを Hive にマップする

これは、IBM® Campaign と Hive ベースの Apache Hadoop データ・ソースを統合するための 3 番目の手順です。Apache HBase で作成した既存テーブルがない場合は、この手順をスキップできます。

始める前に

B. Hive ODBC ドライバーの構成の手順を完了します。

このタスクについて

この手順が必要なのは、Apache HBase で作成した既存テーブルがある場合に限られます。その場合は、既存の HBase テーブルを Apache Hive で使用するために、CREATE EXTERNAL TABLE 照会を実行する必要があります。HBase テーブルを Hive に公開すると、それらのテーブルを IBM Campaign で利用できるようになり、Campaign 内でテーブル・マッピングを実行できます。

EXTERNAL キーワードを使用すれば、テーブルを作成する時に LOCATION を指定できます。その場合、Hive はテーブル用のデフォルトの場所を使用しません。あらかじめデータを生成しておいた場合に、この機能は便利です。構成プロパティーで指定されているフォルダーに保管する代わりに、保管場所として EXTERNAL テーブルで任意の HDFS ロケーションを指し示すことができます。EXTERNAL テーブルをドロップしても、そのテーブルに入っているデータはファイル・システムから削除されません。

Hive HBase 統合の詳細: https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration

手順

  1. Hue エディターを開いて、Hive Query Editor を開きます。
  2. CREATE EXTERNAL TABLE コマンドを作成して実行します。

    照会の例を以下に示します。テーブル名やフィールド名などのパラメーターをそれぞれの環境に合わせて置き換えてください。この例では、テーブル名として「CampaignAccounts」、ファミリー名として「f」を使用しています。

    CREATE EXTERNAL TABLE HiveExt_CampaignAccounts(Acct_ID INT,Indiv_ID INT,HHold_ID INT,Acct_Type_Code STRING,Acct_Status_Code INT,Acct_Open_Date INT,Acct_Balance STRING,Acct_Balance_Last_Month STRING,Acct_Balance_Avg_6Month STRING,Credit_Limit STRING,Acct_Number STRING,Last_Contact_Date STRING,Due_Date STRING) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ('hbase.columns.mapping' = ':key,f:Indiv_ID, f:HHold_ID, f:Acct_Type_Code, f:Acct_Status_Code, f:Acct_Open_Date, f:Acct_Balance, f:Acct_Balance_Last_Month, f:Acct_Balance_Avg_6Month, f:Credit_Limit, f:Acct_Number, f:Last_Contact_Date, f:Due_Date') TBLPROPERTIES ('hbase.table.name' = 'CampaignAccounts');