Spark:根据属性文件进行过滤

时间:2018-03-26 15:35:21

标签: scala

我在文件夹中有大量文件,其中我只需要处理基于 file_types和投资组合 的少量文件。 Filenaming模式如下所示。

/* FILENAME pattern */ 
<file_name>_<file_type>_<portfolio>_<date>_<time>.csv

<Code>
val data = spark.sparkContext.wholeTextFiles(wholeFilesPath)
val files = data.map { case (individualFile, _) => individualFile}
files.collect.foreach( file => {
                           f => /* code */
                   })

我正在看它,我可以将 file_types和投资组合 存储在我的编码逻辑之外的属性文件中 并根据它过滤文件。 如果我将来需要添加或删除任何我想要的组合,只能在属性文件中。 我该如何处理?

1 个答案:

答案 0 :(得分:0)

如果要使用spark-submit命令发送该属性文件,则可以使用属性文件。在你的代码中,你应该做这样的事情

import java.util.Properties

def foo(Proerties:properties): DataFrame = {
  val a =  properties.getProperty("mykey")
  val b = spark.read.json(a)
  return a
}

您的属性文件如下所示:

mykey= bar_portfoliocode.csv