我正试图在hadoop集群(bigdinsight 4.1发行版)上创建配置单元表作为spark(1.5.1版本)作业的输出,并且面临权限问题。我猜spark使用默认用户(在本例中是'yarn'而不是作业提交者的用户名)来创建表,因此没有这样做。
我试图自定义hive-site.xml文件以设置具有创建配置单元表权限的经过身份验证的用户,但没有成功。
我还尝试将hadoop用户变量设置为经过身份验证的用户,但也没有成功。
我希望避免保存txt文件,然后创建配置单元表,通过orc压缩来优化性能和减小输出的大小。
我的问题是:
有没有办法用指定的用户调用spark dataframe api的write函数?
是否可以使用oozie的工作流文件选择用户名?
有没有人有别的想法或者曾经面对过这个问题?
谢谢。哈塔克!
1条答案
按热度按时间pbgvytdp1#
考虑
df
拿着你的数据,你可以写在java中:
您可以使用不同的保存模式,如覆盖、附加
在scala中:
根据要保存的类型,可以指定许多其他选项。txt,orc(带bucket),json。