Apache Sparkを使用せずにParquetファイルを読み込もうとしていますが、できますが、特定の列を読みにくいことがわかりました。ほとんどすべての投稿は、寄木細工のファイルを使用して読んでいるので、私はGoogleの良いリソースを見つけることができません。Sparkを使用せずにParquetの特定の列を読む
import org.apache.hadoop.fs.{FileSystem, Path}
import org.apache.avro.generic.GenericRecord
import org.apache.parquet.hadoop.ParquetReader
import org.apache.parquet.avro.AvroParquetReader
object parquetToJson{
def main (args : Array[String]):Unit= {
//case class Customer(key: Int, name: String, sellAmount: Double, profit: Double, state:String)
val parquetFilePath = new Path("data/parquet/Customer/")
val reader = AvroParquetReader.builder[GenericRecord](parquetFilePath).build()//.asInstanceOf[ParquetReader[GenericRecord]]
val iter = Iterator.continually(reader.read).takeWhile(_ != null)
val list = iter.toList
list.foreach(record => println(record))
}
}
コメントアウトケースクラスは、私のファイルのスキーマを表し、上記のコードは、ファイルからすべての列を読み込み、今書き:以下は私のコードです。私は特定の列を読んでみたい。