我有这样一个hdfs路径结构:\ p\u root=foo/\ p\u a=4444/\ p\u b=1/\ p\u c=20,其中所有Parquet文件都位于\u p\u c下。p是一个分区。
使用spark,我可以指定任何级别的路径,例如:仅\u p\u root、\u p\u a或\u p\u b。e、 例如:val df=sqlcontext.read.parquet(“\u p\u root=foo/”),我的df将有其他目录作为列。
现在,我喜欢看没有Spark的Parquet地板。
我使用avroparquetreader感谢阅读Parquet文件从scala没有使用Spark
以下是我的代码片段:
val reader = AvroParquetReader
.builder[GenericRecord](path)
.build()
.asInstanceOf[ParquetReader[GenericRecord]]
val iter: Iterator[GenericRecord] = Iterator
.continually(reader.read)
.takeWhile(_ != null)
如果我的路径一直到\u p\c,这就行了。但是,如果我指定一个包含其他目录的路径,我将得到一个空迭代器。
所以我的问题是:当路径不是叶目录时,如何指定读取parquet的路径。当然没有Spark。
暂无答案!
目前还没有任何答案,快来回答吧!