подсчет строк в логах http, глобальный номер строки не обновляется - PullRequest
0 голосов
/ 23 мая 2019

Я пытаюсь использовать scala / spark для анализа файлов журнала http (488 файлов в одном каталоге)

scala> val logs2 = sc.textFile("D:/temp/tests/wwwlogs")
logs2: org.apache.spark.rdd.RDD[String] = D:/temp/tests/wwwlogs  
     MapPartitionsRDD[3] at textFile at <console>:24

scala> logs2.count
res1: Long = 230712

scala> logs2.filter(l => l.contains("92.50.64.234")).count()
res2: Long = 47

, затем я вручную редактирую один файл и добавляю следующую строку:

2017-12-31 03:48:32 . . . GET / статус полный = true 80 - 92.50.64.234 Python-urllib / 2.7 - 404 0 2 416

scala> logs2.filter(l => l.contains("92.50.64.234")).count()
res3: Long = 48

отлично, но затем я выполняю снова

scala> logs2.count
res4: Long = 230712

Это то же количество строк, когда я ожидаю 230712 + 1, когда добавляю одну строку в файл.

Почему результат фильтра обновляется, а глобальный счет - нет?

1 Ответ

0 голосов
/ 23 мая 2019

RDD включить кеш уже? Что касается фильтра, возможно, не применяется кеш.

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