1

当我指定的文件添加到文件夹中的agent.json的Kinesis代理不解析文件

{ 
    "cloudwatch.emitMetrics": true, 
    "kinesis.endpoint": "", 
    "firehose.endpoint": "", 
    "flows": [ 
    { 
     "filePattern": "/home/ec2-user/ETLdata/contracts/Delta.csv", 
     "kinesisStream": "ETL-rawdata-stream", 
     "partitionKeyOption": "RANDOM", 
     "dataProcessingOptions": [ 
     { 
    "optionName": "CSVTOJSON", 
    "customFieldNames": [ "field1", "field2"], 
    "delimiter": "," 
     } 
     ] 
    } 
    ] 
} 

我有以下的,随便什么都不会发生。我只在日志中看到下面的内容。为什么它根本不解析文件?有人有什么主意吗?

更新:它使我的文件模式为/tmp/delta.csv。看起来像权限问题,但在日志中没有错误。

赣骏进展:赣骏已解析0记录(0字节),转化0 记录,跳过1条记录,并已成功发送0记录 目的地。 2017-06-22 18:12:03.671 + 0000 (Agent.MetricsEmitter RUNNING) com.amazon.kinesis.streaming.agent.Agent [INFO] Agent:Progress:0 记录已解析(0字节)和0条记录成功发送到 目的地。运行时间:300020ms

回答

1

我有一个类似的问题,我可以通过以下操作来解决它:

  1. 移动数据被发送到室壁运动流水流(一堆CSV文件)从〜/ EC2用户输入/输出数据到另一个目录:

    mv *.csv /tmp/out-data 
    
  2. 编辑agent.json文件,以便代理开始在这里的文件 - 的开始读书是我agent.json文件:

    { 
        "cloudwatch.emitMetrics": true, 
        "firehose.endpoint": "firehose.eu-west-1.amazonaws.com", 
        "flows": [ 
        { 
         "filePattern": "/tmp/out-data/trx_headers_2017*", 
         "deliveryStream": "TestDeliveryStream", 
         "initialPosition": "START_OF_FILE" 
        } 
        ] 
    } 
    

我的猜测是,你Delta.csv文件被写入所以室壁运动剂检查文件的末尾,发现没有新的记录,如果添加"initialPosition" : "START_OF_FILE"修复将开始在解析文件的开始。