Где именно исходные данные будут храниться и обрабатываться при использовании spark и jdbc - PullRequest
0 голосов
/ 26 апреля 2020

Я знаю, что с помощью Spark .it можно напрямую соединяться с любой таблицей СУБД, обрабатывать данные, не помещая этот полный ввод в HDFS

В основном мне нужно написать код, подобный приведенному ниже

empDF = spark.read \
.format("jdbc") \
.option("url", "jdbc:oracle:thin:username/password@//hostname:portnumber/SID") \
.option("dbtable", "hr.emp") \
.option("user", "db_user_name") \
.option("password", "password") \
.option("driver", "oracle.jdbc.driver.OracleDriver") \
.load()

Но у меня есть несколько вопросов

Допустим, у меня есть таблица "hr.emp" в oracle с миллионами записей.

Как spark преобразует эту таблицу "hr.emp" во входные разделы. В HDFS он основан на блоках, как это в oracle read?

Кто читает данные из oracle. Это один водитель? или каждый исполнитель может читать непосредственно из oracle таблицы?

Читает ли spark все записи из таблицы oracle и сохраняет их в "executeMemory каждого исполнителя и применяет к ней преобразования?

Что произойдет, если при чтении некоторых записей из oracle произойдет сбой, Устраняет ли он эту проблему автоматически и пытается снова прочитать сбойные записи?

Для поддержки этого чтения из oracle, Выполните нам нужно поставить банки на платформу oracle?

Пожалуйста, помогите

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...