我正在尝试在 hadoop 集群(BigInsight 4.1 发行版)上创建 hive 表作为我的 spark(1.5.1 版本)作业的输出,并且面临权限问题。我的猜测是 spark 使用默认用户(在本例中为“yarn”而不是作业提交者的用户名)来创建表,因此无法这样做。
我尝试自定义 hive-site.xml 文件以设置一个经过身份验证的用户,该用户有权创建 hive 表,但这不起作用。
我还尝试将 Hadoop 用户变量设置为经过身份验证的用户,但它也不起作用。
我想避免保存 txt 文件,然后创建配置单元表以优化性能并通过 orc 压缩减小输出的大小。
我的问题是:
- 有没有办法用指定的用户调用 spark dataframe api 的 write 函数?
- 是否可以使用 oozie 的工作流文件选择用户名?
- 有没有人有其他想法或曾经遇到过这个问题?
谢谢。哈塔克!