Импорт данных из Oracle с использованием Spark - PullRequest
0 голосов
/ 27 сентября 2018

В Databricks я использую следующий код для извлечения данных из Oracle.

%scala
val empDF = spark.read 
    .format("jdbc") 
    .option("url", "jdbc:oracle:thin:username/password//hostname:port/sid") 
    .option("dbtable", "EMP") 
    .option("user", "username") 
    .option("password", "password") 
    .option("driver", "oracle.jdbc.driver.OracleDriver") 
    .load()

Я получаю следующую ошибку:

java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection

ojdbc6.jar присоединено к кластерукак библиотека.

Мне нужно подключиться к Oracle, чтобы прочитать данные таблицы.Таблица также содержит данные BLOB.

1 Ответ

0 голосов
/ 27 сентября 2018

Во-первых, вам следует дважды проверить, что ваш кластер Apache Spark ™ имеет сетевой доступ к вашей базе данных Oracle:

%sh
telnet <host> <port>

Я предполагаю, что ваш экземпляр Oracle также работает в вашей облачной учетной записи.Возможно, вам потребуется выполнить пиринг VPC (если используется AWS), чтобы разрешить соединение между кластерами Databricks и экземпляром базы данных в другом VPC для частного доступа.Если у вас нет проблем с конфиденциальностью, вы можете открыть мир с помощью настроек группы безопасности.

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

...