powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / DataStage и Global temporary tables
6 сообщений из 6, страница 1 из 1
DataStage и Global temporary tables
    #39840001
Sintetik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос - можно ли как-то заставить DS в ODBC конекторе(и в нативных тоже) использовать для основного запроса и для before/after одну сессию? По умолчанию он создает разные и убивает их сразу после использования.
Если в before секции создать временную таблицу то в основной он ее уже не видит, потому что сессия в которой ее создали уже прикрыта.
А запихнуть в основную секцию несколько SQL выражений нельзя.

С тем что параметры #...# в секции before не работают я уже смирился.
...
Рейтинг: 0 / 0
DataStage и Global temporary tables
    #39845539
Фотография Hunterik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sintetik,
у меня параметры работают... =)
И всегда работали вроде. Какая версия у Вас?

Часть Before одного из заданий (условно, имена заменил):
Код: sql
1.
2.
3.
4.
5.
truncate table #ACCESS_PS.$DWH_SCM#.t1;
truncate table #ACCESS_PS.$DWH_SCM#.t2;
truncate table #ACCESS_PS.$DWH_SCM#.t3;
truncate table #ACCESS_PS.$DWH_SCM#.t4;
...



По поводу нескольких SQL гляну чуть позже (я так понимаю на чтение, потому что на запись точно можно).
Коннектор какой-то конкретно интересует?
...
Рейтинг: 0 / 0
DataStage и Global temporary tables
    #39846002
Sintetik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HunterikSintetik,
у меня параметры работают... =)
И всегда работали вроде. Какая версия у Вас?

Часть Before одного из заданий (условно, имена заменил):
Код: sql
1.
2.
3.
4.
5.
truncate table #ACCESS_PS.$DWH_SCM#.t1;
truncate table #ACCESS_PS.$DWH_SCM#.t2;
truncate table #ACCESS_PS.$DWH_SCM#.t3;
truncate table #ACCESS_PS.$DWH_SCM#.t4;
...



По поводу нескольких SQL гляну чуть позже (я так понимаю на чтение, потому что на запись точно можно).
Коннектор какой-то конкретно интересует?

11.5.0.2
ODBC и Netezza

на запись можно, если это таргет коннектор и user_defined sql
а вот когда читаешь, ну очень уж большие и тяжелые запросы получаются, CTE не всегда спасает, а некоторые вещи вообще в одном запросе никак. Через доп таблицы можно.
...
Рейтинг: 0 / 0
DataStage и Global temporary tables
    #39846094
Фотография Hunterik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sintetik,
в общем у меня параметры на 11.5.0.2, 11.7.0.1 в Before/After работают, RHEL 7.?, x64.

По поводу множественности операторов в блоке на чтение - да, не получается.

Я пересмотрел свои конструкции - где как, также пользуюсь with.
Где-то прихожу к выводу, что выгоднее сместить нагрузку на движок DataStage, ибо в DS - я сам себе оптимизатор, а в базе - контроль есть не надо всем, но тут уже вопрос о ресурсах под DS...
...
Рейтинг: 0 / 0
DataStage и Global temporary tables
    #39847589
Sintetik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hunterik,

Можешь написать мне на мыло в профиле?
...
Рейтинг: 0 / 0
DataStage и Global temporary tables
    #39851243
Peter Kirillow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SintetikВопрос - можно ли как-то заставить DS в ODBC конекторе(и в нативных тоже) использовать для основного запроса и для before/after одну сессию? По умолчанию он создает разные и убивает их сразу после использования.
Если в before секции создать временную таблицу то в основной он ее уже не видит, потому что сессия в которой ее создали уже прикрыта.
А запихнуть в основную секцию несколько SQL выражений нельзя.

С тем что параметры #...# в секции before не работают я уже смирился.

полагаю, что проблема исключительно в Netezza, т.к. никогда проблем со сложным SQL в ODBConnector не было.
По крайней мере с MS SQL вот такой скрипт в Select Statement отрабатывает без проблем и не надо ничего разделять.

set nocount on
declare @t1 table (a int)
declare @t2 table (a int, b char(10))
insert into @t1 values(1)
insert into @t1 values(2)
insert into @t2 values(1,'A')
insert into @t2 values(2,'B')
select t1.a, t2.b from @t1 t1 inner join @t2 t2 on t1.a = t2.a

А по существу полностью согласен с Hunterik. Сложную логику делайте на стороне DS через DataSet-ы.
Начитывайте в них данные, а потом крутите как хотите. Будет очень быстро.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / DataStage и Global temporary tables
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]