TL; DR
Я бы хотел преобразовать значение int96, такое как ACIE4NxJAAAKhSUA , в читаемый формат отметки времени, такой как 2020-03-02 14: 34: 22 * 1008 * или что-либо еще, что обычно можно интерпретировать ... Я в основном использую python, поэтому я ищу для создания функции, которая выполняет это преобразование. Если есть другая функция, которая может сделать обратное - даже лучше.
Фон
Я использую parquet-tools для преобразования необработанного файла паркета (с мгновенным сжатием) в raw JSON с помощью этой команды:
C:\Research> java -jar parquet-tools-1.8.2.jar cat --json original-file.snappy.parquet > parquet-output.json
Внутри JSON я вижу эти значения как метки времени:
{... "_id":"101836","timestamp":"ACIE4NxJAAAKhSUA"}
Я определил, что значение метки времени "ACIE4NxJAAAKhSUA" действительно int96 (это также подтверждается чтением схемы файла паркета ....
message spark_schema {
...(stuff)...
optional binary _id (UTF8);
optional int96 timestamp;
}
Я думаю, что это также известно как Impala Timestamp (по крайней мере, это то, что я собрал) )
Дальнейшие исследования проблем
Я всюду искал какую-либо функцию или информацию о том, как "прочитать" значение int96 (в python - я хотел бы сохранить его на этом языке, так как я больше всего с ним знаком) и выведите временную метку - я ничего не нашел.
Вот статьи, которые я уже изучил (которые связаны с этой темой):
- Исследование ParquetWriter в S O здесь
- Приведение int96 через golan в SO здесь ПРИМЕЧАНИЕ: у меня есть функция, которую я мог бы изучить, но я не уверен, как погружаться слишком глубоко
Что касается устаревшей временной метки int96
Пожалуйста, не просите меня прекратить использовать старый / устаревший формат временной метки в файле паркета, я хорошо знаю об этом в исследовании, которое я сделали до сих пор. Я получатель файла / данных - я не могу изменить формат, использованный при создании.
Если есть другой способ управления начальным выводом JSON для выдачи значения "не int96" - - Я бы тоже заинтересовался этим.
Большое спасибо за вашу помощь ТАК сообщество!