D. BigDataODBCHiveTemplate データ・ソース・テンプレートを Campaign にインポートして構成する

これは、IBM® Campaign と Hive ベースの Apache Hadoop データ・ソースを統合するための 4 番目の手順です。

始める前に

C. 既存の HBase テーブルを Hive にマップするの手順を完了します。

このタスクについて

Campaign と Hive ベースの Hadoop システムの間の通信を可能にするには、以下の操作を実行する必要があります。
  • BigDataODBCHive.xml テンプレートを IBM Campaign にインポートします。テンプレートは 1 回だけインポートしてください。テンプレートをインポートすると、データ・ソースを作成するためにそのテンプレートを使用できるようになります。
  • そのテンプレートを使用して、IBM Campaign と通信する Hive 実装環境ごとにデータ・ソースを作成して構成します。
  • データ・ソースごとに、Campaign 構成で HiveQueryMode プロパティーを構成します。

手順

  1. configTool ユーティリティーを使用して、テンプレート BigDataODBCHive.xmlCampaign にインポートします。
    • BigDataODBCHive.xml is in <Campaign_Home>/conf.
    • configTool is in <Marketing_Platform_Home>/tools/bin. 詳しくは、IBM Knowledge Center にある「IBM Marketing Platform 管理者ガイド」を参照してください。

    そのテンプレートをデフォルトの Campaign パーティション partition1 にインポートする例を以下に示します。<Campaign_Home>IBM Campaign のインストール・ディレクトリーの完全パスに置き換えてください。

    ./configTool -i -p "Affinium|Campaign|partitions|partition1|dataSources" –f <Campaign_Home>/conf/BigDataODBCHive.xml

  2. BigDataODBCHiveTemplate に基づいてデータ・ソースを作成します。Campaign と通信する Hive 実装環境ごとにその操作を実行してください。例えば、4 つの実装環境 (MapR、Cloudera、Hortonworks、BigInsights®) があれば、4 つのデータ・ソースを別々に作成して構成します。
    1. IBM Campaign で、「設定」 > 「構成」を選択します。
    2. Campaign|partitions|partition[n]|dataSources に移動します。
    3. BigDataODBCHiveTemplate を選択します。
    4. Hive dataSource を識別する新しいカテゴリー名 (Hive_MapRHive_ClouderaHive_HortonWorksHive_BigInsights など) を指定します。
    5. 各フィールドで新しいデータ・ソースのプロパティーを設定し、変更内容を保存します。
      重要: デフォルト値のないプロパティーもあります。そのようなプロパティーについては値を指定する必要があります。特に注意の必要なプロパティーを以下に記載します。このリストは、そのテンプレートに含まれているプロパティーの一部にすぎません。詳しくは、「IBM Campaign 管理者ガイド」を参照してください。
    構成プロパティー 説明
    ASMUserForDBCredentials デフォルト値が定義されていません。Campaign のシステム・ユーザーを指定してください。
    DSN odbc.ini ファイルで指定されている、Hive ベースの Hadoop ビッグデータ・インスタンスの DSN 名。
    HiveQueryMode

    DataDirect ODBC ドライバーを使用するデータ・ソースの場合は、Native を使用します。

    Cloudera ODBC ドライバーまたは Hortonworks Hive ODBC ドライバーを使用するデータ・ソースの場合は、SQL を使用します。

    JndiName ユーザー・データ・ソースの場合は不要です。
    SystemTableSchema デフォルト値が定義されていません。接続先のデータベースのユーザーを指定してください。
    OwnerForTableDisplay デフォルト値が定義されていません。接続先のデータベースのユーザーを指定してください。
    LoaderPreLoadDataFileCopyCmd SCP を使用して、IBM Campaign から Hive ベースの Hadoop システムにある /tmp という一時フォルダーにデータをコピーします。それは、Hive サーバー上の /tmp という場所でなければなりません (HDFS の場所ではなくファイル・システムの場所です)。この値で、SCP コマンドを指定することも、そのコマンドを指定したスクリプトを呼び出すこともできます。

    Campaign から Hive ベースの Hadoop システムにデータをエクスポートするための詳細情報と詳細な手順については、「IBM Campaign 管理者ガイド」を参照してください。

    LoaderPostLoadDataFileRemoveCmd IBM Campaign から Hive ベースの Hadoop システムにある一時フォルダーにデータ・ファイルがコピーされます。その一時データ・ファイルを削除するために、SSH の「rm」コマンドを使用する必要があります。

    Campaign から Hive ベースの Hadoop システムにデータをエクスポートするための詳細情報と詳細な手順については、「IBM Campaign 管理者ガイド」を参照してください。

    LoaderDelimiter デフォルト値が定義されていません。ビッグデータ・インスタンスにロードする一時データ・ファイルの各フィールドを区切るための区切り文字を指定してください。コンマ (,) やセミコロン (;) などです。タブ (/t) は使用できません。

    この区切り文字の値は、ビッグデータ・データベース表の作成時に使用した ROW 形式区切り文字と一致していなければなりません。この例では、コンマを使用しています。ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' ;"

    SuffixOnTempTableCreation

    SuffixOnSegmentTableCreation

    SuffixOnSnapshotTableCreation

    SuffixOnExtractTableCreation

    SuffixOnUserBaseTableCreation

    SuffixOnUserTableCreation

    デフォルト値が定義されていません。LoaderDelimiter で指定した文字と同じ文字を使用してください。
    UseExceptForMerge FALSE に設定します。Hive では EXCEPT 節がサポートされていないため、 TRUE を設定するとプロセスが失敗する可能性があります。

    DateFormat

    DateTimeFormat

    DateTimeOutputFormatString

    すべての日付ストリングの日付書式でダッシュ「-」文字を使用する必要があります。Hive は日付の書式として他の文字に対応していません。例: %Y-%m-%d %H:%M:%S
    タイプ BigDataODBC_Hive
    UseSQLToRetrieveSchema FALSE に設定します。
    DataFileStagingFolder デフォルトのロケーション値を /tmp に設定します。ロケーション値は変更できます。例: /opt/campaign/
    注: このフォルダーの値には、末尾にスラッシュを付ける必要があります。
    Campaign データ・ファイルを Hive サーバーにコピーするためのシェル・スクリプトを作成した場合は、これを変更する必要があります。例:
    #!/bin/sh
    scp $1 root@emm52.in.ibm.com:/opt/campaign/
    ssh root@emm52.in.ibm.com "chmod 0666 /opt/campaign/
    `basename $1`"
    LoaderPreLoadDataFileCopyCmd を使用する場合は、ファイル・ロケーションを更新する必要があります。例:
    scp <DATAFILE> <USER>@[hostname]:/opt/campaign/
    LoaderPostLoadDataFileRemoveCmd を使用する場合は、ファイル・ロケーションを更新する必要があります。例:
    ssh <USER>@[hostname] "rm /opt/campaign/<DATAFILE>"