我有正确的拼花地板文件(我v3io://projects/risk/FeatureStore/ptp/parquet/sets/ptp/1681296898546_70/%确定),并且在这个目录中只有一个文件.我在读取操作期间遇到此一般性错误AnalysisException: Unable to infer schema ...,请查看完整的错误详细信息:

---------------------------------------------------------------------------
AnalysisException                         Traceback (most recent call last)
<ipython-input-26-5beebfd65378> in <module>
      1 #error
----> 2 new_DF=spark.read.parquet("v3io://projects/risk/FeatureStore/ptp/parquet/")
      3 new_DF.show()
      4 
      5 spark.close()

/spark/python/pyspark/sql/readwriter.py in parquet(self, *paths, **options)
    299                        int96RebaseMode=int96RebaseMode)
    300 
--> 301         return self._df(self._jreader.parquet(_to_seq(self._spark._sc, paths)))
    302 
    303     def text(self, paths, wholetext=False, lineSep=None, pathGlobFilter=None,

/spark/python/lib/py4j-0.10.9.3-src.zip/py4j/java_gateway.py in __call__(self, *args)
   1320         answer = self.gateway_client.send_command(command)
   1321         return_value = get_return_value(
-> 1322             answer, self.gateway_client, self.target_id, self.name)
   1323 
   1324         for temp_arg in temp_args:

/spark/python/pyspark/sql/utils.py in deco(*a, **kw)
    115                 # Hide where the exception came from that shows a non-Pythonic
    116                 # JVM exception message.
--> 117                 raise converted from None
    118             else:
    119                 raise

AnalysisException: Unable to infer schema for Parquet. It must be specified manually.

我用的是这个代码:

new_DF=spark.read.parquet("v3io://projects/risk/FeatureStore/ptp/parquet/")
new_DF.show()

奇怪的是,当我使用镶木地板文件的完整路径时,它工作正常:

new_DF=spark.read.parquet("v3io://projects/risk/FeatureStore/ptp/parquet/sets/ptp/1681296898546_70/")
new_DF.show()

你有过类似的问题吗?

推荐答案

出现错误是因为拼图文件不在"v3io://projects/risk/FeatureStore/ptp/parquet/"文件夹中,而是在"v3io://projects/risk/FeatureStore/ptp/parquet/sets/ptp/1681296898546_70/"文件夹中.

这将会奏效:

new_DF=spark.read.parquet("v3io://projects/risk/FeatureStore/ptp/parquet/*/*/*")
new_DF.show()

*语法读取目录中的所有内容.

有关大规模阅读spark.read文件的更多信息,请查看此问题: Regex for date between start- and end-date

Python相关问答推荐

一切似乎都可以自己工作,但当我把它放在一起时,它会抛出RegexMatch错误

Pandas或pyspark跨越列创建

只需使用Python在图像中保留 colored颜色 范围区域

从包含基本数据描述的文本字段中识别和检索特定字符序列

当变量也可以是无或真时,判断是否为假

我可以使用极点优化这个面向cpu的pandas代码吗?

Python中的Pool.starmap异常处理

sys.modulesgo 哪儿了?

如何处理必须存在于环境中但无法安装的Python项目依赖项?

如何防止Plotly在输出到PDF时减少行中的点数?

Pythind 11无法弄清楚如何访问tuple元素

理解Python的二分库:澄清bisect_left的使用

max_of_three使用First_select、second_select、

try 在树叶 map 上应用覆盖磁贴

通过Selenium从页面获取所有H2元素

如果值不存在,列表理解返回列表

ODE集成中如何终止solve_ivp的无限运行

迭代嵌套字典的值

如何启动下载并在不击中磁盘的情况下呈现响应?

python—telegraph—bot send_voice发送空文件