文档首页 > > 开发指南> Spark应用开发> 调优程序> SQL和DataFrame调优> INSERT...SELECT操作调优

INSERT...SELECT操作调优

分享
更新时间: 2019/10/30 GMT+08:00

操作场景

在以下几种情况下,执行INSERT...SELECT操作可以进行一定的调优操作。

  • 查询的数据是大量的小文件。
  • 查询的数据是较多的大文件。
  • 在beeline/thriftserver模式下使用非spark用户操作。

操作步骤

可对INSERT...SELECT操作做如下的调优操作。

  • 如果建的是Hive表,将存储类型设为Parquet,从而减少执行INSERT...SELECT语句的时间。
  • 建议使用spark-sql或者在beeline/thriftserver模式下使用spark用户来执行INSERT...SELECT操作,避免执行更改文件owner的操作,从而减少执行INSERT...SELECT语句的时间。

    在beeline/thriftserver模式下,executor的用户跟driver是一致的,driver是thriftserver服务的一部分,是由spark用户启动的,因此其用户也是spark用户,且当前无法实现在运行时将beeline端的用户透传到executor,因此使用非spark用户时需要对文件进行更改owner为beeline端的用户,即实际用户。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问