キャンペーンを使用 Federated Data Access (FDA) 外部データベースに保存されている情報を処理するオプション。 次の手順に従って、Hadoopへのアクセスを設定します。
FDA で Hadoop 外部データベースに接続するには、Adobe Campaign サーバーで次の設定が必要になります。この設定は、Windows と Linux の両方で利用できます。
ご使用の OS のバージョンに応じて、Hadoop 用の ODBC ドライバーをダウンロードします。ドライバーはこのページにあります。
次に、ODBC ドライバーをインストールし、Hive 接続用の DSN を作成する必要があります。手順は、このページに記載されています。
ODBC ドライバーをダウンロードしてインストールした後、Campaign Classic を再起動する必要があります。これをおこなうには、次のコマンドを実行します。
systemctl stop nlserver.service
systemctl start nlserver.service
Campaign Classic では、Hadoop 外部アカウントを設定できます。外部アカウントの設定方法について詳しくは、 この節.
Hadoop 外部アカウントを使用すれば、Campaign インスタンスを Hadoop 外部データベースに接続することができます。
Campaign Classic で、Hadoop 外部アカウントを設定します。エクスプローラーで、管理/プラットフォーム/外部アカウントをクリックします。
「新規」をクリックします。
外部アカウントタイプとして、「外部データベース」を選択します。
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 | 作業用テーブルのデフォルトのファイル形式です。 |
hadoop2.1 に接続する必要がある場合は、次の手順に従って、 Windows または Linux.
Windows 用の ODBC ドライバーと Azure HD Insight ドライバーをインストールします。
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>
hadoop外部アカウントを作成します ( この節.
Linux 用の unixODBC をインストールします。
apt-get install unixodbc
HortonWorks から Apache Hive 用の ODBC ドライバーをダウンロードしてインストールします。 https://www.cloudera.com/downloads.html.
dpkg -i hive-odbc-native_2.1.10.1014-2_amd64.deb
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
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 を使用します。
変数をエクスポートします。
export ODBCINI=/etc/myodbc.ini
export ODBCSYSINI=/etc/myodbcinst.ini
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
これで、isql を使用した接続をテストできます。
isql vorac
isql vorac -v
hadoop外部アカウントを作成します ( この節.