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