2016-07-26 2 views
1

Google 스토리지 및 Zeppelin으로 스칼라에서 작업 중이므로 다음 쿼리를 사용하여 모든 json 파일을로드 할 수 있습니다.Spark DataFrame Zeppelin 폴더 읽기

sqlContext.read.json("gs://myBucket/*/jsonfile.json") 

내 데이터는 각 청크는 myBucket에서 자신의 폴더를 가지고 작은 덩어리로로 구성되어있다. 청크 폴더에서 나는 내 모든 폴더 경로를 얻으려면 그 덩어리에

  • jsonfile.json
  • otherData.data
  • moreJsons.json

관련 파일을 가지고 다른의 과정을보다 공정/작업 ... 그래서 나는 그런 어떤 것을 할 수있을이에서

if(isJson){ 
    sqlContext.read.json("gs://myBucket/chunkId/jsonfile.json") 
} 

을 예 : chank 경로를 알고 있습니다 : chunkId 그리고 isJson에 대한 내부 논리가 있습니다.

이것이 내가 필요한 것입니다. (나는 그것이 얼마나 명백한 지 알기를 희망합니다 ...) 내 질문은 : 파일 내용을 읽지 않고 폴더 목록을 얻으려면 어떻게해야합니까?

답변

0

스파크에는 파일을 나열하는 기본 제공 메커니즘이 없습니다. 당신이 원하는 메커니즘을 사용할 수 있습니다. 예를 들어 Google 스토리지가 Hadoop 파일 시스템을 통해 매핑 된 경우 Hadoop API를 사용할 수 있습니다. 클러스터를 사용하여 빠른 임시 파일 탐색 (예 : Swoop)을 사용하여 다음과 같이 빠른 탐색을 구현합니다.

Distributed file listing using Spark and the Hadoop filesystem APIs