Как использовать динамическое значение String через запятую в качестве входных данных для List ()? - PullRequest
0 голосов
/ 27 февраля 2019

Я создаю приложение Spark Scala, которое динамически перечисляет все таблицы в базе данных SQL Server, а затем загружает их в Apache Kudu.

Я строю динамическую строковую переменную, которая отслеживает столбцы первичного ключа для каждой таблицы.Первичные ключи разделяются запятой внутри переменной.Ниже приведен пример значения моей переменной:

PrimaryKeys=storeId,storeNum,custId

Ниже приведена обязательная функция, которую я должен ввести List[String] в качестве ввода (первичные клавиши которого определенно не верны):

setRangePartitionColumns(List("storeId","storeNum","custId").asJava

Если я просто использую переменную PrimaryKeys для ввода List (как показано ниже), она будет работать только для одного столбца (и в этом примере произойдет сбой с тремя значениями, разделенными запятыми):

setRangePartitionColumns(List(PrimaryKeys).asJava

Ниже приведен другой пример, но с использованием Seq().Я должен поставить те же имена столбцов первичного ключа в том же формате ниже. Ручной ввод имен столбцов работает нормально, однако я не могу понять, как динамически вводить значения переменных:

kuduContext.createTable(tableName, df.schema, Seq(PrimaryKey), kuduTableOptions)

ЛюбойИдея, как я могу динамически анализировать переменную PrimaryKey и передавать ее в любую функцию независимо от количества включенных значений, разделенных запятыми?

Любая помощь очень ценится.

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