Campaign から Hive ベースの Hadoop システムへのデータのエクスポート
IBM® Campaign から Hive ベースの Hadoop ビッグデータ・システムにデータを送信できます。
このタスクについて
IBM Campaign での Hive データ・ソースの構成設定によって、Campaign から Hive にデータを転送する方法を指定します。
手順
例
例 1: MapR へのエクスポートの構成:IBM Campaign で Hive_MapR というデータ・ソースを使用して MapR へのエクスポートを構成する例を以下に示します。LoaderPreLoadDataFileCopyCmd で SCP を使用して、IBM Campaign を実行するローカル・マシンから、Hive サーバーを実行するリモート・マシン (MapR マシン) の一時ディレクトリーにデータ・ファイルをコピーします。LoaderPostLoadDataFileRemoveCmd では、SSH の rm を使用してそのファイルを削除します。
Campaign | Partitions | Partition[n] | dataSources | Hive_MapR | LoaderPreLoadDataFileCopyCmd = scp <DATAFILE> mapr@example.company.com/tmp
Campaign | Partitions | Partition[n] | dataSources | Hive_MapR | LoaderPostLoadDataFileRemoveCmd = ssh mapr@example.company.com "rm/tmp/<DATAFILE>"
例 2: スクリプトによる Cloudera へのエクスポートの構成: スクリプトを使用すれば、ファイルのアクセス権の問題を回避できて便利な場合があります。ファイルのアクセス権に関連した問題があると、LOAD コマンドでデータ・ファイルにアクセスできず、コマンドが失敗してしまいます。この種の問題を回避するために、SCP によってデータ・ファイルを Hive にコピーしてそのデータ・ファイルのファイル・アクセス権を更新する独自のシェル・スクリプトまたはコマンド・ライン・スクリプトを作成できます。以下に示すのは、IBM Campaign で、スクリプトによる Cloudera へのエクスポートを構成する例です。LoaderPreLoadDataFileCopyCmd で SCP を使用するスクリプトを呼び出して、IBM Campaign を実行するローカル・マシンから、リモート Cloudera マシンの一時ディレクトリーにデータ・ファイルをコピーします。LoaderPostLoadDataFileRemoveCmd ではそのファイルを削除します。
Campaign | Partitions | Partition[n] | dataSources | Hive_Cloudera | LoaderPreLoadDataFileCopyCmd = /opt/IBM/CampaignBD/Campaign/bin/copyToHadoop.sh <DATAFILE>
Campaign | Partitions | Partition[n] | dataSources | Hive_Cloudera | LoaderPostLoadDataFileRemoveCmd = ssh cloudera@example.company.com "rm /tmp/<DATAFILE>"
copyToHadoop.sh:
#!/bin/sh
scp $1 cloudera@example.company.com:/tmp
ssh cloudera@example.company.com "chmod 0666 /tmp/'basename $1'"
このスクリプトは、IBM Campaign リスナー・マシンにあります。そのスクリプトは、ユーザー「cloudera」として宛先サーバー (example.company.com) で SCP コマンドを実行し、ファイルを tmp ディレクトリーにコピーします。SSH コマンドはその同じユーザーで接続し、その後のロード・プロセスと削除プロセスのために正しいアクセス権を持てるようにします。