Конвертировать карту в картуРаспределения в искре - PullRequest
0 голосов
/ 02 мая 2018

У меня есть код для анализа файла журнала, используя map transformatio n. Затем RDD был преобразован в DF.

val logData = sc.textFile("hdfs://quickstart.cloudera:8020/user/cloudera/syslog.txt")

val logDataDF = logData.map(rec => (rec.split(" ")(0), rec.split(" ")(2), rec.split(" ")(5))).toDF("month", "date", "process")

Я хотел бы знать, могу ли я использовать mapPartitions в этом случае вместо map.

1 Ответ

0 голосов
/ 02 мая 2018

Я не знаю, каков ваш вариант использования, но вы определенно можете использовать mapPartition вместо map. Ниже код вернет тот же logDataDF.

val logDataDF = logData.mapPartitions(x => {
  val lst = scala.collection.mutable.ListBuffer[(String, String, String)]()
  while (x.hasNext) {
    val rec = x.next().split(" ")
    lst += ((rec(0), rec(2), rec(5)))
  }
  lst.iterator
}).toDF("month", "date", "process")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...