使用spark流将非结构化数据持久化到hadoop

cqoc49vn  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(486)

我有一个使用spark streaming创建的摄取管道,我想在hadoop中将rdd存储为一个大的非结构化(jsonl)数据文件,以简化将来的分析。
将astream持久化到hadoop而不产生大量小文件的最佳方法是什么(因为hadoop不能很好地处理这些问题,它们会使分析工作流程复杂化)

g6baxovj

g6baxovj1#

首先,我建议使用一个持久层,可以像cassandra那样处理这个问题。但是,如果您在hdfs上已经死机,那么邮件列表已经有了答案
你可以用 FileUtil.copyMerge (来自hadoop fs)api并指定文件夹的路径 saveAsTextFiles 正在保存零件文本文件。假设您的目录是/a/b/c/use

FileUtil.copyMerge(FileSystem of source, a/b/c, 
    FileSystem of destination, Path to the merged file say (a/b/c.txt), 
    true(to delete the original dir,null))

相关问题