pyspark读取mongodb需要的配置及注意事项

摘要: MongodDB中的数据量太多了,打算将数据从Mongodb中被分到HDFS中,按平常的处理方法,至少是可以通过pymongo读取mongodb中的数据,然后把这些数据转成pandas dataframe 或者 spark dataframe,然后再写入HDFS的,但今天尝试了下直接通过spark连接MongoDB的处理方式。这里需要mongo-spark-connect,这是第三方插件提供的,所以需要经过如下配置才可以实现</p>

 MongodDB中的数据量太多了,打算将数据从Mongodb中被分到HDFS中,按平常的处理方法,至少是可以通过pymongo读取mongodb中的数据,然后把这些数据转成pandas dataframe 或者 spark dataframe,然后再写入HDFS的,但今天尝试了下直接通过spark连接MongoDB的处理方式。这里需要mongo-spark-connect,这是第三方插件提供的,所以需要经过如下配置才可以实现。

1. 下载相关jar包, 下面是我自己用到的两个jar包, 自己可以搜索maven坐标

mongo-spark-connector_2.11-2.4.1.jar, mongo-java-driver-3.11.0-rc0.jar

下载下来之后,将这两个jar包拷贝到 spark的安装目录的jar包目录下:

下面编写 python spark的测试代码:

if __name__ == '__main__':
    #update_single_ass_config("20200101","CAL_ALL_ASS_RULES")   
    myconf = SparkConf()   
    myconf.set("spark.jars.packages","org.mongodb.spark:mongo-spark-connector_2.11:2.4.1")
    sc = pyspark.SparkContext()
    sc.setLogLevel('WARN')
    spark = SparkSession.builder.config(conf=myconf).getOrCreate()
    df = spark.read.format("com.mongodb.spark.sql") \
        .option("uri", "mongodb://127.0.0.1:27017/bigdata") \
        .option("collection", "testColl") \
        .load()
    df.show()
    df_daily = df.filter(df.dateu == "2019-10-18")
    df_daily.show()
    sys.exit(0)

关键是在conf中加载相关的 jar 包

上一篇: Linux(Centos7.6)下搭建SVN服务器
下一篇: DELPHI修改通讯接口

Avatar

inzestporno.info 评论于: 2020-01-29

I'm curious to find out what blog platform you have been using?
I'm experiencing some minor security problems with my latest blog and I'd like to find something more secure.
Do you have any recommendations?
 评论 ( What Do You Think )
名称
邮箱
网址
评论
验证
   
 

 


  • 微信公众号

  • 我的微信

站点声明:

1、一号门博客CMS,由Python, MySQL, Nginx, Wsgi 强力驱动

2、部分文章或者资源来源于互联网, 有时候很难判断是否侵权, 若有侵权, 请联系邮箱:summer@yihaomen.com, 同时欢迎大家注册用户,主动发布无版权争议的 文章/资源.

3、鄂ICP备14001754号-3, 鄂公网安备 42280202422812号