2016-07-26 7 views
1

私はGoogleストレージとZeppelinでScalaで作業しています。次のクエリを使用してすべての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 StorageがHadoopファイルシステム経由でマップされている場合は、Hadoop APIを使用できます。クラスタを使用して、ファイルの横断検索を高速に実装します(例:Swoopでの迅速なアドホックタスクに使用する、次のようなもの)。

Distributed file listing using Spark and the Hadoop filesystem APIs

関連する問題