通过logstash-input-maxcompute插件,您可以读取MaxCompute离线表的数据到其他数据源中。

前提条件

您已完成以下操作:

  • 安装logstash-input-maxcompute插件。

    详情请参见安装Logstash插件

  • 开通阿里云MaxCompute产品,并创建项目、创建表和导入数据。

    详情请参见MaxCompute官方文档的准备工作快速入门章节。

使用logstash-input-maxcompute插件

满足以上前提条件后,您可以通过配置文件管理管道的方式创建管道任务。在创建管道任务时,按照以下说明配置Pipeline参数,保存并部署后,即可触发阿里云Logstash读取MaxCompute的数据到目标数据源中。

配置脚本如下,相关参数说明请参见参数说明

input {
    maxcompute {
        access_id => "Your accessId"
        access_key => "Your accessKey"
        endpoint => "maxcompute service endpoint"
        project_name => "Your project"
        table_name => "Your table name"
        partition => "pt='p1',dt='d1'"
        thread_num => 1
        dirty_data_file => "/ssd/1/tmp/xxxxx"
    }
}

output {
    stdout {
        codec => rubydebug
    }
}
注意
  • 目前阿里云Logstash只支持同一专有网络VPC(Virtual Private Cloud)下的数据传输,如果源端数据在公网环境下,请参见NAT公网数据传输配置,通过公网访问Logstash。
  • logstash-input-maxcompute插件会全量同步数据到目标数据源中。

参数说明

logstash-input-maxcompute插件支持的参数如下。
参数 类型 是否必选 说明
endpoint string MaxCompute对外服务的访问域名,详情请参见开通MaxCompute服务的Region和服务连接对照表
access_id string 阿里云账号的AccessKey ID。
access_key string 阿里云账号的Access Key Secret。
project_name string MaxCompute的项目名称。
table_name string MaxCompute的表名称。
partition string 分区字段。分区表按照字段来定义,例如:sale_date='201911'region='hangzhou'
thread_num number 线程数,默认为1。
retry_interval number 重试的间隔,单位为秒。
dirty_data_file string 指定文件,用于记录处理失败的日志。