gpt4 book ai didi

apache-spark - 如何在没有 hive-site.xml 的情况下将 Spark SQL 连接到远程 Hive Metastore(通过节俭协议(protocol))?

转载 作者:可可西里 更新时间:2023-11-01 14:08:43 29 4
gpt4 key购买 nike

我将 HiveContext 与 SparkSQL 一起使用,并且我正在尝试连接到远程 Hive 元存储,设置 Hive 元存储的唯一方法是在类路径中包含 hive-site.xml(或将其复制到/etc/spark/conf/).

有没有办法在不包含 hive-site.xml 的情况下以编程方式在 java 代码中设置此参数?如果是这样,要使用什么 Spark 配置?

最佳答案

对于 Spark 1.x,您可以设置:

System.setProperty("hive.metastore.uris", "thrift://METASTORE:9083");

final SparkConf conf = new SparkConf();
SparkContext sc = new SparkContext(conf);
HiveContext hiveContext = new HiveContext(sc);

或者

final SparkConf conf = new SparkConf();
SparkContext sc = new SparkContext(conf);
HiveContext hiveContext = new HiveContext(sc);
hiveContext.setConf("hive.metastore.uris", "thrift://METASTORE:9083");

如果您的 Hive 是 Kerberized 则更新:

在创建 HiveContext 之前尝试设置这些:

System.setProperty("hive.metastore.sasl.enabled", "true");
System.setProperty("hive.security.authorization.enabled", "false");
System.setProperty("hive.metastore.kerberos.principal", hivePrincipal);
System.setProperty("hive.metastore.execute.setugi", "true");

关于apache-spark - 如何在没有 hive-site.xml 的情况下将 Spark SQL 连接到远程 Hive Metastore(通过节俭协议(protocol))?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31980584/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com