gpt4 book ai didi

mongodb - 将数据从mongodb迁移到hdfs

转载 作者:可可西里 更新时间:2023-11-01 16:23:07 27 4
gpt4 key购买 nike

我是数据工程的新手。我正在尝试为大数据项目设置环境。截至目前,我已经安装了 hadoop、mongodb、hive 和 spark。现在我想尝试模拟以查看 mongodb 和 hadoop 之间的交互。我的 mongodb 中已经有数据。所以我想将数据迁移到 hadoop hdfs 中。是否可以?我读了很多关于它的解释,但不明白迁移的想法。任何人都可以用简单的方式解释如何做吗?因为我是这个领域的初学者。

最佳答案

如果您已经在 Mongo 中有数据,我建议使用 SparkSQL with Mongo 加载您集合的 DataFrame 对象,我们称它为 df

例如

SparkSession spark = SparkSession.builder()
.master("local")
.appName("MongoSparkConnectorIntro")
.config("spark.mongodb.input.uri", "mongodb://127.0.0.1/test.myCollection")
.config("spark.mongodb.output.uri", "mongodb://127.0.0.1/test.myCollection")
.getOrCreate();

// Create a JavaSparkContext using the SparkSession's SparkContext object
JavaSparkContext jsc = new JavaSparkContext(spark.sparkContext());

// Load data and infer schema, disregard toDF() name as it returns Dataset
Dataset<Row> df = MongoSpark.load(jsc).toDF();

然后您可以使用 df.write.save, which defaults to parquet output formatdf.write.saveAsTable(对于 Spark Hive 表)或 df.sql("INSERT INTO TABLE . ..)(原始 Hive 表)。引用 - SparkSQL Hive docs


注意:这是一次性加载...如果您想将所有插入和更改从 Mongo 流式传输到 Hadoop,您可以使用 Debezium w/Kafka,例如,然后使用 Debezium 集群来运行一个HDFS Kafka Connect Sink(集成了 Hive)

关于mongodb - 将数据从mongodb迁移到hdfs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53334570/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com