Загрузка данных из базы данных

Загрузка данных из базы данных

Загрузка данных

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

  • с помощью стандартной формы, где вы указываете адрес сервера, название базы данных, имя пользователя и пароль;

  • с использованием строки подключения, которая позволяет задавать произвольные JDBC-подключения, тем самым расширяя перечень поддерживаемых источников.

В загружаемых таблицах названия полей не должны содержать следующие символы:

  • точка;

  • двоеточие;

  • квадратные скобки.

Для загрузки данных необходимо выполнить следующие шаги:

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

    datasets.png
  2. В открывшемся окне нажмите Данные > Получить данные:

    data-button.png
  3. В появившемся диалоге кликните База данных, если вы хотите подключиться к базе данных с помощью SQL-запроса, либо выберите из списка одну из поддерживаемых СУБД, если вы хотите подключиться через пользовательский интерфейс без необходимости написания кода. После выбора типа подключения нажмите кнопку Далее:

    choose-source.png

Дальнейшие действия зависят от выбранного вами варианта подключения:

  1. В открывшемся окне нажмите и заполните все поля открывшейся формы (см. пример заполнения в пункте 6):

    empty-fields1.png
    • Адрес сервера в формате mysql://{адрес сервера}:{порт} или postgresql://{адрес сервера}:{порт};

    • Имя базы данных - название базы данных;

    • Пользователь, под которым вы будете подключаться к базе данных;

    • Пароль для подключения. В пароле не допускаются следующие символы:

      • обратная косая черта (\);

      • апостроф (')

      • обратный апостроф (`)

  2. Нажмите кнопку Подключить. Если все параметры подключения указаны верно, соединение будет установлено.
    Для проверки подключения нажмите и выберите пункт меню Проверить подключение:

    check-connection.png

    При успешном подключении система оповестит об этом:

  3. Заполните поля в правой части окна:

    • Название таблицы – укажите в этом поле название для добавляемой таблицы. Поддерживаются кириллические и латинские символы, цифры, а также спецсимволы (кроме одинарных и двойных кавычек);

    • Текст запроса - текст отправляемого запроса. Например, select * from dimproduct
      Пример заполнения полей:

      request-window (1).png


      Рекомендуется писать ключевые слова SQL в нижнем регистре. Например, from вместо FROM.

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

      connection-string (1) (1).png
  4. Перед загрузкой таблицы на платформу вы можете просмотреть данные, которые вы собираетесь загрузить, или преобразовать их.
    Чтобы просмотреть данные, нажмите Предпросмотр в нижней части окна:

    preview (1) (1).png


    Чтобы узнать, как преобразовать данные, см. раздел Преобразование данных ( Self-Service ETL).

  5. После заполнения всех полей нажмите кнопку Добавить в правом нижнем углу.

  6. Данные загрузятся на платформу и вы увидите таблицу на экране построения модели данных. В нашем примере получилось следующее:

    goods.png
  7. Подобным образом добавьте еще несколько таблиц, данные которых вы хотите проанализировать:

    loaded-tables (1).png
  1. В открывшемся окне нажмите и заполните все поля открывшейся формы:

    empty-fields2.png
    • Адрес сервера в формате postgresql://{адрес сервера}:{порт} (для нашего примера мы выбрали вариант подключения PostgreSQL);

    • Имя базы данных - название базы данных;

    • Пользователь, под которым вы будете подключаться к базе данных;

    • Пароль для подключения. В пароле не допускаются следующие символы:

      • обратная косая черта (\);

      • апостроф (')

      • обратный апостроф (`)

Пример заполнения полей:

sample1.png
  1. Нажмите кнопку Подключить. Если все параметры подключения указаны верно, соединение будет установлено.
    Для проверки подключения нажмите и выберите Проверить подключение:

    check-connection2.png

    При успешном подключении система оповестит об этом:

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

    tables.png

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

    preview-table.png
  3. В следующем окне вы можете настроить структуру загружаемых таблиц:

    • изменить название таблиц и столбцов;

    • проверить загружаемые данные;

    • отменить загрузку данных некоторых колонок при необходимости;

    • просмотреть тип данных колонок и при необходимости изменить их;

    • перейти в модуль преобразования данных, нажав кнопку Преобразовать данные:

      change-structure.png
  4. После выполнения всех настроек нажмите Далее – выбранные таблицы загрузятся на платформу:

    loaded-tables2.png
  • В панели Данные таблицы сортируются по алфавиту (или по возрастанию, если названия начинаются с чисел).

  • Если данные не загрузились, нажмите F12 на клавиатуре, чтобы проверить прошла ли загрузка успешно. При успешной загрузке в консоли отобразится появится запись “Операция загрузки прошла успешно!”:

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

    • Добавьте в файл /var/lib/visiology/scripts/v3/env-files/fe.env требуемое значение для таймаута в переменную RefreshDataJob__Timeout:

      RefreshDataJob__Timeout=03:00:00
    • Перезапустите платформу: /var/lib/visiology/scripts/run.sh --restart

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

correction1.png

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

Чтобы выполнить проверку, необходимо в окне создания запроса нажать на кнопку с тремя точками напротив требуемого подключения и выбрать пункт Проверить подключение в открывшемся меню. Система оповестит вас о результате проверки:

check-connection.png

Булевые значения, содержащиеся в добавляемых таблицах, обрабатываются и записываются в базу данных как строковые значения. При необходимости передачи булевых значений в базу данных, вы можете изменить текст запроса, явно указав 1 или 0. Ниже пример запроса для PostgreSQL (для других СУБД он может быть другим):

select case when bool_column is true then 1 else 0 end as bool_column from bool_table

Булевые значения, содержащиеся в добавляемых таблицах, обрабатываются и записываются в базу данных как строковые значения. При необходимости передачи булевых значений в базу данных, вы можете изменить текст запроса, явно указав 1 или 0. Ниже пример запроса для PostgreSQL (для других СУБД он может быть другим):

select case when bool_column is true then 1 else 0 end as bool_column from bool_table

При загрузке данных с помощью JDBC следует учитывать, что если в запросе используется FULL JOIN, который объединяет данные таблиц, то в результате слияния могут появиться пустые ячейки, которые заполняются значением null. При этом, если в предложении SELECT используется колонка, которая не допускает использование значений null, то данные не загрузятся. 

В данной ситуации, для успешной загрузки данных, в запросе необходимо использовать функцию coalesce, которая заменит null на пустую строку в поле. Например, для загрузки колонки brandname с отсутствующими значениями, в запросе необходимо указать select coalesce(brandname, '''') вместо select brandname.
Пример запроса:

  • select * from jdbc( 'jdbc:postgresql://84.252.140.141:5432/postgres?user=postgres&password=', 'postgres', 'select coalesce(brandname, ''''), brands.key as "bk", salesamount, facts.key as "fk" from brands full join facts on brands.key = facts.key;');

При отправке SQL-запроса вы можете добавлять комментарии. Поддержка комментариев реализована с учетом диалектов наиболее популярных СУБД:

  • MySQL

  • MariaDB

  • PostgreSQL

  • SQL Server

  • Oracle

  • SQLit

  • DB2

  • HSQLDB

  • Teradata

  • Greenplum

  • SAP HANA

  • ClickHouse

При этом для некоторых наименее популярных баз данных комментарии могут не поддерживаться.

Пример запроса с комментарием:

SELECT * FROM delivery; /* Загружает все данные из таблицы "delivery". */

Редактирование загрузчиков

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

Для редактирования загрузчика необходимо выполнить следующие шаги:

  1. Откройте набор данных, в котором вы хотите отредактировать загрузчик. В нашем примере это Магазин:

    update-dataset.png

     

  2. Нажмите кнопку с тремя точками напротив таблицы, загрузчик которой вы хотите отредактировать, и выберите Редактировать загрузчик в выпадающем меню:

    edit-loader.png
  3. В открывшемся окне внесите необходимые изменения и нажмите Сохранить:

    • Если вы загружали таблицу с помощью SQL-запроса, то здесь вы можете изменить текст SQL-запроса:

      edit-loader2.png
    • Если же вы загружали таблицу через пользовательский интерфейс (без SQL-запроса), то окно редактора загрузчика будет выглядеть так:

      edit-table.png

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

      click-button2.png
  • Изменение набора полей никак не отражается на построенных дашбордах (за исключением ситуации, когда вы удалите колонку, данные которой используются в одном из виджетов).

  • При редактировании строки запроса не рекомендуется использовать звёздочку, т.к. использование этого символа подразумевает, что структура таблицы не менялась с момента создания загрузчика. Если структура изменилась, визуализация данных может нарушиться. Указывайте все столбцы явно. Например:
    Select ОбщаяСтоимость, Клиенты, Календарь, Скидки, Продажи, ID, Возврат, Магазины, from Факт.Продажи

Просмотр загруженных таблиц

Загруженные таблицы также отображаются в панели Данные в правой стороне экрана:

tables (1).png

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

table (1).png

Чтобы свернуть сразу все таблицы, нажмите кнопку Свернуть все в верхней части панели Данные:

collapse.png

Поля таблиц сортируются по алфавиту. Если название полей начинается с цифры, то сортировка происходит по возрастанию.

Для просмотра данных в загруженных таблицах перейдите в режим просмотра данных, нажав на соответствующую кнопку в левой стороне экрана, и выберите таблицу, данные которой вы хотите просмотреть:

table-data.png

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

Вы также можете создавать дополнительные данные на основе существующих данных с помощью формул DAX и затем визуализировать их. Чтобы узнать как это сделать, перейти в раздел Создание мер.

Удаление таблицы из модели

Для удаления таблицы из модели данных, выполните следующие шаги:

  1. Нажмите кнопку с тремя точками напротив таблицы, которую вы хотите удалить.

  2. Во всплывающем меню выберите Удалить

  3. Нажмите Удалить в диалоге подтверждения:

     

Внимание! Данное действие нельзя будет отменить. Будьте внимательны при удалении таблиц из модели данных.

Дальнейшие шаги

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


Смотрите также

Установка JDBC драйверов
Ускорение загрузки данных
Формирование модели данных для визуализации
Создание мер
Создание дашбордов

На этой странице


Время чтения: 3 мин.


Видео

Загрузка данных с помощью JDBC

Нужна дополнительная помощь?

Свяжитесь с технической поддержкой.