簡體   English   中英

將數據從mongodb遷移到hdfs

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM