0
点赞
收藏
分享

微信扫一扫

spark读写elasticsearch https

caoxingyu 2024-01-27 阅读 13

当使用 Spark 读写 Elasticsearch 时,如果需要通过 HTTPS 进行连接和通信,可以通过一些额外的配置来实现。以下是使用 PySpark 读写 Elasticsearch 并通过 HTTPS 进行连接的示例代码:

from pyspark.sql import SparkSession

spark = SparkSession.builder \
    .appName("Read/Write to Elasticsearch with HTTPS") \
    .config("spark.jars.packages", "org.elasticsearch:elasticsearch-hadoop:7.15.0") \
    .config("es.nodes", "https://your_elasticsearch_host:9200") \
    .config("es.net.ssl", "true") \
    .config("es.net.http.auth.user", "your_username") \
    .config("es.net.http.auth.password", "your_password") \
    .getOrCreate()

# 从 Elasticsearch 中读取数据
df_read = spark.read.format("org.elasticsearch.spark.sql") \
    .option("es.resource", "your_index_name/your_document_type") \
    .load()

# 处理数据

# 将数据写入 Elasticsearch
df_write.write.format("org.elasticsearch.spark.sql") \
    .option("es.resource", "your_index_name/your_document_type") \
    .mode("overwrite") \
    .save()

在上面的示例中,我们做了如下配置:

  • es.nodes:指定 Elasticsearch 节点的 URL,包括 HTTPS 协议和端口号。
  • es.net.ssl:启用 SSL/TLS 加密。
  • es.net.http.auth.user 和 es.net.http.auth.password:如果需要身份验证,提供用户名和密码。

除了以上的配置之外,你还可以根据实际情况添加其他与 SSL/TLS 相关的配置,例如 keystore 和 truststore 的位置、密码等信息。


举报

相关推荐

0 条评论