Разработка
NTA

Импорт во временные таблицы в Teradata и экспорт результатов запроса

Зачастую, в крупных компаниях проверяющим доступ к промышленным базам данных дают с правами «только на чтение». Соответственно, при этом отсутствует возможность создавать, подгружать и выгружать свои промежуточные таблицы. Необходимость в этом может возникнуть в случае, когда, например, вы работаете с разрозненными данными, взятыми из разных источников (с разных серверов БД, расположенных в разных сетях, или из файлов разного типа и происхождения (xlsx, csv, html и т.п.), которые нужно обрабатывать совместно с данными, хранящимися на сервере Teradata.

В этом случае в Teradata на время сеанса работы с сервером можно создать свою временную область с нужными таблицами и импортировать в них данные из текстовых файлов. А кроме этого, также можно сделать обратную операцию — экспорт результатов SQL-запроса в текстовый файл. В отличие от других СУБД, которым необходимы дополнительные внешние инструменты для импорта данных из файлов, и которые не могут делать этот импорт во временные таблицы, Teradata позволяет выполнять все эти действия прямо в текущем сеансе работы, в Teradata SQL Assistant.

Рассмотрим необходимую для этого последовательность действий.

1. В Teradata SQL Assistant подключитесь к БД и активируйте режим импорта данных в пункте меню File – Import Data:

2. В пункте меню Tools – Options установите формат загружаемых текстовых данных:

Здесь указано, что столбцы разделяются табуляцией и данные в них не обрамляются кавычками. При необходимости, вы можете изменить эти настройки в соответствии с содержимым вашего импортируемого файла.

3. Для загрузки создадим демонстрационный файл данных test_table.txt, содержащий строки:

1 Владимир Ленин 1000 2 Иосиф Сталин 950.30 3 Никита Хрущёв 1020.10 999 Михаил Горбачёв 856.66

4. Создадим и выполним новый SQL-запрос:

create volatile table test_table(ID int, name varchar(100), salary float) on commit preserve rows;

В результате во временной области текущего сеанса пользователя будет создана, состоящая из трёх полей ID, NAME и salary пустая volatile-таблица TEST_TABLE, которая будет существовать как полноценная таблица во время всей пользовательской сессии.

5. В окне SQL-запроса введите команду

insert into test_table values (?, ?, ?);

Эта команда будет загружать данные в созданную таблицу TEST_TABLE с количеством полей в одной записи, соответствующем количеству вопросительных знаков в скобках. Выполните запрос. После нажатия на кнопку «выполнить» появится диалог выбора файла с данными для импорта:

Выберите файл и дождитесь окончания его импорта.

ВАЖНО! Скорость загрузки файла данным способом не велика и может занять продолжительное время, поэтому он применим к наборам данным не очень большого размера (тысячи, возможно — несколько десятков тысяч строк). Для быстрой загрузки в Teradata есть инструменты FastLoad, OleLoad и MultiLoad, но они, к сожалению, не работают с временными таблицами.

После загрузки в нижнем левом углу окна появится информация о том, сколько записей в таблицу было импортировано:

6. Проверим, правильно ли были импортированы записи из файла. Отключим режим импорта в пункте меню File – Import Data и введём запрос:

select * from test_table;

Как видно, операция импорта прошла успешно. Обратите внимание, что строки выбираются в произвольном порядке, а не так, как они идут в файле.

7. Предположим, что после получения необходимой информации из базы данных возникла необходимость выгрузить её во внешний файл для дальнейшего использования. В Teradata данный процесс удобно реализован с помощью переключения режима вывода полученного набора данных с окна программы во внешний файл.

Для того, чтобы выполнить экспорт, сначала активируйте режим экспорта результатов в пункте меню File – Export Results:

8. Затем снова выполните запрос на выгрузку данных. После нажатия на кнопку «выполнить» появится запрос на экспорт данных в файл. Введите имя файла экспорта и сохраните его:

9. После выполнения запроса данные на экран выведены не будут, но в нижнем левом углу программы появится сообщение о том, сколько записей было успешно экспортировано в файл:

Рассмотренные возможности Teradata SQL Assistant помогут эффективно работать с внешними данными в случаях, когда отсутствуют права на создание и запись объектов на промышленном сервере Teradata.

{ "author_name": "NTA", "author_type": "editor", "tags": [], "comments": 1, "likes": 2, "favorites": 3, "is_advertisement": false, "subsite_label": "dev", "id": 258352, "is_wide": true, "is_ugc": false, "date": "Mon, 14 Jun 2021 12:01:23 +0300", "is_special": false }
0
1 комментарий
Популярные
По порядку
Читать все 1 комментарий
Finlanding: окно в Европу для бизнеса
Это Наваль Равикант: он привёл к стартапам частных инвесторов и создал AngelList, «Tinder для вложений» Статьи редакции

Равикант засудил два фонда за то, что основатели проданного стартапа получили слишком мало, а сам инвестировал в более чем 100 проектов и заработал $60 млн.

Наваль Равикант The Financial Pandora
Хитрости банка «Тинькофф»

Пользуясь им более 8 лет, в последнее время начал замечать как сервис банка и других его инструментов пытается выжать из любой ситуации каждый рубль. Вот те, которые мне удалось отследить.

Как отпугнуть клиента от онлайн сервисов: 6 вредных советов

Каждая компания стремится сделать понятный и удобный онлайн сервис для партнеров. Бизнес тратит огромные средства на разработку программ и приложений. Но все это может быть напрасно, если вы не провели предварительную работу с заказчиками и не объяснили, зачем ему разбираться в вашем новом ИТ-продукте. Подготовили 6 антисоветов для тех, кто хочет…

Evrone News #07: тренды QA и open source

Сегодня в традиционной подборке рассказываем об удачных open source решениях нашей команды: архивном monkey patch и шаблоне чистой архитектуры на Go, а также анализируем тренды 2021 года в QA и тестировании.

Зачем в разработке Mind Maps
Центр поддержки экспорта и eBay откроют для предпринимателей из Ленинградской области продажи на весь мир

Центр поддержки экспорта автономной некоммерческой организации «Центр развития промышленности Ленинградской области», маркетплейс eBay и компания-интегратор ZoneSmart запускают программу по развитию розничных экспортных продаж через eBay для малого и среднего бизнеса Ленинградской области. Участники программы получат готовые аккаунты на…

Настройки доставки: почему логистика последней мили требует экспериментов
Альфа-Банк без предупреждения заблокировал карту, не имеющую отношения к зарплате из-за перехода к новому работодателю

Около полугода являюсь привилегированным клиентом Альфа-Банка. У предыдущего работодателя обслуживался по программе «Премиум». В программу входила хорошая кэшбэковая карта. Помимо нее выдали обычную Альфа-Карту. Сказали, что если вдруг уволюсь, надо будет ее использовать, она не имеет отношения к зарплатному проекту. А премиальные продукты при…

«Airbnb для бассейнов на заднем дворе»: пользователи Swimply сдают в аренду бассейны и зарабатывают $5-10 тысяч в месяц Статьи редакции

Как работает сервис и почему его выручка выросла в пандемию на 4000% — в пересказе The Wall Street Journal.

Джим Беттон и его жена Лиса The Wall Street Journal
null