ScalaでHDFSファイルを読み込む方法

HDFSファイルを読み込むには、ScalaではHadoopのHDFSクライアントライブラリを使用できます。次の簡単な例は、HDFSファイルを読み込んで印刷する方法を示しています。

“`scala
import org.apache.hadoop.conf.Configuration
import org.apache.hadoop.fs.{FileSystem, Path}

object HdfsFileReader {
def main(args: Array[String]): Unit = {
val conf = new Configuration()
val fs = FileSystem.get(conf)
val filePath = new Path(“hdfs://localhost:9000/path/to/your/file.txt”)

val inputStream = fs.open(filePath)
val buffer = new Array[Byte](1024)

var bytesRead = inputStream.read(buffer)
while (bytesRead > 0) {
println(new String(buffer, 0, bytesRead))
bytesRead = inputStream.read(buffer)
}

inputStream.close()
fs.close()
}
}
“`

上記のコードでは、まず`Configuration`オブジェクトを作成し、`FileSystem.get(conf)`メソッドを使用してHDFSにアクセスするための`FileSystem`オブジェクトを取得します。次に、`new Path(“hdfs://localhost:9000/path/to/your/file.txt”)`を使用してHDFSファイルパスオブジェクトを作成します。次に、`fs.open(filePath)`メソッドを呼び出してファイル入力ストリームを開き、バイト配列バッファを作成します。次に、`inputStream.read(buffer)`メソッドを使用してファイルの内容をバッファに読み込み、`new String(buffer, 0, bytesRead)`を使用してバイト配列を文字列に変換して印刷します。最後に、入力ストリームとファイルシステムオブジェクトの使用が終了したら、`close()`メソッドを呼び出してそれらを閉じます。上記のコードでは、HDFS接続URLが`hdfs://localhost:9000`で、読み込まれるファイルパスが`/path/to/your/file.txt`であると想定しています。実際の状況に応じて、必要に応じて修正してください。

bannerAds