pyspark读取mongodb需要的配置及注意事项
By:Roy.LiuLast updated:2020-01-05
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 包
From:一号门
Previous:Linux(Centos7.6)下搭建SVN服务器
Next:DELPHI修改通讯接口
COMMENTS