0
다른 색인을 쿼리하여 많은 텍스트 파일에서 데이터를 처리하려면 Spark을 사용해야합니다. 작은 경우 (RDD를 배열로 변환/아래 참조)에이 작업을 수행 할 수 있지만 더 많은 양의 데이터로 작업 할 수 있도록 설정하는 데 어려움이 있습니다.RDD에서 sc.textFile의 내포 된 사용
val rootPath = "..."
val ndxRDD = sc.textFile(rootPath + "index/2016-09-01*")
def ndxToDoc(articleName: String): String = { sc.textFile(rootPath + articleName).first(); }
// works
val artcilesArr = ndxRDD.collect().map(ndxToDoc);
val articlesRDD = sc.parallelize(articlesArr)
// does not work
// val articlesRDD = ndxRDD.map(ndxToDoc)
articlesRDD.count()
나는 문제가 나는 RDD 내부의 파일을 읽기 위해 노력하고 있다는 것입니다 믿습니다
나는이 있습니다. 중간없이 위의 작업을 수행하려면 어떻게합니까?collect()
-
map -> textFile()
-
parallelize()
이 설정되어 있습니까?
미리 감사드립니다.
유스 케이스를 이해하고 있는지 확인하기 위해로드하고 싶은 수십억 개의 다른 파일 이름이있는 텍스트 파일이 있습니까? 또한 어떤 버전의 스파크를 사용하고 있습니까? –
수십억 개의 다른 파일 이름을 가진 수십억 개의 텍스트 파일 (본질적으로 인덱스)이 있습니다. 나는 Spark 1.6을 사용하고 있지만 필요하다면 Spark 2.0으로 쉽게 업그레이드 할 수있다. – Vineet