Как запустить команду Hadoop HDFS из кода Java - PullRequest
0 голосов
/ 27 апреля 2018

Я новичок в Hadoop! Как я могу выполнить некоторые команды hdfs из кода Java? Я успешно тестировал mapreduce с помощью кода java и команд hdfs непосредственно из терминала cloudera vm, но теперь я хотел бы узнать, как это сделать с помощью кода java. Я искал любые материалы, где можно было бы поучиться, но пока не нашел. Спасибо

Ответы [ 3 ]

0 голосов
/ 27 апреля 2018

Вы можете использовать FileSystem API в своем коде Java для взаимодействия с HDFS.

0 голосов
/ 27 апреля 2018

Как уже упоминал Jagrut, вы можете использовать API-интерфейс FileSystem в своем Java-коде для взаимодействия с командой hdfs. Ниже приведен пример кода, где я пытаюсь проверить, существует ли конкретный каталог в hdfs или нет. Если существует, удалите этот каталог hdfs.

    Configuration conf = new Configuration();
    Job job = new Job(conf,"HDFS Connect");

    FileSystem fs = FileSystem.get(conf);
    Path outputPath = new Path("/user/cloudera/hdfsPath");
    if(fs.exists(outputPath))
        fs.delete(outputPath);

Вы также можете обратиться к данным блогам для дальнейшей ссылки -

https://dzone.com/articles/working-with-the-hadoop-file-system-api, https://hadoop.apache.org/docs/r2.8.2/api/org/apache/hadoop/fs/FileSystem.html https://blog.knoldus.com/2017/04/16/working-with-hadoop-filesystem-api/

0 голосов
/ 27 апреля 2018

Я думаю, что это может помочь вам

Я использую это хорошо выполнить команду оболочки. Вот пример Java

public class JavaRunShell {
    public static void main(String[] args){  
        try {  
            String shpath="  your command";
            Process ps = Runtime.getRuntime().exec(shpath);  
            ps.waitFor();  

            }  
        catch (Exception e) {  
            e.printStackTrace();  
            }  
    } 
}
...