Как передать файл конфигурации, размещенный в HDFS, в Spark Application? - PullRequest
0 голосов
/ 07 мая 2019

Я работаю со Spark Structured Streaming.Также я работаю с Scala.Я хочу передать конфигурационный файл в мое искровое приложение.Этот файл конфигурации размещен в HDFS.Например;

spark_job.conf (HOCON)

spark {
  appName: "",
  master: "",
  shuffle.size: 4 
  etc..
}

kafkaSource {
  servers: "",
  topic: "",
  etc..
}

redisSink {
  host: "",
  port: 999,
  timeout: 2000,
  checkpointLocation: "hdfs location",
  etc..
}

Как передать его в Spark Application?Как я могу прочитать этот файл (hosted HDFS) в Spark?

1 Ответ

2 голосов
/ 09 мая 2019

Вы можете прочитать конфигурацию HOCON из HDFS следующим образом:

import com.typesafe.config.{Cofig, ConfigFactory}
import java.io.InputStreamReader
import java.net.URI
import org.apache.hadoop.fs.{FileSystem, Path}
import org.apache.hadoop.conf.Configuration

val hdfs: FileSystem = FileSystem.get(new URI("hdfs://"), new Configuration())

val reader = new InputStreamReader(hdfs.open(new Path("/path/to/conf/on/hdfs")))

val conf: Config = ConfigFactory.parseReader(reader)

Вы также можете передать URI вашего namenode на FileSystem.get(new URI("your_uri_here")), и код все равно будет считывать вашу конфигурацию.

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