- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我编写了一个应用程序,列出了 HDFS 中的所有文件,然后对它们进行了一些处理。这是我的代码的一部分,它列出了 HDFS 中的所有文件:
Configuration configuration = new Configuration();
FileSystem hdfs;
hdfs = FileSystem.get(new URI(url), configuration);
RemoteIterator<LocatedFileStatus> it = hdfs.listFiles(new Path(url+directory), true);
我想用 MapRFS 做同样的事情。作为第一次尝试,我尝试使用 Hadoop 的 jar ,但它没有用。然后我尝试使用 mapr (/opt/mapr/hadoop/hadoop-0.20.2/lib/hadoop-0.20.2-dev-core.jar
) 附带的 jar,但似乎此 jar 中的对象 FileSystem 没有名为 listFiles
的方法。你知道我是否可以使用等效的方法吗?有没有办法只使用 Hadoop jar 来做到这一点?感谢您的回答。
最佳答案
您的代码对于 MapR 来说“几乎”是完美的,并且您的依赖项没问题。
您可能知道 MapR 不使用/没有,出于很多充分的理由,NameNodes 的概念。这意味着您连接到集群的方式不同。您不需要将集群 URL 指向配置或路径。
以下代码将起作用:
Configuration configuration = new Configuration();
FileSystem hdfs;
hdfs = FileSystem.get(configuration); // no need to send any cluster it is retrieved from Configuration
RemoteIterator<LocatedFileStatus> it = hdfs.listFiles(new Path(directory), true);
MapR 知道如何根据您在 /opt/mapr/conf/mapr-clusters.conf
中的信息进行连接。此文件指示集群的名称和 CLDB 的列表。节点。
如您所见,您编写的“hadoop 代码”是正确的并且可以正常工作。
关于java - 如何使用 maprfs Java API 执行递归 ls?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36065273/
我在自定义 MapR 沙箱中运行 Oozie。下面是我的 job.properties 文件信息: nameNode=maprfs:/// jobTracker=maprfs:/// queueNam
我编写了一个应用程序,列出了 HDFS 中的所有文件,然后对它们进行了一些处理。这是我的代码的一部分,它列出了 HDFS 中的所有文件: Configuration configuration = n
我将 mapR Hive 1.2 与 Hadoop 2.7.0 结合使用。尝试运行以下命令时: add jar maprfs:///user/john/customSerde.jar 我收到以下错误:
我正在尝试执行/运行一个网络应用程序(使用 Spring 工具套件),通过它可以将作业提交到 hadoop。我正在使用 apache-tomcat-6.0.36 服务器 和 mapr 客户端。但是
在通过修改参数运行 terasort 应用程序时,我收到以下错误。 15/05/24 21:41:42 ERROR terasort.TeraSort: Input path does not exi
我是一名优秀的程序员,十分优秀!