在 HDFS 中存储纯文本 JSON 以便在 MongoDB 中使用

Storing plain JSON in HDFS to be used in MongoDB

我正在从不同的 API 中获取 JSON 数据。我想将它们存储在 HDFS 中,然后在 MongoDB.

中使用它们

我是否需要将它们转换为 avro、序列文件、parquet 等,或者我可以简单地将它们存储为普通文件 JSON 并稍后将它们加载到数据库中?

我知道如果我将它们转换为另一种格式,它们会得到更好的分发和压缩,但我如何才能将 avro 文件上传到 MongoDB? MongoDB 只接受 JSON。我应该再做一步从 avro 读取它们并将它们转换为 JSON 吗?

您要获取的数据有多大?如果每个文件小于 128MB(有或没有压缩),它真的不应该在 HDFS 中。

要回答这个问题,格式并不重要。您可以使用 SparkSQL 读取任何 Hadoop 格式(或 JSON)以加载到 Mongo(反之亦然)。

或者先写入Kafka,然后使用Kafka Connect等进程同时写入HDFS和Mongo