我試圖從ElasticSearch讀取數據(ES版本8.5.2)上使用PySpark磚(13.0(包括Apache火花3.4.0,Scala 2.12))。生態係統在AWS上。
我能在磚筆記本上運行curl命令ES ip:港口和獲取數據。(告訴我訪問是可用的)
但是,無法讀取相同的通過PySpark ES。
下麵是代碼
罐子
org.elasticsearch: elasticsearch-spark-30_2.12:8.5.2
org.elasticsearch: elasticsearch-hadoop: 8.5.2
- - - - - - - - - - - - - - - - - -
df = (spark.read
.format (“org.elasticsearch.spark。sql”)
.option (“spark.es.nodes.wan.only”,“真正的”)
.option (“spark.es.nodes”、“es01-nonprod.office.io”)
# .option (“es.net.ssl”,“真正的”)
.option (“spark.es.net.http.auth.user”,用戶名)
.option (“spark.es.net.http.auth.pass”,密碼)
.option (“spark.es.port”,端口)
# .option (“es.net.ssl.protocol”、“https”)
.option (“spark.es.nodes.discovery”,“假”)
# .option (“es.nodes.client。隻”、“假”)
# .option (“spark.es.scheme”、“https”)
# .option(“火花。序列化器”、“org.apache.spark.serializer.KryoSerializer”)
# .option (“spark.es.http.timeout”,“10米”)
# .option (“es.net.ssl.keystore.type”、“CRT”)
# .option (“es.net.ssl.truststore.location”、“/ etc / ssl /證書/ ca-certificates.crt”)
.load (f“{指數}”)
)
顯示器(df)
- - - - - - - - - - - - - - - - -
錯誤截圖
Curl命令就可以了
我試過了
添加所有火花配置集群創建期間。
改變org.elasticsearch jar: elasticsearch-hadoop: 8.5.2
決議將不勝感激。
你可以試著將證書添加到信任存儲區和存儲在集群上。然後在火花提供信任存儲庫路徑es.net.ssl.keystore.location和es.net.ssl.truststore.location參數
你可以試著將證書添加到信任存儲區和存儲在集群上。然後在火花提供信任存儲庫路徑es.net.ssl.keystore.location和es.net.ssl.truststore.location參數