Я использую CDH 5. Как использовать Python для получения всех дат создания файлов hdfs в каталоге? Я не люблю использовать subprocess.Popen() и анализировать результаты. код выглядит не очень элегантно.Как получить дату создания файла hdfs с помощью Python
0
A
ответ
1
Snakebite - клиент hdfs Python. Он имеет метод list(), который будет возвращать информацию о файле, включая change_time, и приведен пример в своей документации: http://spotify.github.io/snakebite/client.html#client.Client.ls
Вы можете установить его с помощью пипса. Python Информация о пакете для snakebite находится здесь: https://pypi.python.org/pypi/snakebite/
Какое время оно возвращается? 'Modify_time': 1424181276458L? Как преобразовать его в объект datetime? – johnsam
@johnsam, согласно API Java Hadoop, это «время изменения файла в миллисекундах с 1 января 1970 года по UTC». https://hadoop.apache.org/docs/current/api/org/apache/hadoop/fs/FileStatus.html#getModificationTime() Чтобы преобразовать это в метку времени datetime в Python, см. здесь: http: // stackoverflow. com/questions/21787496/conversion-epoch-time-with-milliseconds-to-datetime –
Клиентский объект требует вменения имени в конструкторе. Как узнать namenode в Snakebit? Или лучше запустить namenode на всех хостах в кластере? – johnsam