Teradata, BTEQ et linux

Attention, article pour les geeks. Si vous utilisez Teradata comme provider de bases de données et que vous souhaitez vous frottez à leur outil de scripting pour automatiser votre traitement de données, voici comment l’installer sous Linux.

teradata logo

BTEQ, l’outil de Batch de Teradata

BTEQ signifie Batch Teradata Query. Alors que MySQL possède de très nombreuses fonctionnalités et un client en ligne de commande très complet et s’interfaçant avec tous les langages de programmation, Teradata, de façon tellement archaïque qu’elle en est caricaturale, impose de passer par son outil de scripting relativement pénible à installer si vous sortez de l’environnement Windows.

L’idée est d’utiliser ici l’outil proposé par Teradata pour écrire des boucles, créer des batchs de données, créer des tables régulièrement et ainsi de suite et automatiser le traitement de vos données. Vous pourrez accéder par la même occasion à d’autres services comme FastExport permettant d’exporter très rapidement plus d’un million de lignes. Vous pourrez automatiser l’exécution de vos scripts grâce à la mise en place de cron.

Installer BTEQ

Autant vous prévenir, la suite de logiciels Teradata n’est pas disponible sous toutes les distributions Linux par exemple il est impossible de l’utiliser sous les distributions pourtant classiques comme Debian ou Ubuntu. Voici la réponse quelque peu lapidaire à la question de son utilisation sur ces deux distributions majeures. C’est un choix très discutable et peu judicieux de la part de l’éditeur de bases de données. En même temps d’autres éditeurs comme Qlikview ont déjà fait le coup.

Les deux distributions Linux que vous pouvez utiliser pour installer Teradata sont uniquement RedHat et Suse. Si vous utilisez des technologies comme OpenStack, pensez du coup à choisir la bonne image lors de l’installation afin d’éviter des déconvenues ultérieures… Les lignes suivantes concernent uniquement la distribution RedHat.

La première étape consiste à récupérer le .tar.gz d’installation dans les sources de votre entreprise à l’aide d’un wget. Rien de très sorcier, il vous suffit d’ouvrir votre terminal pour cela.

Vous devez ensuite pousser le packet et l’extraire sur votre serveur si cela n’est pas déjà fait – par exemple à l’aide d’une commande de type SCP. Une fois sur le serveur, vous devez taper la commande suivante:

wget -xvzf teradata_xx_xx.tar.gz

Vous allez ensuite devoir installer quelques librairies supplémentaires sous redhat, au risque de voir Teradata planter au lancement.

wget ftp://rpmfind.net/linux/centos/6.7/os/x86_64/Packages/compat-libstdc++-33-3.2.3-69.el6.i686.rpm

Une fois le fichier tar décompressé, vous allez devoir exécuter le script de lancement à l’aide du fichier de setup.sh et de la commande suivante. Attention le fichier setup.sh est caché… histoire de simplifier encore plus le process.

sudo sh .setup.sh

Vous devriez voir dans votre terminal apparaître en ascii les lettres TERADATA et voir plusieurs options. Pour installer BTEQ, vous devez choisir l’option correspondante (1).

Une fois le logiciel installé avec succès, vous pourrez directement taper dans votre éditeur:

moi@myserveur$ bteq

Vous devriez voir une commande apparaître vous invitant à rentrer vos identifiants et vos commandes SQL. Pour la suite, vous pouvez très simplement créer un fichier de type .btq et insérer les lignes suivantes dedans:

.Logon dbname/dbuser,$dbpassword
SELECT count(*) from my_table;
.LOGOFF;
.QUIT;

Vous pourrez y incorporer des fichiers SQL tout prêts directement grâce à la commande

.RUN FILE path_to_my_file.sql

Une fois l’installation passée, libre à vous de créer l’architecture de fichier permettant l’automatisation de vos scripts SQL sous Teradata.

Découvrez le nouveau site, beaugosse.me, consacré à l'univers masculin: mode, shopping, conseils d'achat, loisirs, montres et bien plus encore!
Accéder au nouveau site maintenant