Запуск пользовательской версии spark on пряжа в HDP работает нормально, следуя инструкциям из https://georgheiler.com/2019/05/01/headless-spark-on-yarn/, т.е. следующим образом:
# download a current headless version of spark
export SPARK_DIST_CLASSPATH=$(hadoop classpath)
export HADOOP_CONF_DIR=/usr/hdp/current/spark2-client/conf
export SPARK_HOME=<<path/to>>/spark-2.4.3-bin-without-hadoop/
<<path/to>>/spark-2.4.3-bin-without-hadoop/bin/spark-shell --master yarn --deploy-mode client --queue <<my_queue>> --conf spark.driver.extraJavaOptions='-Dhdp.version=2.6.<<version>>' --conf spark.yarn.am.extraJavaOptions='-Dhdp.version=2.6.<<version>>'
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/___/ .__/\_,_/_/ /_/\_\ version 2.4.3
/_/
Однако:
spark.sql("show databases").show
только возвращает:
+------------+
|databaseName|
+------------+
| default|
+------------+
Теперь пытаемся передать исходную конфигурацию HDP (которая явно не читается моей пользовательской версией spark), например:
один
--files /usr/hdp/current/spark2-client/conf/hive-site.xml
два:
--conf spark.hive.metastore.uris='thrift://master001.my.corp.com:9083,thrift://master002.my.corp.com:9083,thrift://master003.my.corp.com:9083' --conf spark.hive.metastore.sasl.enabled='true' --conf hive.metastore.uris='thrift://master001.my.corp.com:9083,thrift://master002.my.corp.com:9083,thrift://master003.my.corp.com:9083' --conf hive.metastore.sasl.enabled='true'
три:
--conf spark.yarn.dist.files='/usr/hdp/current/spark2-client/conf/hive-site.xml'
четыре:
--conf spark.sql.warehouse.dir='/apps/hive/warehouse'
все не помогает решить проблему.
Как получить искру для распознавания баз данных улья?