首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ApacheSpark2.0parquet文件与Apache不兼容吗?

ApacheSpark2.0parquet文件与Apache不兼容吗?
EN

Stack Overflow用户
提问于 2020-04-15 17:31:09
回答 1查看 514关注 0票数 1

问题所在

我已经为DataFrame环境中的一个深入学习应用程序编写了一个application文件;我目前在实现petastorm (遵循这个笔记本)和霍洛维德框架的基本示例(即读取上述文件)时遇到了一些问题。DataFrame有以下类型:DataFrame[features: array<float>, next: int, weight: int] (就像DataBricks的笔记本中的features be VectorUDT,我将其转换为数组)。

在这两种情况下,Apache都抛出一个ArrowIOError : Invalid parquet file. Corrupt footer.错误。

到现在为止我发现了什么

我在这个问题这个公关中发现,从2.0版开始,Spark不编写_metadata_common_metadata文件,除非spark.hadoop.parquet.enable.summary-metadata在Spark的配置中被设置为true;这些文件确实缺少。

因此,我尝试用这个环境重写我的DataFrame,仍然没有_common_metadata文件。在构造读取器(例如,将schema_fields传递给make_batch_reader;这与horovod有关,因为horovod.spark.keras.KerasEstimator的构造函数中没有这样的参数)时,可以解释地将模式传递给petastorm。

如果可能的话,我如何才能让Spark输出这些文件,或者在Arrow中推断模式,就像Spark似乎正在做的那样?

带horovod的极小例子

代码语言:javascript
复制
# Saving df
print(spark.config.get('spark.hadoop.parquet.enable.summary-metadata')) # outputs 'true'
df.repartition(10).write.mode('overwrite').parquet(path)

# ...

# Training
import horovod.spark.keras as hvd
from horovod.spark.common.store import Store

model = build_model()
opti = Adadelta(learning_rate=0.015)
loss='sparse_categorical_crossentropy'
store = Store().create(prefix_path=prefix_path,
                       train_path=train_path,
                       val_path=val_path)
keras_estimator = hvd.KerasEstimator(
    num_proc=16,
    store=store,
    model=model,
    optimizer=opti,
    loss=loss,
    feature_cols=['features'],
    label_cols=['next'],
    batch_size=auto_steps_per_epoch,
    epochs=auto_nb_epochs,
    sample_weight_col='weight'
)

keras_model = keras_estimator.fit_on_parquet() # Fails here with ArrowIOError
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-29 13:40:11

这个问题在pyarrow 0.14+ (Ises.apache.org/jira/浏览/箭头-4723)中解决了,请确保使用pip安装更新版本(直到DatabricksRuntime6.5,包含的版本为0.13)。

感谢@joris的评论指出了这一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61234955

复制
相关文章

相似问题

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