我有一个在 aws 上运行的 CDH 集群。 还有一组服务在挂接到 ECS 集群的不同 EC2 机器上运行。 所有这些都在一个VPN中。 我拥有的用例是将数据从 ec2 上运行的外部服务写入 CDH hadoop 集群。 我正在努力找出最好的方法.请向我建议 Python 中如何实现这一目标的可能方法。
Apache Hadoop提供了WebHDFS,这是一个进入HDFS操作的HTTP接口。 这允许您使用任何Python HTTP客户端库(如httplib
,urllib
或urllib2
(来操作HDFS中的文件。 事实上,您可以使用任何提供HTTP客户端库的编程语言来访问WebHDFS。
你也可以使用Pydoop,它提供了Python和HDFS之间更直接的集成。 Pydoop 实现使用 LibHDFS,它是标准 HDFS Java 客户端上的 C 包装器。 因此,它将直接使用HDFS RPC协议而不是HTTP。