Я развернул этот проект
https://github.com/Marcel-Jan/docker-hadoop-spark
Выполнил инструкцию "Quick Start Spark (PySpark)" в readme и получил датафрейм, все как надо
Мне нужно сделать тоже самое, но через airflow. Я подключаюсь к спарк сессии и все ок:
spark = (SparkSession
.builder
# .master('local')
.master("spark://127.0.0.1:7077")
.appName("Test")
.getOrCreate())
Но когда пытаюсь достучаться до hadoop, получаю ошибку
Call From SPB-379/127.0.1.1 to namenode:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused
Я понимаю что airflow не видит ip "namenode" и пробовал выполнить такую команду, чтобы получить полный адрес хадупа-
docker inspect <hadoop container id>
и вывод
"Networks": {
"docker-hadoop-spark_default": {
"IPAMConfig": null,
"Links": null,
"Aliases": [
"namenode",
"namenode",
"8a06dd5cca57"
],
"NetworkID": "f57164de9f26ef3a1a33c4ee46b24903c0824009ecfeda06f7f45ba9206f6a0a",
"EndpointID": "6bf662634c9ef925dc435d8a28364b045ef8b572e22f5c5316257ada2a52cc0d",
"Gateway": "172.19.0.1",
"IPAddress": "172.19.0.9",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:13:00:09",
"DriverOpts": null
}
Но этот ipaddress тоже выдает ошибку. Я не уверен, что двигаюсь в правильном направлении, поэтому буду рад любому фидбеку:)