zipWithIndex
- это то, что вам нужно здесь. Он отображает от RDD[T]
до RDD[(T, Long)]
путем добавления индекса во вторую позицию пары.
sample1
.zipWithIndex()
.map { case (line, i) => i.toString + ", " + line }
или с использованием строковой интерполяции (см. комментарий @ DanielC.Sobral)
sample1
.zipWithIndex()
.map { case (line, i) => s"$i, $line" }
Используйте %d
в Вашем PatternLayout.
Также %d
может взять образец формата в качестве в %d{dd MMM yyyy HH:mm:ss,SSS}
, можно привередливо выбрать элементы, которые Вы хотите. Когда образец формата будет опущен, дата будет в формате ISO8601.
Извлечение из моего файла
log4j.rootLogger=INFO, stdout, logfile
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p (%t) [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=C:/log/client.log
log4j.appender.logfile.MaxFileSize=5MB
log4j.appender.logfile.MaxBackupIndex=0
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
свойств Можно найти больше использования символов преобразования в log4j javadoc. Например, в http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html .