В чем разница между Hadoop fs и обычными командами Unix?

FWIW, у меня была аналогичная проблема на Java. Оказалось, что мне пришлось использовать кодировку «UTF-8» для создания тех же SHA1-хэшей в Java, что и функция sha1, созданная в PHP 5.3.1 (работает на XAMPP Vista).

    private static String SHA1(final String text) throws NoSuchAlgorithmException, UnsupportedEncodingException {
        final MessageDigest md = MessageDigest.getInstance("SHA-1");
        md.update(text.getBytes("UTF-8"));
        return new String(org.apache.commons.codec.binary.Hex.encodeHex(md.digest()));
    }
1
задан jaysunn 16 April 2019 в 23:07
поделиться

2 ответа

Если вы работаете в HDFS через NFS, то вы можете ожидать, что большинство простых команд будут работать правильно (например, ls, cd, mkdir, mv, rm, chmod, [ 116], chown). Единственная потребность в команде hadoop fs или hdfs dfs - если вы используете расширенные списки ACL или хотите выполнять другие специфичные для Hadoop вещи, например:

  • изменить коэффициент репликации hadoop fs -setrep
  • [ 1114] удалить файлы в /user/USERNAME/.Trash hdfs dfs -expunge
0
ответ дан tk421 16 April 2019 в 23:07
поделиться

Оболочка Файловой системы (FS) включает в себя различные подобные оболочке команды, которые напрямую взаимодействуют с распределенной файловой системой Hadoop (HDFS), а также с другими файловыми системами, которые поддерживает Hadoop, такими как Local FS, HFTP FS, S3 FS и другие. Оболочка FS вызывается:

bin/hadoop fs <args>

Все команды оболочки FS принимают в качестве аргументов пути URI. Формат URI: схема: // полномочие / путь. Для HDFS схема - hdfs, а для локальной FS - файловая. Схема и полномочия являются необязательными. Если не указан, используется схема по умолчанию, указанная в конфигурации. Файл или каталог HDFS, например / parent / child, можно указать как

hdfs: // namenodehost / parent / child

или просто как

< blockquote>

/ parent / child

(учитывая, что для вашей конфигурации задано значение hdfs: // namenodehost).

Большинство команд в оболочке FS ведут себя как соответствующие команды Unix .

Вы не можете найти некоторые обычные команды оболочки, такие как -head, но доступны -tail и -cat. Тонкие различия в одних и тех же командах можно найти здесь для отдельных команд .

0
ответ дан proutray 16 April 2019 в 23:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: