1. ホーム
  2. apache-spark

[解決済み] 複数のテキストファイルを1つのRDDに読み込むには?

2022-04-15 17:12:49

質問

hdfsから大量のテキストファイルを読み込んで、sparkを使ってイテレーションでマッピングを行いたいのですが、どうすればいいですか?

JavaRDD<String> records = ctx.textFile(args[1], 1); は、一度に1つのファイルしか読み込むことができません。

複数のファイルを読み込んで、1つのRDDとして処理したいのですが。どのようにすればよいですか?

どのように解決するのですか?

ディレクトリ全体の指定、ワイルドカードの使用、ディレクトリとワイルドカードのCSVも可能です。 例

sc.textFile("/my/dir1,/my/paths/part-00[0-5]*,/another/dir,/a/specific/file")

Nick Chammasが指摘するように、これはHadoopの FileInputFormat というわけで、これはHadoop(とScalding)でも動作します。