我正在尝试在hadoop集群(BigInsight 4.1发行版)上创建hive表作为我的spark(1.5.1版本)作业的输出,并且我正面临权限问题。我的猜测是spark使用默认用户(在这种情况下' yarn'而不是作业提交者的用户名)来创建表,因此无法这样做。
我尝试自定义hive-site.xml文件,以设置有权创建配置单元表的经过身份验证的用户,但这不起作用。
我还尝试将Hadoop用户变量设置为经过身份验证的用户,但它也无法正常工作。
我想避免保存txt文件,然后创建hive表以优化性能并通过orc压缩减小输出的大小。
我的问题是:
感谢。 Hatak!
答案 0 :(得分:0)
考虑df
保存您的数据,您可以写
在Java中:
df.write().saveAsTable("tableName");
您可以使用不同的SaveMode,例如Overwrite,Append
df.write().mode(SaveMode.Append).saveAsTable("tableName");
在Scala中:
df.write.mode(SaveMode.Append).saveAsTable(tableName)
根据您要保存的类型,可以指定许多其他选项。 Txt,ORC(带桶),JSON。