powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / NoSQL, Big Data [игнор отключен] [закрыт для гостей] / Выгрузка из Hadoop в Oracle
9 сообщений из 9, страница 1 из 1
Выгрузка из Hadoop в Oracle
    #39076969
sergus166
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер, уважаемые!
Не являюсь специалистом в хадупе, до этого работал только в Oracle, но вот появилась такая задачка: Есть база данных на Hadoop, есть оракловая БД. Необходимо с некоторой периодичностью выполнять некий запрос с группировкой к таблице в хадупе и результат вставлять в оракловую БД. Предполагается, что данные в хадупе ежедневно обновляются (догружаются новые логи).

Предполагаю сделать job в Oozie, который будет дергать скрипт, который будет селектить таблицу и результат инсертить в оракловую таблицу.
Собственно, сам запрос в Hive я написал, но как законнектиться к оракловой БД из хадупа (по аналогии с dblink в Oracle)?
...
Рейтинг: 0 / 0
Выгрузка из Hadoop в Oracle
    #39077068
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergus166Добрый вечер, уважаемые!
Не являюсь специалистом в хадупе, до этого работал только в Oracle, но вот появилась такая задачка: Есть база данных на Hadoop, есть оракловая БД. Необходимо с некоторой периодичностью выполнять некий запрос с группировкой к таблице в хадупе и результат вставлять в оракловую БД. Предполагается, что данные в хадупе ежедневно обновляются (догружаются новые логи).

Предполагаю сделать job в Oozie, который будет дергать скрипт, который будет селектить таблицу и результат инсертить в оракловую таблицу.
Собственно, сам запрос в Hive я написал, но как законнектиться к оракловой БД из хадупа (по аналогии с dblink в Oracle)?Есть два варианта:
1) sqoop - бесплатно, но медленно
2) Oracle Connectоrs. Например, можно глянуть на Oracle Loader for Hadoop или Oracle SQL Connector for HDFS. Стоят денег, но работают сильно быстрее.
...
Рейтинг: 0 / 0
Выгрузка из Hadoop в Oracle
    #39077240
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergus166Предполагаю сделать job в Oozie, который будет дергать скрипт, который будет селектить таблицу и результат инсертить в оракловую таблицу.
Собственно, сам запрос в Hive я написал, но как законнектиться к оракловой БД из хадупа (по аналогии с dblink в Oracle)?

Я писал обычную m/r job'у в хадупе, в которой открывался обычный коннект через банальный jdbc.
Проблемы две.
1. Хадуп считает, что любую мапу можно перезапустить после падения. Что не всегда правда для переливки данных. Т.е. надо использовать merge вместо insert.
2. Хадуп рад запустить столько мапперов, сколько у него ядер в кластере. Это может огорчить :D оракловый сервер и его админов. Тут надо что-то делать.
Я делал так- взял общий объём данных (я переливал из hdfs) делил его на допустимое количество потоков и задвал ЭТО как mapred.min.split.size и mapred.max.split.size. Результат не 100%, но то, что вместо оговоренных 8 потоков заливка иногда ла в 9 - никого не напрягало.
При заливке из hbase вроде как можно просто указать число мапперов (но я hbase старался не трогать- она и так постоянно дохнет).
...
Рейтинг: 0 / 0
Выгрузка из Hadoop в Oracle
    #39080633
sergus166
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey Tominsergus166Предполагаю сделать job в Oozie, который будет дергать скрипт, который будет селектить таблицу и результат инсертить в оракловую таблицу.
Собственно, сам запрос в Hive я написал, но как законнектиться к оракловой БД из хадупа (по аналогии с dblink в Oracle)?

Я писал обычную m/r job'у в хадупе, в которой открывался обычный коннект через банальный jdbc.
Проблемы две.
1. Хадуп считает, что любую мапу можно перезапустить после падения. Что не всегда правда для переливки данных. Т.е. надо использовать merge вместо insert.
2. Хадуп рад запустить столько мапперов, сколько у него ядер в кластере. Это может огорчить :D оракловый сервер и его админов. Тут надо что-то делать.
Я делал так- взял общий объём данных (я переливал из hdfs) делил его на допустимое количество потоков и задвал ЭТО как mapred.min.split.size и mapred.max.split.size. Результат не 100%, но то, что вместо оговоренных 8 потоков заливка иногда ла в 9 - никого не напрягало.
При заливке из hbase вроде как можно просто указать число мапперов (но я hbase старался не трогать- она и так постоянно дохнет).

Alexey Tomin, Вы имеете ввиду job в oozie?
...
Рейтинг: 0 / 0
Выгрузка из Hadoop в Oracle
    #39108219
sergus166
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго вечера всем!

Джоб сделал, падает в процессе выполнения, пытаюсь отладить.

Кусок лога ниже:

Sqoop command arguments :
export
--driver
oracle.jdbc.driver.OracleDriver
--connect
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=XX.YY.AA.BB)(PORT=1521)))(CONNECT_DATA=(SERVER=dedicated)(SERVICE_NAME=ZZZZZ)))
--username
USER
--password
PASSWORD
--table
test_table
--export-dir
/user/hive/warehouse/test_table/
=================================================================

>>> Invoking Sqoop command line now >>>

4397 [main] WARN org.apache.sqoop.tool.SqoopTool - $SQOOP_CONF_DIR has not been set in the environment. Cannot check for additional configuration.
4445 [main] INFO org.apache.sqoop.Sqoop - Running Sqoop version: 1.4.5-cdh5.3.3
4469 [main] WARN org.apache.sqoop.tool.BaseSqoopTool - Setting your password on the command-line is insecure. Consider using -P instead.
4491 [main] WARN org.apache.sqoop.ConnFactory - $SQOOP_CONF_DIR has not been set in the environment. Cannot check for additional configuration.
4533 [main] WARN org.apache.sqoop.ConnFactory - Parameter --driver is set to an explicit driver however appropriate connection manager is not being set (via --connection-manager). Sqoop is going to fall back to org.apache.sqoop.manager.GenericJdbcManager. Please specify explicitly which connection manager should be used next time.
4550 [main] INFO org.apache.sqoop.manager.SqlManager - Using default fetchSize of 1000
4550 [main] INFO org.apache.sqoop.tool.CodeGenTool - Beginning code generation
5646 [main] INFO org.apache.sqoop.manager.SqlManager - Executing SQL statement: SELECT t.* FROM test_table AS t WHERE 1=0
5691 [main] ERROR org.apache.sqoop.manager.SqlManager - Error executing statement: java.sql.SQLSyntaxErrorException: ORA-00933: SQL command not properly ended


Т.е. до оракловой БД процесс достучался, затем он зачем-то запускает сгенерированный селект SELECT t.* FROM test_table AS t WHERE 1=0 и падает на ORA-00933.

При выполнении селекта SELECT t.* FROM test_table AS t WHERE 1=0 непосредственно в оракловой БД та же ошибка.
Что с этим можно сделать? Выручайте, братцы....
...
Рейтинг: 0 / 0
Выгрузка из Hadoop в Oracle
    #39111518
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergus166При выполнении селекта SELECT t.* FROM test_table AS t WHERE 1=0 непосредственно в оракловой БД та же ошибка.
Что с этим можно сделать? Выручайте, братцы....
А если просто
Код: plsql
1.
SELECT * FROM test_table WHERE 1=0
...
Рейтинг: 0 / 0
Выгрузка из Hadoop в Oracle
    #39111700
sergus166
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Apexsergus166При выполнении селекта SELECT t.* FROM test_table AS t WHERE 1=0 непосредственно в оракловой БД та же ошибка.
Что с этим можно сделать? Выручайте, братцы....
А если просто
Код: plsql
1.
SELECT * FROM test_table WHERE 1=0



Такой запрос в Oracle нормально проходит. Проблема в том, что Hadoop при обращении генерит другой запрос (SELECT t.* FROM test_table AS t WHERE 1=0).

Порылся в инете. тут говорят, что драйвер нужно поменять.
...
Рейтинг: 0 / 0
Выгрузка из Hadoop в Oracle
    #39111701
sergus166
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Выгрузка из Hadoop в Oracle
    #39111958
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а почему нельзя через хадуп экстернал таблес - которые суть csv, которые bulk load -> oracle
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / NoSQL, Big Data [игнор отключен] [закрыт для гостей] / Выгрузка из Hadoop в Oracle
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]