Можно ли построить код на лету и выполнить? - PullRequest
0 голосов
/ 19 ноября 2018

Я пытаюсь создать универсальную функцию для чтения CSV-файла, используя базы данных CSV READER. Но опция не обязательна, она может отличаться в зависимости от моего входного файла конфигурации JSON.

Пример 1:

 "ReaderOption":{

                    "delimiter":";",
                    "header":"true",
                    "inferSchema":"true",
                    "schema":"""some custome schema.."""
            },

Example2:

   "ReaderOption":{

                        "delimiter":";",
                        "schema":"""some custome schema.."""
                },

Можно ли построить параметры или весь оператор read во время выполнения и запустить в spark?

как показано ниже,

  def readCsvWithOptions(): DataFrame=
{

  val options:Map[String,String]= Map("inferSchema"->"true")
  val readDF = jobContext.spark.read.format("com.databricks.spark.csv")
   .option(options)
  .load(inputPath)
  readDF
}

1 Ответ

0 голосов
/ 24 ноября 2018

def readCsvWithOptions (): DataFrame = {

val options: Map [String, String] = Map ("inferSchema" -> "true") val readDF = jobContext.spark.read.format ("com.databricks.spark.csv") .Options (варианты) .load (inputPath) readDF }

Есть опции, которые принимают ключ, пару значений.

...