Spark-EMR集成Amazon OpenSearch遭遇401未授权错误求助
报错信息:Caused by: org.elasticsearch.hadoop.rest.EsHadoopInvalidRequest:[GET]on[]failed;server[https://*****es.amazonaws.com:443] returned [401|Unauthorized:]
我正尝试将Spark-EMR与Amazon OpenSearch集成,通过以下代码将OpenSearch文档读取到Spark DataFrame中:
from pyspark.sql import * spark = (SparkSession.builder .config('spark.serializer', 'org.apache.spark.serializer.KryoSerializer') .getOrCreate()) reader = (spark.read.format("org.elasticsearch.spark.sql") .option("es.nodes.wan.only", "true") .option("es.port", "443") .option("es.net.ssl", "true") .option("es.nodes", "https://*******.ap-south-1.es.amazonaws.com") .load("customer_id/_doc")) reader.show(False)
我已查阅Stack Overflow相关问题、多篇技术文章及官方文档,检查了安全组配置并更新了AWS OpenSearch访问策略,但问题仍未解决。代码逻辑看似简洁,却遗漏了某些关键细节,该问题已成为工作阻碍,恳请技术帮助。
版本信息:
- Spark 版本:
2.4.0 - Elasticsearch 版本:
7.10.2 - 使用的外部包/JAR:
org.elasticsearch:elasticsearch-hadoop:7.10.2
内容的提问来源于stack exchange,提问作者Sourav Das
相关产品推荐
相关产品推荐

