[英]Migrate data from mongodb to hdfs
我是數據工程的新手。 我正在嘗試為大數據項目設置環境。 到目前為止,我已經安裝了hadoop,mongodb,hive和spark。 現在,我想嘗試模擬以查看mongodb和hadoop之間的交互。 我的mongodb中已經有數據。 所以我想將數據遷移到hadoop hdfs中。 可能嗎? 我閱讀了很多有關它的解釋,但不理解遷移的想法。 誰能以簡單的方式說明如何做? 因為我是這個領域的初學者。
如果您在Mongo中已經有數據,我建議將SparkSQL與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
(默認為鑲木地板輸出格式 )或df.write.saveAsTable
(對於Spark Hive表)或df.sql("INSERT INTO TABLE ...)
)將數據寫到HDFS或Hive中df.sql("INSERT INTO TABLE ...)
(原始Hive表)。參考-SparkSQL Hive文檔
注意:這是一次性加載...如果要將所有插入和更改從Mongo流式傳輸到Hadoop,則可以使用Debezium w / Kafka,例如,然后使用Debezium集群也運行HDFS Kafka Connect接收器(具有Hive集成)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.