Nouveau message: j'ai déjà lu le tutoriel et j'ai trouvé ce script

.LOGMECH LDAP;
.LOGON  xx.xx.xx.xx/username,password;
.LOGTABLE dbname.LOG_tablename;
DATABASE dbname;
.BEGIN EXPORT SESSIONS 2;
.EXPORT OUTFILE D:\test.txt
MODE RECORD format text;

select a.my_date,b.name2,a.value from dbsource.tablesource a
inner join dbname.ANG_tablename b
on a.name1=b.name2
where value=59000
and a.my_date >= 01/12/2015
;

.END EXPORT;
.LOGOFF;

Mais c'est comme ne pas travailler

D:\>bteq < dodol.txt
BTEQ 15.00.00.00 Tue Jan 05 14:40:52 2016 PID: 4452

+---------+---------+---------+---------+---------+---------+---------+----
.LOGMECH LDAP;
+---------+---------+---------+---------+---------+---------+---------+----
.LOGON  xx.xx.xx.xx/username,

 *** Logon successfully completed.
 *** Teradata Database Release is 13.10.07.12
 *** Teradata Database Version is 13.10.07.12
 *** Transaction Semantics are BTET.
 *** Session Character Set Name is 'ASCII'.

 *** Total elapsed time was 4 seconds.

+---------+---------+---------+---------+---------+---------+---------+----
.LOGTABLE dbname.LOG_tablename;
 *** Error: Unrecognized command 'LOGTABLE'.
+---------+---------+---------+---------+---------+---------+---------+----
DATABASE dbname;

 *** New default database accepted.
 *** Total elapsed time was 2 seconds.


+---------+---------+---------+---------+---------+---------+---------+----
.BEGIN EXPORT SESSIONS 2;
 *** Error: Unrecognized command 'BEGIN'.
+---------+---------+---------+---------+---------+---------+---------+----
.EXPORT OUTFILE D:\test.txt
 *** Warning: No data format given. Assuming REPORT carries over.
 *** Error: Expected FILE or DDNAME keyword, not 'OUTFILE'.
+---------+---------+---------+---------+---------+---------+---------+----
MODE RECORD format text;

MODE RECORD format text;
     $
 *** Failure 3706 Syntax error: expected something between the beginning of
 the request and the 'MODE' keyword.
                Statement# 2, Info =6
 *** Total elapsed time was 1 second.


+---------+---------+---------+---------+---------+---------+---------+----

select a.my_date,b.name2,a.value from dbsource.tablesource a
inner join dbname.ANG_tablename b
on a.name1=b.name2
where value=59000
and a.my_date >= 01/12/2015
;

Ancien message:

Je suis nouveau dans teradata, j'ai trouvé mload pour télécharger des données volumineuses, maintenant j'ai une question, existe-t-il une option pour utiliser cmd (win7) pour exporter des données de teradata vers xxx.txt

--- sample
select a.data1,b.data2,a.data3 from room1.REPORT_DAILY a
inner join room1.andaikan_saja b
on a.likeme=b.data2
where revenue=30000
and content_id like '%super%'
and a.trx_date >= 01/12/2015
;

C'est mon mload up.txt

.LOGMECH LDAP;
.LOGON xx.xx.xx.xx/username,mypassword;
.LOGTABLE mydatabase.LOG_my_table;
SET QUERY_BAND = 'ApplicationName=TD-Subscriber-RechargeLoad; Version=01.00.00.00;' FOR SESSION;

.BEGIN IMPORT MLOAD
  TABLES mydatabase.my_table
  WORKTABLES mydatabase.WT_my_table
  ERRORTABLES mydatabase.ET_my_table mydatabase.UV_my_table;

.LAYOUT LAYOUT_DATA INDICATORS;
.FIELD number * VARCHAR(20);

.DML LABEL DML_INSERT;
INSERT INTO mydatabase.my_table
(               
number =:number
);

.IMPORT INFILE "D:\folderdata\data.txt"
  LAYOUT LAYOUT_DATA
  FORMAT VARTEXT
  APPLY DML_INSERT;

.END MLOAD;
.LOGOFF &SYSRC;

J'ai besoin d'une solution pour exporter le fichier sur mon ordinateur portable, tout comme mon script que j'ai mis --- titre d'exemple .... j'utilise ce script de teradasql, et je recherche le script cmd

1
JohnDoeLearning 4 janv. 2016 à 12:07

2 réponses

Meilleure réponse

S'il ne s'agit que de quelques Mo et d'une exportation ad hoc, vous pouvez utiliser l'assistant SQL: définissez le délimiteur dans Tools-Options-Export / Import , modifiez peut-être les paramètres dans Tools-Options-Export puis cliquez sur Résultats d'exportation de fichiers avant de soumettre votre sélection. (Similaire dans TD Studio)

Sinon, le moyen le plus simple d'extraire des données dans un format délimité lisible est TPT, soit Export pour de grandes quantités de données (Go) ou SQL Selector (Mo). TPT est disponible pour la plupart des systèmes d'exploitation, y compris Windows.

Il existe un joli guide de l'utilisateur avec de nombreux exemples de scripts: Exemple de tâche 12: Exemple de travail d'extraction Lignes et envoi en format délimité

Dans votre cas, vous allez définir un fichier de modèle générique comme ceci:

DEFINE JOB EXPORT_DELIMITED_FILE
DESCRIPTION 'Export rows from a Teradata table to a delimited file'
(
  APPLY TO OPERATOR ($FILE_WRITER() ATTR (Format = 'DELIMITED'))
  SELECT * FROM OPERATOR ($SELECTOR ATTR (SelectStmt = @ExportSelectStmt)); 
);

Remplacez $SELECTOR par $EXPORT pour des exportations plus importantes.

Ensuite, vous avez juste besoin d'un fichier de variable de travail comme celui-ci:

SourceTdpId         = 'your system'
,SourceUserName     = 'your user'
,SourceUserPassword = 'your password'
,FileWriterFileName = 'xxx.txt'
,ExportSelectStmt   = 'select a.data1,b.data2,a.data3 from room1.REPORT_DAILY a
inner join room1.andaikan_saja b
on a.likeme=b.data2
where revenue=30000
and content_id like ''%super%''
and a.trx_date >= DATE ''2015-12-01'' -- modified this to a valid date literal
;'

Le seul inconvénient est que vous devez doubler les guillemets simples dans votre sélection, par exemple. '%super%' -> ''%super%''.

Enfin, vous exécutez un cmd:

tbuild -f your_template_file -v your_job_var_file
2
dnoeth 4 janv. 2016 à 15:01

En fonction du volume de données que vous souhaitez extraire de Teradata, vous pouvez utiliser Teradata BTEQ ou l'utilitaire Teradata Parallel Transport (TPT) avec l'opérateur EXPORT de la ligne de commande pour extraire les données.

L'utilitaire TPT est le remplacement éventuel des utilitaires Teradata Load and Unload hérités (FastLoad, MultiLoad, FastExport et TPump) et fournit un mécanisme plus simple pour produire des fichiers plats délimités sur FastExport. TPT est assez flexible et efficace pour exporter de gros volumes de données vers des clients connectés au canal ou au réseau.

Teradata BTEQ peut exécuter des fonctions de chargement et de déchargement légères. Le manuel BTEQ est assez bon pour vous donner un aperçu de la façon d'utiliser les différentes commandes pour produire un rapport semi-structuré ou un extrait de données. Il n'a pas de commande simple pour produire un fichier plat délimité. Si vous examinez la présentation de la commande EXPORT dans le manuel, vous devriez avoir une bonne idée du comportement de BTEQ lorsque vous travaillez avec des clients connectés à un canal ou à un réseau.

0
Rob Paller 4 janv. 2016 à 15:32