我有一个日志系统,日志以时间戳命名。
例如:
logs/2015/05/08/21
logs/2015/05/08/22
logs/2015/05/08/23
logs/2015/05/09/00
logs/2015/05/09/01
logs/2015/05/09/02
logs/2015/05/09/04
logs/2015/05/09/05
现在我需要选择一系列目录作为我任务的输入。
例如(注意05/09/03少了,这是正常的)
logs/2015/05/08/22
logs/2015/05/08/23
logs/2015/05/09/00
logs/2015/05/09/01
logs/2015/05/09/02
logs/2015/05/09/04
如何设置文件输入路径?我知道很容易获得从 08/22 到 09/04 的文件范围,但我怎么知道哪个文件丢失了?
最佳答案
SparkContext.textFile() 将采用文件系统 glob 和逗号分隔的路径。因此,您可以:
val logLines = sc.textFile("logs/*/*/*/*")
或者你可以这样做:
val logLines = sc.textFile("logs/2015/05/08/22,logs/2015/05/08/23,logs/2015/05/09/00,logs/2015/05/09/01,logs/2015/05/09/02,logs/2015/05/09/04"
关于hadoop - 如何将spark/hadoop任务的输入设置为一系列文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30137532/