1
我正在尝试阅读Parquet文件而不使用Apache Spark,我能够做到这一点,但我发现很难阅读特定的列。我无法找到任何Google的优质资源,因为几乎所有的帖子都是关于阅读使用的镶木地板文件。下面是我的代码:阅读来自实木复合材料的特定列而不使用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))
}
}
注释掉案例类代表我的文件的模式,并写信上面的代码从文件中读取的所有列。我想阅读特定的列。