在数据开发过程中如果您需要使用Presto SQL,可以在E-MapReduce中配置Presto SQL作业。本文介绍如何配置Presto SQL作业。

操作步骤

  1. 进入数据开发的项目列表页面。
    1. 通过阿里云账号登录阿里云E-MapReduce控制台
    2. 在顶部菜单栏处,根据实际情况选择地域和资源组
    3. 单击上方的数据开发页签。
  2. 单击待编辑项目所在行的作业编辑
  3. 新建Presto SQL类型作业。
    1. 在页面左侧,在需要操作的文件夹上单击右键,选择新建作业
    2. 新建作业对话框中,输入作业名称作业描述,从作业类型下拉列表中选择Presto SQL作业类型。
      表示创建的作业是一个Presto SQL作业。这种类型的作业,其运行实际是通过以下方式提交的Presto SQL作业。
      presto <options> -f {SQL_SCRIPT}
      说明 其中SQL_SCRIPT中保存着作业编辑器中填写的SQL语句。
    3. 单击确定
  4. 编辑作业内容。
    1. 作业内容中,填写提交该作业需要提供的命令行参数。
      示例如下。
      SELECT * from table1;
    2. 单击保存,作业内容编辑完成。

设置Presto Cli参数

默认情况下,Presto查询catalog=hive,schema=default下的数据表,可以通过设置Presto Cli参数来指定不同的Catalog和Schema。Presto SQL作业支持如下两种方式设置Presto Cli参数:
  • 通过环境变量设置
    • 设置密码:如果Presto服务开启了密码认证,可以通过添加名为PRESTO_PASSWORD的环境变量来传入密码。
    • 设置其他参数:可以将参数设置到名为PRESTO_CLI_PARAMS的环境变量中,如PRESTO_CLI_PARAMS="--catalog mysql --schema db1 "
  • 通过自定义变量
    • 设置密码:在作业自定义变量中添加名为presto.password的变量,即可设置Presto认证密码。
    • 设置其他参数:在作业自定义变量中添加如_presto.xxx的变量,都会被添加到Presto Cli参数列表中,对应的选项为--xxx
      支持如下自定义变量。
      ## 基本参数
      * _presto.schema <schema>
      * _presto.catalog <catalog>
      
      ## 控制/调试参数
      * _presto.trace-token <trace token>
      * _presto.session <session>...
      * _presto.source <source>
      * _presto.resource-estimate <resource-estimate>...
      * _presto.log-levels-file <log levels file>
      
      ## 连接参数
      * _presto.server <server>
      * _presto.http-proxy <http-proxy>  * ignore-errors
      * _presto.socks-proxy <socks-proxy>
      
      ## 认证相关参数
      * _presto.user <user>
      * _presto.password <password>
      
      * _presto.client-info <client-info>
      * _presto.client-request-timeout <client request timeout>
      * _presto.client-tags <client tags>
      
      * _presto.access-token <access token>
      * _presto.truststore-password <truststore password>
      * _presto.truststore-path <truststore path>
      * _presto.keystore-password <keystore password>
      * _presto.keystore-path <keystore path>
      * _presto.extra-credential <extra-credential>...
      
      ## 高安全相关参数
      * _presto.krb5-config-path <krb5 config path>
      * _presto.krb5-credential-cache-path <krb5 credential cache path>
      * _presto.krb5-disable-remote-service-hostname-canonicalization
      * _presto.krb5-keytab-path <krb5 keytab path>
      * _presto.krb5-principal <krb5 principal>
      * _presto.krb5-remote-service-name <krb5 remote service name>
      * _presto.krb5-service-principal-pattern <krb5 remote service principal pattern>