加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 将RDD分区写入其自己目录中的单个镶木地板文件

发布时间:2020-12-16 09:25:47 所属栏目:安全 来源:网络整理
导读:我正在努力处理我想要编写每个RDD分区以将镶木地板文件与其自己的目录分开的步骤.示例将是: root entity=entity1 year=2015 week=45 data_file.parquet 这种格式的优点是我可以直接在SparkSQL中使用它作为列,我不必在实际文件中重复这些数据.这是获得特定分
我正在努力处理我想要编写每个RDD分区以将镶木地板文件与其自己的目录分开的步骤.示例将是:

<root>
        <entity=entity1>
            <year=2015>
                <week=45>
                    data_file.parquet

这种格式的优点是我可以直接在SparkSQL中使用它作为列,我不必在实际文件中重复这些数据.这是获得特定分区而不在其他地方存储单独的分区元数据的好方法.

作为前一步,我从大量gzip文件加载所有数据,并根据上述密钥进行分区.

可能的方法是将每个分区作为单独的RDD然后写入,但我找不到任何好的方法.

任何帮助将不胜感激.顺便说一句,我是这个堆栈的新手.

解决方法

我认为通过在要保存的RDD上调用foreachPartition(f:Iterator [T] => Unit)是可能的.

在foreachPartition中提供的函数中:

>准备路径hdfs:// localhost:9000 / parquet_data / year = x / week = y
> a ParquetWriter>通过将每行插入recordWriter来耗尽迭代器.>清理

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读