Я создал приложение Pyspark из этого pyspark-example-project .В примере проекта dependencies.zip представляет собой пакет зависимостей, который содержит мой фактический код.Я использую requests
для отправки метаданных задания spark-submit в конечную точку с поддержкой https.
Я отправляю задание следующим образом: spark-submit --master local[*] --py-files dependencies.zip job.py
Это приводит к
OSError: Could not find a suitable TLS CA certificate bundle, while running spark-submit,
File "/private/var/folders/_2/4jk9zwf11yx6h93v9nyv284r0000gn/T/spark-2604a272-4da7-45e9-98a4-02110c71f4db/userFiles-1b562995-6006-47a1-8d98-5102449063fa/dependencies.zip/requests/adapters.py", line 407, in send
self.cert_verify(conn, request.url, verify, cert)
File "/private/var/folders/_2/4jk9zwf11yx6h93v9nyv284r0000gn/T/spark-2604a272-4da7-45e9-98a4-02110c71f4db/userFiles-1b562995-6006-47a1-8d98-5102449063fa/dependencies.zip/requests/adapters.py", line 226, in cert_verify
"invalid path: {0}".format(cert_loc))
OSError: Could not find a suitable TLS CA certificate bundle, invalid path: /private/var/folders/_2/4jk9zwf11yx6h93v9nyv284r0000gn/T/spark-2604a272-4da7-45e9-98a4-02110c71f4db/userFiles-1b562995-6006-47a1-8d98-5102449063fa/dependencies.zip/certifi/cacert.pem
Пока boto3
отлично работает с зависимостями в заархивированном архиве, dependencies.zip / boto3 .
ОБНОВЛЕНИЕ 1
Я попытался войти certifi.where()
, он дает тот же путь, который указан в журнале, то есть
/private/var/folders/_2/4jk9zwf11yx6h93v9nyv284r0000gn/T/spark-2604a272-4da7-45e9-98a4-02110c71f4db/userFiles-1b562995-6006-47a1-8d98-5102449063fa/dependencies.zip/certifi/cacert.pem