hadoop 在HDFS中存储纯JSON以用于MongoDB

bsxbgnwa  于 2022-11-01  发布在  Hadoop
关注(0)|答案(1)|浏览(149)

我正在从不同的API获取JSON数据。我希望将它们存储在HDFS中,然后在MongoDB中使用它们。
我是否需要将它们转换为avro、序列文件、parquet等,或者我可以简单地将它们存储为普通JSON,然后将它们加载到数据库中?
我知道如果我把它们转换成另一种格式,它们会得到更好的分布和压缩,但我如何能够上传一个avro文件到MongoDB?MongoDB只接受JSON。我应该做另一个步骤,从avro读取它们,并转换成JSON吗?

ztyzrc3y

ztyzrc3y1#

如果每个文件的数据量小于128MB(压缩或未压缩),那么它就不应该存储在HDFS中。
要回答这个问题,格式其实并不重要,您可以使用SparkSQL读取任何Hadoop格式(或JSON)并加载到Mongo中(反之亦然)。
或者,您可以先将数据写入Kafka,然后使用Kafka Connect之类的进程同时写入HDFS和Mongo。

相关问题