Загрузить данные с предложением where в искровом фрейме - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть таблица oracle, в которой есть n записей, теперь я хочу загрузить данные из этой таблицы с условием where / filter, чтобы активировать dataframe. Я не хочу загружать полные данные в массив данных, а затем применять к ним фильтр. Есть ли какая-либо опция в spark.read.format ("jdb c") ... et c или любом другом решении?

1 Ответ

1 голос
/ 23 апреля 2020

Проверьте ниже код. Вы можете написать свой собственный запрос внутри переменной запроса. Для параллельной обработки или загрузки данных вы можете проверить наличие столбцов partitionColumn, lowerBound и upperBound.

val query = """
  (select columnA,columnB from table_name
    where <where conditions>) table
"""  
val options = Map(
    "url"              -> "<url>".
    "driver"           -> "<driver class>".
    "user"             -> "<user>".
    "password"         -> "<password>".
    "dbtable"          -> query,
    "partitionColumn"  -> "",
    "lowerBound"       -> "<lower bound values>", 
    "upperBound"       -> "<upper bound values>"
)

val df = spark
        .read
        .format("jdbc")
        .options(options)
        .load()

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