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"修復將開始在解析文件的開始。