如何使用动态逗号分隔的字符串值作为List()的输入?

时间:2019-02-27 16:36:33

标签: scala apache-spark

我正在构建一个Spark Scala应用程序,该应用程序动态列出SQL Server数据库中的所有表,然后将它们加载到Apache Kudu。

我正在构建一个动态字符串变量,该变量跟踪每个表的主键列。主键在变量内用逗号分隔。以下是我的变量值的示例:

PrimaryKeys=storeId,storeNum,custId

以下是必需的功能,我必须输入List[String]作为输入(其主键肯定是不正确的):

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

如果我仅将PrimaryKeys变量用于List输入(如下所示),则该变量仅适用于单列(在此示例中,使用3个逗号分隔的值将失败):< / p>

setRangePartitionColumns(List(PrimaryKeys).asJava

以下是另一个示例,但使用的是Seq()。我应该在下面以相同的格式放置相同的主键列名。手动键入列名可以很好地工作,但是我不知道如何动态输入变量值:

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

有没有办法知道如何动态解析变量PrimaryKey并将其馈送到任一函数中,而与包含的逗号分隔值的数量无关?

非常感谢您的协助。

0 个答案:

没有答案