J'essaie de lire les fichiers de Parquet sans utiliser Apache Spark et je suis capable de le faire mais j'ai du mal à lire des colonnes spécifiques. Je ne suis pas en mesure de trouver une bonne ressource de Google car presque tout le post est sur la lecture du fichier parquet en utilisant. Ci-dessous mon code:Lire la colonne spécifique de Parquet sans utiliser Spark
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))
}
}
Le commenté classe de cas représente le schéma de mon fichier et écrire maintenant le code ci-dessus lit toutes les colonnes du fichier. Je veux lire des colonnes spécifiques.