Amazon EMRとかだと最初から設定されているので手間が無いのですが、Azure HDInsightとかでは紐付けされてないので、その方法。
##設定
とは言え簡単です。
基本的には、$HIVE_HOME/conf/hive-site.xmlの中のhive.metastore.urisプロパティをコピーして、$SPARK_HOME/conf/hive-site.xmlとして保存するだけ。
情報によってはhive-site.xmlをまんまコピーすればよい的な記述もあるのですが、HDInsightではいろいろな記述がhive-site.xmlにされており、そのままコピーしただけでは、無理でした。
###hive.metastore.urisの確認
HDInsightで$HIVE_HOMEは、/usr/hdp/current/hive-client/になりますので、/usr/hdp/current/hive-client/conf/hive-site.xmlを開き、hive.metastore.urisプロパティの内容を確認します。
<property>
<name>hive.metastore.uris</name>
<value>thrift://xxxx.cloudapp.net:9083,thrift://yyyy.cloudapp.net:9083</value>
</property>
のようにthrift経由で2つのサーバが設定されているようです。
###Sparkでの設定
root要素のconfigureと、この要素をコピーし、/usr/hdp/current/spark-client/conf/hive-site.xmlとして保存します。
##確認
上記の手順を実行したら、
spark-sql> show databases;
などとして、Hive側の設定が反映されているか確認してみてください。