如何将数据移入和移出Hadoop?
要想在此技术中使用HTTP与NameNode进行通信,需要知道运行NameNode RPC服务的主机和端口,这是使用dfs.namenode.http-address属性配置的。在伪分布式设置中,这很可能设置为0.0.0.0:50070。我们假设其余技术的伪分布式——替换适当的主机和端口进行设置。 首先使用CLI在HDFS中创建文件:
使用WebHDFS获取有关该文件的各种有趣的元数据(用户名替换为以下URL中的aholmes): ![]() 命令语法由两部分组成:一是路径;二是正在执行的操作。但是,需要提供执行操作的用户名,否则HDFS将假定你是一个访问受限的匿名用户。 ![]() 图5.1 解析WebHDFS URL路径 从HDFS读取文件只需将OPEN指定为operation: ![]() 使用WebHDFS编写文件分为两步:第一步通知NameNode创建新文件的意图,可以使用HTTP PUT命令执行此操作: ![]() 此时,文件尚未写入。只是让NameNode有机会确定要写入哪个DataNode,这是在“Location”标头中指定的。需要获取该URL,然后发出第二个HTTP PUT执行实际写入: ![]() 可以通过读取文件来验证写入是否成功: ![]() WebHDFS支持可以使用常规命令行执行所有HDFS操作,它更有用,因为它可以访问结构化JSON表单中的元数据,从而更容易解析数据。 (编辑:衢州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |