案例研究:事件存储

存储事件记录以保留发生的事件的审核跟踪。您可以存储任何事件生成阶段中的事件记录。对于此案例研究,假设您想通过以下管道保留写入HDFS的文件的日志:

为此,您只需:

  1. 配置Hadoop FS目标端以生成事件。

    在“General”选项卡上,选择“Produce Events”属性

    现在事件输出流变得可用,并且目的地在每次关闭文件时都会生成一个事件。对于此目标端,每个事件记录都包含文件名,文件路径和已关闭文件的大小的字段。

  2. 您可以将事件记录写入任何目标,但假设您也希望将其写入HDFS:

    您可以在那里完成操作,但是您想在记录中包括事件的时间,因此您确切地知道Hadoop FS目标端何时关闭文件。

  3. 所有事件记录的sdc.event.creation_timestamp记录头属性中都包含事件创建时间,因此您可以将Expression Evaluator添加到管道中,并使用以下表达式在记录中包括创建时间:
    ${record:attribute('sdc.event.creation_timestamp')}

    产生的管道如下所示:

    请注意,事件创建时间用纪元或Unix时间戳表示,例如1477698601031。记录头属性将数据作为字符串提供。

    提示:您可以使用时间函数将时间戳转换为不同的数据类型。有关更多信息,请参见函数。