Hadoop へのアクセスの設定

Campaign の Federated Data Access(FDA) オプションを使用して、外部データベースに保存された情報を処理します。 次の手順に従って、Hadoopへのアクセスを設定します。

  1. Hadoop・データベース の構成
  2. hadoop 外部アカウント を Campaign で設定します

Hadoop 3.0 の設定

FDA で Hadoop 外部データベースに接続するには、Adobe Campaign サーバーで次の設定が必要になります。この設定は、Windows と Linux の両方で利用できます。

  1. ご使用の OS のバージョンに応じて、Hadoop 用の ODBC ドライバーをダウンロードします。ドライバーはこのページにあります。

  2. 次に、ODBC ドライバーをインストールし、Hive 接続用の DSN を作成する必要があります。手順は、このページに記載されています。

  3. ODBC ドライバーをダウンロードしてインストールした後、Campaign Classic を再起動する必要があります。これをおこなうには、次のコマンドを実行します。

    systemctl stop nlserver.service
    systemctl start nlserver.service
    
  4. Campaign Classic では、Hadoop 外部アカウントを設定できます。外部アカウントの設定方法について詳しくは、 この節 を参照してください。

Hadoop 外部アカウント

Hadoop 外部アカウントを使用すれば、Campaign インスタンスを Hadoop 外部データベースに接続することができます。

  1. Campaign Classic で、Hadoop 外部アカウントを設定します。エクスプローラー​で、管理プラットフォーム外部アカウント​をクリックします。

  2. 新規」をクリックします。

  3. 外部アカウント​タイプ​として、「外部データベース」を選択します。

  4. Hadoop 外部アカウントを設定するには、次を指定する必要があります。

    • タイプ:ODBC(Sybase ASE、Sybase IQ)

    • サーバー:DNS の名前

    • アカウント:ユーザーの名前

    • パスワード:ユーザーアカウントのパスワード

    • データベース:DSN で指定されていない場合のデータベースの名前。DSN で指定した場合は、空のままにできます

    • タイムゾーン:サーバーのタイムゾーン

コネクタは、次の ODBC オプションをサポートしています。

名前
ODBCMgr iODBC
warehouse 1/2/4

コネクタは、次の Hive オプションもサポートします。

名前 説明
bulkKey Azure BLOB または DataLake アクセスキー wasb:// または wasbs:// の一括ローダーの場合(wasb:// または wasbs:// で始まる一括ロードツールの場合)。
一括読み込みの BLOB または DataLake バケットのアクセスキーです。
hdfsPort ポート番号
(デフォルトでは 8020 に設定)
HDFS の一括ローダーの場合(webhdfs:// または webhdfss:// で始まる一括ロードツールの場合)。
bucketsNumber 20 クラスター化テーブルを作成する際のバケット数。
fileFormat PARQUET 作業用テーブルのデフォルトのファイル形式です。

Hadoop 2.1 の設定

hadoop2.1 に接続する必要がある場合は、以下の手順に従って Windows または Linux に接続します。

Windows 版hadoop2.1

  1. Windows 用の ODBC ドライバーと Azure HD Insight ドライバーをインストールします。

  2. ODBC DataSource Administrator ツールを実行して、DSN(データソース名)を作成します。 ユーザーが変更できる Hive 用 System DSN サンプルが提供されています。

    Description: vorac (or any name you like)
    Host: vorac.azurehdinsight.net
    Port: 443
    Database: sm_tst611 (or your database name)
    Mechanism: Azure HDInsight Service
    User/Password: admin/<your password here>
    
  3. この節 で説明されているように、Hadoop外部アカウントを作成します。

Linux 用hadoop2.1

  1. Linux 用の unixODBC をインストールします。

    apt-get install unixodbc
    
  2. HortonWorks から Apache Hive 用の ODBC ドライバーをダウンロードしてインストールします。https://www.cloudera.com/downloads.html.

    dpkg -i hive-odbc-native_2.1.10.1014-2_amd64.deb
    
  3. ODBC ファイルの場所を確認します。

    root@campadpac71:/tmp# odbcinst -j
    unixODBC 2.3.1
    DRIVERS............: /etc/odbcinst.ini
    SYSTEM DATA SOURCES: /etc/odbc.ini
    FILE DATA SOURCES..: /etc/ODBCDataSources
    USER DATA SOURCES..: /root/.odbc.ini
    SQLULEN Size.......: 8
    SQLLEN Size........: 8
    SQLSETPOSIROW Size.: 8
    
  4. DSN(データソース名)を作成し、odbc.ini ファイルを編集します。次に、Hive 接続用の DSN を作成します。

    HDInsight で「バイラル」と呼ばれる接続を設定する場合の例を以下に示します。

    [ODBC Data Sources]
    vorac 
    
    [vorac]
    Driver=/usr/lib/hive/lib/native/Linux-amd64-64/libhortonworkshiveodbc64.so
    HOST=vorac.azurehdinsight.net
    PORT=443
    Schema=sm_tst611
    HiveServerType=2
    AuthMech=6
    UID=admin
    PWD=<your password here>
    HTTPPath=
    UseNativeQuery=1
    
    メモ

    ここで、UseNativeQuery パラメーターは非常に重要です。Campaign は Hive 対応ですが、UseNativeQuery を設定しないと正しく機能しません。通常、ドライバーまたは Hive SQL コネクタがクエリを上書きして列の順序を勝手に変更してしまいます。

    認証設定は Hive や Hadoop の構成に依存します。例えば HD Insight では、ここで説明しているように、ユーザー/パスワード認証に AuthMech=6 を使用します。

  5. 変数をエクスポートします。

    export ODBCINI=/etc/myodbc.ini
    export ODBCSYSINI=/etc/myodbcinst.ini
    
  6. Hortonworks ドライバーを /usr/lib/hive/lib/native/Linux-amd64-64/hortonworks.hiveodbc.ini を介して設定します。

    Campaign と unix-odbc(libodbcinst)に接続するには、UTF-16 を使用する必要があります。

    [Driver]
    
    DriverManagerEncoding=UTF-16
    ErrorMessagesPath=/usr/lib/hive/lib/native/hiveodbc/ErrorMessages/
    LogLevel=0
    LogPath=/tmp/hive
    SwapFilePath=/tmp
    
    ODBCInstLib=libodbcinst.so
    
  7. これで、isql を使用した接続をテストできます。

    isql vorac
    isql vorac -v
    
  8. この節 で説明されているように、Hadoop外部アカウントを作成します。

このページ