Невозможно подключиться к AWS Elasticsearch от Spark - PullRequest
2 голосов
/ 25 июня 2019

Мне нужно подключиться к сервису AWS Elasticsearch из моего приложения Spark (структурированная потоковая передача) с использованием доступа / секретных ключей AWS.Например, интеграция S3 и Spark позволяет настроить секретные ключи доступа в конфигурации https://docs.databricks.com/spark/latest/data-sources/aws/amazon-s3.html

Я не могу найти ничего эквивалентного для Elasticsearch.Я попробовал приведенный ниже код, но это не сработало.

 val writer = input.write
        .option("es.nodes",serverUrl)
        .option("es.net.https.auth.user", awsAccessKeyId)
        .option("es.net.https.auth.pass", awsSecretAccessKey)
        .option("es.nodes.wan.only", "true")
        .format("org.elasticsearch.spark.sql")
  writer.save("index/mapping")

Похоже, "es.net.https.auth.xxx" для базовой аутентификации.Я ищу AWS конкретный.Любая информация приветствуется!

1 Ответ

1 голос
/ 26 июня 2019

Вместе с вашим сеансом зажигания awsAccessKeyId awsSecretAccessKey будет распространяться, если у вас есть доступ к вашему кластеру искр.

Тест состоит в том, чтобы при помощи искровой оболочки попытаться прочитать контейнер из s3, в котором есть образец файла паркета.

http auth user и пароль являются местозаполнителями для es.net.https.auth.user es.net.https.auth.pass

Например, если вы подключаетесь к mysql (это RDS is aws), вам нужно передать jdbc user and passwordпо отдельности.аналогичные термины, что и ваша http-аутентификация.cluster.

Примечание: если вы хотите или действительно должны установить учетные данные для доступа, вам нужно установить это, как показано ниже ....

val hadoopConf = sc.hadoopConfiguration;
hadoopConf.set("fs.s3.impl", "org.apache.hadoop.fs.s3native.NativeS3FileSystem")
hadoopConf.set("fs.s3.awsAccessKeyId", myAccessKey)
hadoopConf.set("fs.s3.awsSecretAccessKey", mySecretKey)

не так, как

.option("es.net.https.auth.user", awsAccessKeyId)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...