Запрос экспорта teradata с использованием окон cmd не работает

Новое сообщение: я уже прочитал учебник и нашел этот скрипт

.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;

но это как не работает

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
;

старый пост:

Я новичок в teradata, я нашел mload для загрузки больших данных, теперь у меня есть вопрос, есть ли возможность использовать cmd ( win7) для экспорта данных из teradata в 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
;

это мой 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;

Мне нужно решение для экспорта файла на мой ноутбук, так же, как мой сценарий, который я поставил --- образец названия.... Я использую этот сценарий из teradasql, и я ищу сценарий cmd

2 ответа

Решение

Если это всего лишь несколько МБ и экспорт ad-hoc, вы можете использовать SQL Assistant: установите разделитель в Tools-Options-Export / Import, возможно, измените настройки в Tools-Options-Export и затем нажмите File-Export Results перед отправкой вашего выбора. (Похоже в ТД Студио)

В противном случае самый простой способ извлечь данные в читаемом формате с разделителями - это TPT, либо Export для больших объемов данных (ГБ) или SQL Selector (MBS). TPT доступен для большинства операционных систем, включая Windows.

Есть хорошее руководство пользователя с множеством примеров сценариев: Пример работы 12: Извлечение строк и отправка их в формате с разделителями

В вашем случае вы определите универсальный файл шаблона следующим образом:

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)); 
);

+ Изменить $SELECTOR в $EXPORT для увеличения экспорта.

Тогда вам просто нужен файл переменной задания, например так:

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
;'

Единственная плохая часть заключается в том, что вы должны удваивать любые одинарные кавычки в вашем выборе, например '%super%' -> ''%super%'',

Наконец вы запускаете cmd:

tbuild -f your_template_file -v your_job_var_file

В зависимости от объема данных, которые вы хотите извлечь из Teradata, вы можете использовать Teradata BTEQ или утилиту Teradata Parallel Transport (TPT) с EXPORT оператор из командной строки для извлечения данных.

Утилита TPT является возможной заменой устаревшим утилитам загрузки и выгрузки Teradata (FastLoad, MultiLoad, FastExport и TPump) и предоставляет более простой механизм для создания плоских файлов с разделителями через FastExport. TPT достаточно гибок и эффективен для экспорта больших объемов данных клиентам, подключенным к каналу или сети.

Teradata BTEQ может выполнять легкие функции загрузки и выгрузки. Руководство BTEQ довольно хорошо предоставляет вам обзор того, как использовать различные команды для создания полуструктурированного отчета или извлечения данных. У него нет простой команды для создания плоского файла с разделителями. Если вы посмотрите обзор руководства по EXPORT Команда, вы должны получить представление о том, как BTEQ ведет себя при работе с клиентами, подключенными к каналу или сети.

Другие вопросы по тегам