У меня есть файл Parquet, который я хотел бы прочитать в своей программе Scala без использования Spark или других технологий больших данных.
Я нашел проекты
, но недостаточно подробных примеров, чтобы заставить их работать.
Parquet-MR
https://stackoverflow.com/a/35594368/4533188 упоминаетэто, но приведенные примеры не полны.Например, не ясно, каким должен быть path
.Предполагается реализовать InputFile
, как это сделать?Кроме того, из поста мне кажется, что Parquet-MR напрямую не обрабатывает данные паркета как стандартные классы Scala.
Угорь
Здесь я попытался
import io.eels.component.parquet.ParquetSource import org.apache.hadoop.conf.Configuration import org.apache.hadoop.fs. {FileSystem, Path}
val parquetFilePath = new Path("file://home/raeg/Datatroniq/Projekte/14. Witzenmann/Teilprojekt Strom und Spannung/python_witzenmann/src/data/1.parquet")
implicit val hadoopConfiguration = new Configuration()
implicit val hadoopFileSystem = FileSystem.get(hadoopConfiguration) // This is required
ParquetSource(parquetFilePath)
.toDataStream()
.collect
.foreach(row => println(row))
но я получаю ошибку
java.io.IOException: No FileSystem for scheme: file
at org.apache.hadoop.fs.FileSystem.getFileSystemClass(ParquetReaderTesting.sc:2582)
at org.apache.hadoop.fs.FileSystem.createFileSystem(ParquetReaderTesting.sc:2589)
at org.apache.hadoop.fs.FileSystem.access$200(ParquetReaderTesting.sc:87)
at org.apache.hadoop.fs.FileSystem$Cache.getInternal(ParquetReaderTesting.sc:2628)
at org.apache.hadoop.fs.FileSystem$Cache.get(ParquetReaderTesting.sc:2610)
at org.apache.hadoop.fs.FileSystem.get(ParquetReaderTesting.sc:366)
at org.apache.hadoop.fs.FileSystem.get(ParquetReaderTesting.sc:165)
at dataReading.A$A6$A$A6.hadoopFileSystem$lzycompute(ParquetReaderTesting.sc:7)
at dataReading.A$A6$A$A6.hadoopFileSystem(ParquetReaderTesting.sc:7)
at dataReading.A$A6$A$A6.get$$instance$$hadoopFileSystem(ParquetReaderTesting.sc:7)
at #worksheet#.#worksheet#(ParquetReaderTesting.sc:30)
в моей рабочей таблице.