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