我试图在hadoop集群(BigInsight 4.1发行版)上创建hive表作为我的spark(1.5.1版本)作业的输出,并且我正面临权限问题 . 我的猜测是spark使用默认用户(在这种情况下是'yarn'而不是作业提交者的用户名)来创建表,因此无法这样做 .
我尝试自定义hive-site.xml文件以设置具有创建配置单元表权限的经过身份验证的用户,但这不起作用 .
我还尝试将Hadoop用户变量设置为经过身份验证的用户,但它也不起作用 .
我想避免保存txt文件,然后创建hive表以优化性能并通过orc压缩减小输出的大小 .
我的问题是:
-
有没有办法用指定用户调用spark数据帧api的写入功能?
-
是否可以使用oozie的工作流程文件选择用户名?
-
有没有人有其他想法或曾经遇到过这个问题?
谢谢 . Hatak!
1 回答
考虑
df
拿着你的数据,你可以写在Java中:
您可以使用不同的SaveMode,如Overwrite,Append
在斯卡拉:
根据您要保存的类型,可以指定许多其他选项 . Txt,ORC(带桶),JSON .