Как создать журнал папки читается в scala spark - PullRequest
0 голосов
/ 06 марта 2020

Папка hdfs выглядит следующим образом:

/test/data/2020-03-01/{multiple inside files csv}
/test/data/2020-03-02/{multiple files csv}
/test/data/2020-03-03/{multiple files csv }

Я хочу читать данные в папке по одному, а не целиком

spark.read.csv("/test/data/*") //not in such manner

Не указанным выше способом, я хочу прочитать подать по одному; так что я могу сделать запись в журнале в какой-то базе данных, что папка с датой читается; чтобы в следующий раз я мог пропустить эту папку на следующий день или в тот же день, если программа запустилась случайно:

1 Ответ

0 голосов
/ 06 марта 2020
val conf = new Configuration()
val iterate = org.apache.hadoop.fs.FileSystem.get(new URI(strOutput), conf).listLocatedStatus(new org.apache.hadoop.fs.Path(strOutput))
while (iterate.hasNext) {
    val pathStr = iterate.next().getPath.toString
    println("log---->"+pathStr)
    val df = spark.read.text(pathStr) 
  }

Попробуйте что-то подобное выше и прочитайте как фрейм данных, если хотите, вы можете объединить новую дату df со старой df.

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