Какие UTC-коды объектов Status.getCreatedAt () возвращает для ретвита? - PullRequest
0 голосов
/ 16 апреля 2019

возможный дубликат В каком часовом поясе метки времени записаны в ретвитах

Я делаю счетчик SaveSpace из 10 лучших хэштегов в день из файлов Twitter JSON.

здесь я пропускаю строку из файлового потока. проверьте, не изменился ли день, если он изменился, я создал

Я собрал твитеры за 3 дня из конкатенации за 3 дня, которые я скачал из архива за месяц .org

К сожалению, я получаю срабатывание 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

1 Ответ

0 голосов
/ 17 апреля 2019

Оказалось, что мой источник данных не упорядочен созданным полем json Это произошло потому, что когда я использовал find -name '* .json' для cat для рекурсивной конкатенации файлов json, встроенных в папки из потока твитов, результаты поиска не возвращались в числовом порядке, который был исправлен с помощью | сортировать -n | команда в качестве пути к файлу пошла день / час / минута. 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

...