scala – Spark数据框到箭头
我一直在
Python中使用Apache Arrow与Spark一段时间,并且通过使用Pandas作为中介,我可以轻松地在数据帧和箭头对象之间进行转换.
然而,最近,我已经从Python迁移到Scala与Spark交互,并且在Scala(Java)中使用Arrow并不像在Python中那样直观.我的基本需求是尽快将Spark数据帧(或RDD,因为它们很容易转换)转换为Arrow对象.我最初的想法是首先转换为Parquet并从Parquet转到Arrow,因为我记得那个pyarrow可以从Parquet读取.但是,如果我错了,请纠正我,看了一下Arrow Java文档后我找不到一个Parquet to Arrow功能. Java版本中不存在此功能吗?有没有另一种方法可以将Spark数据帧添加到Arrow对象中?也许将数据帧的列转换为数组然后转换为箭头对象? 任何帮助将非常感激.谢谢 编辑:找到以下链接,将镶木地板架构转换为箭头架构.但它似乎没有像我需要的那样从镶木地板文件中返回一个Arrow对象: 解决方法
没有Parquet< - > Arrow转换器可用作Java中的库.你可以看看Dremio(
https://github.com/dremio/dremio-oss/tree/master/sabot/kernel/src/main/java/com/dremio/exec/store/parquet)中基于Arrow的Parquet转换器的灵感.我确信Apache Parquet项目欢迎您实现此功能.
我们在C实现中开发了一个用于Parquet的Arrow读取器/写入器:https://github.com/apache/parquet-cpp/tree/master/src/parquet/arrow.嵌套数据支持尚未完成,但它应该在接下来的6-12个月内更完整(贡献者提升的时间越早). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |