спарк jdbc чтение настройки, где таблица без первичного ключа - PullRequest
0 голосов
/ 21 сентября 2018

Я читаю 30 миллионов записей из таблицы оракулов без столбцов первичного ключа.При чтении spark jdbc зависает и не получает никаких данных.где я могу получить результат от Oracle SQLDeveloper в течение нескольких секунд для того же запроса.

oracleDf = hiveContext.read().format("jdbc").option("url", url)
                        .option("dbtable", queryToExecute)
                        .option("numPartitions ","5")
                        .option("fetchSize","1000000")
                        .option("user", use).option("password", pwd).option("driver", driver).load().repartition(5);

Я не могу использовать столбцы разделов, поскольку у меня нет столбца первичного ключа.Может кто-нибудь посоветует улучшить производительность.

Спасибо

1 Ответ

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

Есть много вещей, которые можно использовать для оптимизации вашего создания DF.Возможно, вы захотите удалить repartition, а также использовать предикаты для распараллеливания процесса извлечения данных для действий Spark.

Если фильтр не основан на первичном ключе или индексированном столбце, исследуйте ROWID есть возможность.

...