Я запускаю искру 2, куст, hadoop на локальной машине, и я хочу использовать искровой sql для чтения данных из таблицы улья.sparkSession/sparkContext не может получить конфигурацию hadoop
Он работает все хорошо, когда у меня есть Hadoop работает по умолчанию hdfs://localhost:9000
, но если я поменяю на другой порт в ядро-site.xml:
<name>fs.defaultFS</name>
<value>hdfs://localhost:9099</value>
Запуск простой SQL spark.sql("select * from archive.tcsv3 limit 100").show();
в свече скорлупе даст me the error:
ERROR metastore.RetryingHMSHandler: AlreadyExistsException(message:Database default already exists)
.....
From local/147.214.109.160 to localhost:9000 failed on connection exception: java.net.ConnectException: Connection refused;
.....
Я получаю исключение AlreadyExistsException раньше, что, похоже, не влияет на результат.
я могу заставить его работать, создавая новый sparkContext:
import org.apache.spark.SparkContext
import org.apache.spark.sql.SparkSession
sc.stop()
var sc = new SparkContext()
val session = SparkSession.builder().master("local").appName("test").enableHiveSupport().getOrCreate()
session.sql("show tables").show()
Мой вопрос, почему первоначальный sparkSession/sparkContext не получить правильную конфигурацию? Как я могу это исправить? Благодаря!
Пища для размышлений ... Контекст был создан ранее, и поскольку он не может быть изменен ... – jgp