繁体   English   中英

从 SQL Server 到 MongoDB Atlas 的 ETL 管道

[英]ETL pipeline from SQL Server to MongoDB Atlas

我需要您对如何建立从 SQL Server 到 MongoDB Atlas 云的数据管道的意见。 在这个管道中,我完成了许多复杂的任务,即转换甚至分析和故障检测,需要将当前数据与先前处理的数据进行比较。 有一些错误标准只能在新数据与先前处理的数据进行比较时计算。 因此,管道不仅仅是单向的。 可以用AWS上的Kinesis-Lambda管道来完成还是最好用我们公司服务器上的Kafka和Spark来完成,然后将结果上传到云端? 在这两种情况下,我的转换单元如何从目标读取数据。

我在下面的图片中描绘了我的两个想法。 在此处输入图片说明

我只想使用火花。 从 sqlserver 读取,进行转换并写出到 mongo(sql server --> spark --> mongoDB):

#SQL server    
df = (
        spark
            .read
            .format('jdbc')
            .option("driver", "com.microsoft.sqlserver.jdbc.SQLServerDriver")
            .option('url', 'jdbc url')
            .option('user', user)
            .option('password', password)
            .option('dbtable', 'schema.table')
            .option('tempdir', 's3://....')
            .option('forward_spark_s3_credentials', 'true')
            .load()
    
        )
    
    # Mongo
df = spark.read.format("mongo").option("uri","mongodb://127.0.0.1/people.contacts").load()
df.write.format("mongo").option("uri","mongodb://127.0.0.1/people.contacts").mode("append").save()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM