2016-02-03 1 views
0

Я потянул данные от Hana на Hadoop. Я использую sqoop 1.4.4-mapr-1408. Соединение Hana устанавливается с использованием JDBC-соединения в Sqoop с использованием Jar-файла, предоставленного SAP Hana-ngdbc.jar.Детали использования сеанса или детали реализации ngdbc.jar

Теперь вопрос -

  1. Как банку взаимодействовать с SAP HANA?
  2. Получает ли он всю таблицу в памяти или отображает только определенный размер партии в памяти?
  3. Каким образом эти показатели можно измерить в нашей системе с конца HANA?

ответ

1
  1. , Jar архив содержит собственную реализацию JAVA JDBC протокола HANA проволоки в SAP. См. Документацию для этого здесь: http://help.sap.com/hana/SAP_HANA_SQL_Command_Network_Protocol_Reference_en.pdf Существует не так много «магии», но это довольно оптимизированная реализация JDBC 4 .

    1. Драйвер JDBC не создает таблицы вообще. Таблицы никогда не покидают базу данных. То, что вы получаете от драйвера, - это наборы результатов. Если вы запрос глупый - просто читает целую таблицу, тогда драйвер предоставит соответствующий результат. Это, конечно, происходит не сразу, поэтому вам не нужно «пить воду из шланга». Цикл open-fetch-next, который вы должны реализовать в своем клиентском коде, преобразуется драйвером в аналогичную передачу пакетов с сервера клиенту. Размер блока для этого (размер блока) обычно устанавливается автоматически и может быть установлен через API JDBC.

    2. Вы можете использовать трафик производительности JDBC и статистику сети на сервере SAP HANA.

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

мои 2 cts.

+0

Спасибо Lars. Когда вы говорите «материализуя большие результирующие наборы», вы можете объяснить еще кое-что. Также, что происходит в случае Views - как оптимизируется этот процесс? –

+0

Материализация - это процесс превращения внутренних структур данных (хранилища столбцов) в результирующий набор. Поскольку эта целая тема довольно сложная, я не могу ее переместить именно здесь, Возможно, вы захотите больше рассказать о внутренней работе SAP HANA, например, с помощью scn.sap.com или, может быть, моей книги :-) –

+0

Wow! Это круто! У меня есть друзья, которые работают над HANA - это им будет интересно. –