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

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

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

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

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

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

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

     

  2. В открывшемся окне нажмите Данные > Выбрать источник данных:

     

  3. В появившемся диалоге кликните JDBC и нажмите кнопку Подключить:

     

  4. В открывшемся окне выберите Новое подключение и заполните все поля (см. пример ниже):

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

    • База данных - название базы данных;

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

    • Пароль для подключения;

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

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

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

      Строки подключения можно также обновить при редактировании источников или загрузчиков:

       

  5. Для проверки подключения нажмите Проверить в правом верхнем углу формы:

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

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

     

  6. После заполнения всех полей нажмите Загрузить в правом нижнем углу.

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

     

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

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

    • На сервере платформы найдите файл viqube2.json и добавьте в него строку "RefreshDataJob": {"Timeout": "00:00:00"}, указав необходимые часы и минуты. Например: "RefreshDataJob": {"Timeout": "03:00:00"}

    • Остановите платформу.

    • Выполните следующую команду: /var/lib/visiology/scripts/v3/prepare-config.sh --force-regenerate-configs

    • Запустите платформу.

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

В панели Поля таблицы сортируются по алфавиту (или по возрастанию, если названия начинаются с чисел).

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

Булевые значения, содержащиеся в добавляемых таблицах, обрабатываются и записываются в базу данных как строковые значения. При необходимости передачи булевых значений в базу данных, вы можете изменить текст запроса, явно указав 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;');

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

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

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

  1. Откройте набор данных, в котором вы хотите отредактировать загрузчик и нажмите Данные > Загрузчики в левом верхнем углу:

     

  2. В появившемся окне нажмите кнопку с изображением карандаша напротив загрузчика, который вы хотите отредактировать:

     

  3. В открывшемся диалоге внесите необходимые изменения и нажмите ОК:

    Теперь при обновлении набора данных будут использованы обновленные параметры.

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

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

Редактирование источников

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

  1. Откройте набор данных, в котором вы хотите отредактировать источник и нажмите Данные > Источники в левом верхнем углу:

     

  2. В появившемся окне нажмите кнопку с изображением карандаша напротив источника, который вы хотите отредактировать:

     

  3. В открывшемся диалоге внесите необходимые изменения и нажмите ОК:

Теперь при обновлении набора данных будут использованы обновленные параметры.

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

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

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

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

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

 

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

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

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

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

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

     

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

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


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

Формирование модели данных для визуализации
Создание мер
Создание дашбордов