Создание файлов в HDFS с использованием Python Snakebite
Hadoop - это популярный фреймворк для больших данных, написанный на Java. Но для работы с Hadoop необязательно использовать Java. Также можно использовать некоторые другие языки программирования, такие как Python, C ++. Мы можем написать код на C ++ для Hadoop, используя каналы API или Hadoop. Каналы Hadoop позволяют отслеживать задачи с помощью сокетов.
Python также можно использовать для написания кода для Hadoop. Snakebite - одна из популярных библиотек, которая используется для установления связи с HDFS. Используя клиентскую библиотеку python, предоставляемую пакетом Snakebite, мы можем легко написать код Python, работающий в HDFS. Он использует сообщения protobuf для прямой связи с NameNode. Клиентская библиотека python напрямую работает с HDFS без системного вызова hdfs dfs .
Предварительное условие: должна быть установлена библиотека Snakebite.
Убедитесь, что Hadoop запущен, в противном случае запустите все демоны с помощью следующей команды.
start-dfs.sh // запускаем ваш namenode datanode и вторичный namenode start-yarn.sh // запускаем Resourcemanager и nodemanager
Задача: Создать каталоги в HDFS с помощью пакета snakebite с помощью метода mkdir () .
Шаг 1: Создайте файл в вашем локальном каталоге с именем create_directory.py в желаемом месте .
cd Documents / # Изменение каталога на документы (вы можете выбрать в соответствии с вашими требованиями) touch create_directory.py # Команда touch используется для создания файла в среде Linux.
Step 2: Write the below code in the create_directory.py python file.
Python
# importing the package from snakebite.client import Client # the below line create client connection to the HDFS NameNode client = Client( "localhost" , 9000 ) # create directories mentioned in mkdir() methods first argument i.e. in List format for p in client.mkdir([ "/demo/demo1" , "/demo2" ], create_parent = True ): print p |
Mkdir () берет список путей к каталогам, которые мы хотим создать. create_parent = True гарантирует, что если родительский каталог не создан, он должен быть создан первым. В нашем случае сначала будет создан каталог demo, а затем внутри него будет создан demo1.
Шаг 3: Запустите файл create_directory.py и посмотрите на результат.
python create_directory.py // this will create directory"s as mentioned in mkdir() argument.
На изображении выше «результат»: True означает, что мы успешно создали каталог.
Шаг 4: Мы можем проверить, созданы ли каталоги или нет, либо вручную, либо с помощью приведенной ниже команды.
hdfs dfs -ls / // список всех каталогов в корневой папке hdfs dfs -ls / demo // список всех каталогов, присутствующих в демонстрационной папке
На изображении выше мы видим, что мы успешно создали все каталоги.
Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.
Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.