elasticsearch,pyspark,Apache Spark,elasticsearch,Pyspark" /> elasticsearch,pyspark,Apache Spark,elasticsearch,Pyspark" />

Apache spark 使用PySpark在Elasticsearch中保存数据

Apache spark 使用PySpark在Elasticsearch中保存数据,apache-spark,elasticsearch,pyspark,Apache Spark,elasticsearch,Pyspark,我有一个程序,需要一个数据帧,并应将其保存到Elasticsearch。以下是我保存数据帧时的外观: model_df.write.format( "org.elasticsearch.spark.sql" ).option( "pushdown", True ).option( "es.nodes", "example.server:9200" ).option("es.index.auto.create", Tr

我有一个程序,需要一个数据帧,并应将其保存到Elasticsearch。以下是我保存数据帧时的外观:

    model_df.write.format(
        "org.elasticsearch.spark.sql"
    ).option(
        "pushdown", True
    ).option(
        "es.nodes", "example.server:9200"
    ).option("es.index.auto.create", True
    ).mode('append').save("EPTestIndex/")
当我运行程序时,出现以下错误:

py4j.protocol.Py4JJavaError:调用o96.save时出错。 :java.lang.ClassNotFoundException:未能找到数据源: org.elasticsearch.spark.sql。请在以下网址查找包裹:

我做了一些研究,认为我需要一个jar,所以我将这些配置添加到我的
SparkSession

spark = SparkSession.builder.config("jars", "/Users/public/ProjectDirectory/lib/elasticsearch-spark-20_2.11-6.0.1.jar")\
    .getOrCreate()
sqlContext = SQLContext(spark)
我在main中初始化
SparkSession
,并在另一个包中写入
ES
。包获取数据帧并运行上面的write命令。然而,即使这样,我仍然得到了相同的
classnotfoundexception
可能是什么问题


我正在PyCharm中运行此程序,如何使其能够运行?

Elasticsearch公开JSON API,而pandas数据帧不是JSON支持的类型

如果必须插入它,可以使用
dataframe.to_json()