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

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

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

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

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

     

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

     

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

     

  4. В последующем диалоге заполните все поля (см. пример ниже) и нажмите ОК:

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

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

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

    • Текст запроса - текст отправляемого запроса. Например, SELECT * FROM data."dim_Danet"

       

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

    Вы можете также нажать кнопку Предварительный просмотр SQL запроса, чтобы просмотреть данные, которые вы собираетесь загрузить. В окне просмотра вы не сможете изменить тип данных или сами данные. Если набор данных соответствует тому, что вам нужно, нажми кнопку Загрузить:

     

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

     

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

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

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

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

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

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

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

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

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

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

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

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

     

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

     

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

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

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

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

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

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

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

 

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

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

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

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

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

     

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

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


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

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