可能重复 Which time zone does the timestamps are written on retweets
我每天从twitter json文件中创建一个前10个标签的SaveSpace计数器。
在这里,我从文件流中传递了一行。检查日期是否已更改,是否已创建?
我将3个月内下载的价值3天的高音扬声器连接起来,累积了3天的高音扬声器的价值。
不幸的是,我得到了if(... cur.isAfter(prev))触发了7次左右,所以我想知道发生了什么
SimpleDateFormat sf = new SimpleDateFormat(twitterFormat, Locale.ENGLISH);
sf.setLenient(true);
....
curStatus = TwitterObjectFactory.createStatus(line);
Instant cur = sf.parse(curStatus.getCreatedAt().toString()).toInstant().truncatedTo(ChronoUnit.DAYS);
if (prev != null && cur.isAfter(prev))
{
//save my TreeMap of HashTags and the create a new one
}
...
///save hashtags
答案 0 :(得分:0)
原来我的数据源不是由createdAt json字段排序的 发生这种情况的原因是,当我在cat上使用find -name'* .json'递归连接来自推文种子的文件夹中嵌入的json文件时,查找结果并没有按数字顺序返回,该数字顺序用|固定。排序-n |命令,因为文件路径为day / hour / minute.json
我使用的命令
find ./ -name '*.json' | sort -n | xargs cat > ../final.json
和
awk 'NR%10==0' final.json > prun.json
获得文件的10%均匀分布
https://archive.org/details/archiveteam-twitter-stream-2013-08