我必须记录很多数据,稍后将对其进行分析。我目前没有分析它。稍后我们将使用Hadoop进行分析。怎么样 ?我不知道。但是日志的大小太多了。
因此,我正在寻找一种尺寸较小且稍后易于分析的格式。
我想把它保存为昏迷分隔值,但是log可能包含逗号和换行符。然后我想到使用JSON对其进行编码或将每个字段设置为BASE64编码。但后来我不知道我们以后能不能分析它。
我应该使用哪种日志格式,以后更容易分析?
答案 0 :(得分:2)
只要您使用结构良好的格式字符串生成日志语句,您就可以在以后有用地解析它;可能有正则表达式。
JSON会严重破坏你的日志而不会提高你解析它的能力。它可能有意义的唯一场景是您需要在日志中转储对象。
答案 1 :(得分:1)
CSV允许您转义以下数据:
1,2,"value with, comma","value with
newline","value with "" quote"
1,2,"foo","bar","baz"
所以逗号或换行应该没问题。写入文件时使用fputcsv
。
CSV可能会为您提供最小的文件大小,因为分隔符开销很小。
如果空间存在问题,您可以随时轻松压缩文件。
Base64通常膨胀数据约33%
答案 2 :(得分:1)
正如www.qubole.com的工程师之一所建议的那样。我使用csv格式,因为使用hadoop查询太字节日志文件在使用JSON编码行时更加昂贵(耗时)。