小编roo*_*kit的帖子

找不到数据源:com.mongodb.spark.sql.DefaultSource

我正在尝试将 spark (pyspark) 连接到 mongodb,如下所示:

conf = SparkConf()
conf.set('spark.mongodb.input.uri', default_mongo_uri)
conf.set('spark.mongodb.output.uri', default_mongo_uri)
sc = SparkContext(conf=conf)
sqlContext = SQLContext(sc)
spark = SparkSession \
    .builder \
    .appName("my-app") \
    .config("spark.mongodb.input.uri", default_mongo_uri) \
    .config("spark.mongodb.output.uri", default_mongo_uri) \
    .getOrCreate()
Run Code Online (Sandbox Code Playgroud)

但是当我执行以下操作时:

users = spark.read.format("com.mongodb.spark.sql.DefaultSource") \
        .option("uri", '{uri}.{col}'.format(uri=mongo_uri, col='users')).load()
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

java.lang.ClassNotFoundException:找不到数据源:com.mongodb.spark.sql.DefaultSource

我从 pyspark shell 做了同样的事情,我能够检索数据。这是我运行的命令:

pyspark --conf "spark.mongodb.input.uri=mongodb_uri" --conf "spark.mongodb.output.uri=mongodburi" --packages org.mongodb.spark:mongo-spark-connector_2.11:2.2.2
Run Code Online (Sandbox Code Playgroud)

但是在这里我们可以选择指定我们需要使用的包。但是独立的应用程序和脚本呢?我如何在那里配置 mongo-spark-connector。

有任何想法吗?

mongodb apache-spark pyspark

8
推荐指数
3
解决办法
6983
查看次数

使用python编辑PDF中的文本

我有一个pdf文件,我需要编辑pdf中的一些文本/值。例如,在我具有“生日DD / MM / YYYY”的pdf中,始终为“ N / A”。我想将其更改为所需的任何值,然后将其另存为新文档。覆盖现有文档也可以。

到目前为止,我以前已经这样做:

import PyPDF2
pdf_obj = open('abc.pdf', 'rb')
pdf_reader = PyPDF2.PdfFileReader(pdf_obj)
page = pdf_reader.getPage(0)

writer = PyPDF2.PdfFileWriter()
writer.addPage(pdf_reader.getPage(0))
pdf_doc = writer.updatePageFormFieldValues(pdf_reader.getPage(0), {'BIRTHDAY DD/MM/YYYY': '123'})
outfp = open("new_abc1.pdf", 'wb')
writer.write(outfp)
outfp.close()
Run Code Online (Sandbox Code Playgroud)

但是,此updatePageFormFieldValues()不会更改所需的值,可能是因为这不是表单字段吗?

pdf屏幕截图,显示了要更改的值

有什么线索吗?

python data-analysis python-2.7 pypdf2

5
推荐指数
1
解决办法
1441
查看次数