Spark и Hive
По умолчанию Spark может работать с Hive из коробки. Настройки для взаимодействия с Hive находятся в домашней директории — /etc/spark/conf. Если ваше Spark-приложение взаимодействует с Hadoop, или же и с Hadoop и Spark, необходимо добавить файлы конфигурации Hadoop в Spark classpath.
Несколько одновременно запущенных приложений могут потребовать индивидуальной клиентской конфигурации Hadoop/Hive. Для каждого отдельного приложения вы можете модифицировать файлы hdfs-site.xml, core-site.xml, yarn-site.xml и поместить их в Spark classpath.
Примечание
Для кластеров Spark с YARN вышеупомянутые конфигурационные файлы устанавливаются на уровне кластера и не могут быть изменены приложением.
|
Наиболее простым способом указания параметров для Spark Hadoop является нотация вида spark.hadoop.*
и spark.hive.*
для Hive.
Например, добавление spark.hadoop.abc.def=xyz
аналогично Hadoop-параметру abc.def=xyz
, а spark.hive.abc=xyz
эквивалентно Hive-параметру hive.abc=xyz
.
Параметры, заданные в таком виде, является обычными Spark-параметрами, которые можно объявлять в файле $SPARK_HOME/conf/spark-defaults.conf.
По умолчанию домашней директорией для Spark является /etc/spark/conf, где вы можете хранить все настройки для Spark.
Иногда, чтобы не записывать определенные настройки в SparkConf, вы можете добавлять или переопределять определенные параметры при старте программы:
./bin/spark-submit \
--name "My app" \
--master local[4] \
--conf spark.eventLog.enabled=false \
--conf "spark.executor.extraJavaOptions=-XX:+PrintGCDetails -XX:+PrintGCTimeStamps" \
--conf spark.hadoop.abc.def=xyz \
--conf spark.hive.abc=xyz
myApp.jar
Описания всех Spark-параметров доступны на странице документации Spark.
Кастомная настройка
Если вы хотите изменить настройку вашего Spark-приложения для Hive, существует 2 подхода:
-
Добавить кастомные параметры в файл spark-defaults.conf и поместить этот файл в classpath Hive.
-
Добавить кастомные параметры в конфигурационный файл hive-site.xml, который использует Hive. Все файлы конфигурации хранятся в домашней директории Spark — /etc/spark/conf/hive-site.xml.
Дополнительная информация о параметрах Hive для Spark доступна в разделе Параметры Hive on Spark.