首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用与hadoop spark拼花相同的头保存带有pandas的镶木?

如何使用与hadoop spark拼花相同的头保存带有pandas的镶木?
EN

Stack Overflow用户
提问于 2021-10-21 08:04:39
回答 1查看 54关注 0票数 1

我有几个文件(csv,..)我使用pandas和pyarrow.table (0.17)在磁盘上将其保存为拼图(拼图版本1.4)

代码语言:javascript
运行
复制
colums
id : string
val : string

table = pa.Table.from_pandas(df)        
pq.write_table(table, "df.parquet", version='1.0', flavor='spark', write_statistics=True, )

但是,Hive和Spark无法识别镶木地板版本:

代码语言:javascript
运行
复制
org.apache.parquet.VersionParser$VersionParseException: Could not parse created_by: parquet-cpp version 1.5.1-SNAPSHOT using format: (.+) version ((.*) )?\(build ?(.*)\)
        at org.apache.parquet.VersionParser.parse(VersionParser.java:112)
        at org.apache.parquet.CorruptStatistics.shouldIgnoreStatistics(CorruptStatistics.java:60)
        at org.apache.parquet.format.converter.ParquetMetadataConverter.fromParquetStatistics(ParquetMetadataConverter.java:263)

只是想知道,如何保存为“火花镶嵌”在时髦的格式,而不使用启动火花(即有点夸张)。

元数据似乎丢失了。

基于Pace注释进行编辑:

旧版本的parquer上的问题,现在修复了https://issues.apache.org/jira/browse/PARQUET-349

老版本的蜂巢,Spark仍然有这个问题。https://issues.apache.org/jira/browse/HIVE-19464

Python Arrow不提供拼图版本:https://github.com/apache/arrow/blob/4591d76fce2846a29dac33bf01e9ba0337b118e9/python/pyarrow/_parquet.pxd#L360

EN

回答 1

Stack Overflow用户

发布于 2021-10-22 01:46:35

除了Pace之外,还有很好的评论/建议。

此问题的解决方法是使用快速拼接,如下所示:

代码语言:javascript
运行
复制
import fastparquet as fp
df = df.to_pandas()
fp.write('yourdir', df, fixed_text=None,
         compression='SNAPPY', file_scheme='hive')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69658140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档