Я знаю, что с помощью 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?
Пожалуйста, помогите