F. Konfigurieren der Konnektivität zwischen Unica Campaign Listener-Server und Hadoop-Cluster

Warum und wann dieser Vorgang ausgeführt wird

Das Ladeprogramm-Script wird benötigt, um eine temporäre Datendatei bei <Campaign_Home>/partitions/partition[n]/tmp auf Impala Server zu kopieren, die während der Ausführung des Flussdiagramms erstellt wird.

Prozedur

  1. Wir verwenden pscp (Putty Utility), um uns mit dem Cloudera Hadoop Cluster vom Unica Campaign Server zu verbinden und die Datendateien auf Hadoop hochzuladen.Anmerkung: Hier benötigt das PSCP-Dienstprogramm das Kennwort im Argument im Klartext.
  2. Konfiguration für LoaderPreLoadDataFileCopyCmd: LoaderPreLoadDataFileCopyCmd = C:\Unica11\Campaign\bin\CopytoHadoop.bat <DATAFILE> /tmp/
  3. Konfiguration für LoaderPostLoadLoadDataFileRemoveCmd: LoaderPreLoadDataFileCopyCmd = C:\Unica10\Campaign\bin\removeFromHadoop.bat <DATAFILE>
  4. Konfiguration für LoaderPostLoadDataFileRemoveCmd =LoaderPostLoadDataFileRemoveCmd= C:\Unica10\Campaign\bin\removeFromHadoop.bat <DATAFILE> /tmp/

Beispiel

Dies ist ein Beispielscript. Sie können Ihr eigenes Batchscript schreiben:
Sample Script of copytoHadoop.bat:
=========================================
REM This script is used to copy a file from Campaign to any location on the 
Impala-based Hadoop system. The location must a valid HDFS location
@echo off
REM Operating System location
pscp -pw <password> "%1" <username>@<Hadoop Node with Impala>:"%2"
set filepath="%1"
for /F "delims=" %%i in (%filepath%) do set basename="%%~nxi"
for /F "delims=" %%i in (%filepath%) do set filename="%%~ni"
for /F "delims=" %%i in (%filepath%) do set fileExtension="%%~xi" 
REM Moving Campaign data with name containing special character is prohibited,
 so extracting
plink -pw <password> -ssh <username>@<Hadoop Node with Impala> "mv %2/%baseName% %2/%fileName%" 
plink -pw <password> -ssh <username>@<Hadoop Node with Impala> "hadoop fs -put -f %2/%fileName% %2" 
plink -pw <password> -ssh <username @<Hadoop Node with Impala> "hadoop fs -mv 
%2/%fileName% %2/%baseName%"
plink -pw <password> -ssh <username @ Hadoop Node with Impala> "hadoop fs -chmod 0777 %2/%baseName%
"=========================================
           
Datendateien werden von Unica Campaign in einen temporären Ordner auf dem Imapala-basierten Hadoop-System kopiert. Sie müssen den Befehl SSH "rm" verwenden, um die temporäre Datendatei zu entfernen.
  1. Entfernen Sie temporäre Daten aus dem Hadoop-Dateisystem.
  2. Entfernen Sie temporäre Daten aus dem OS-Dateisystem.
Anmerkung:
  1. Damit LoaderPostLoadDataFileCopyCmd und LoaderPostLoadDataFileRemoveCmd funktionieren, sollte das Hadoop System TGT haben und Zugang zum Schreiben, Ändern und Entfernen von Dateien aus dem Hadoop File System haben.
  2. Die obige Konfiguration ist eine Beispielkonfiguration, Einzelheiten finden Sie in dem Unica CampaignInstallationshandbuch .