cdh6.0.1 spark客户端设置

问题: cdh6.01 自带的spark,客户端要用spark执行spark.sql ,用到hive的元数据库。 需要hive的gateway , 我如果添加gateway ,普通用户可以执行hive。 跳过了权限管理。

  • A Hive Gateway role is recommended but was not found on these hosts: cdh85-19. This will prevent Spark applications from reading Hive tables

image

解决方法:

cd /etc/spark/conf

cp -r /etc/hive/conf.cloudera.hive hive-conf

vim spark-env.sh

#HIVE_CONF_DIR=${HIVE_CONF_DIR:-/etc/hive/conf}
HIVE_CONF_DIR=${HIVE_CONF_DIR:-$SPARK_CONF_DIR/hive-conf}

测试:

spark-shell --master yarn --conf spark.ui.port=5051

import org.apache.spark.sql.{SaveMode, SparkSession}
val df=spark.table("xy_app_hive.member_rule_w_incr_v2")
df.write.mode(SaveMode.Overwrite).saveAsTable("credit_dfp.a1")

没有报错了

您可以选择一种方式赞助本站