坦白说,我不确定这个功能是否存在?抱歉
我的要求是每天向文件服务器发送spark分析数据,文件服务器支持通过sftp和restwebservice post调用进行文件传输。
最初的想法是将spark rdd保存到hdfs中,并通过sftp传输到文件服务器。我想知道有没有可能通过调用spark驱动程序类中的rest服务直接上传rdd而不保存到hdfs。数据大小小于2mb
对不起,我英语不好!
坦白说,我不确定这个功能是否存在?抱歉
我的要求是每天向文件服务器发送spark分析数据,文件服务器支持通过sftp和restwebservice post调用进行文件传输。
最初的想法是将spark rdd保存到hdfs中,并通过sftp传输到文件服务器。我想知道有没有可能通过调用spark驱动程序类中的rest服务直接上传rdd而不保存到hdfs。数据大小小于2mb
对不起,我英语不好!
2条答案
按热度按时间q5lcpyga1#
spark本身不提供此功能(它不是通用的http客户机)。您可以考虑使用一些现有的rest客户机库,如akkahttp、spray或其他java/scala客户机库。
也就是说,在对数据进行操作之前,您没有义务将数据保存到磁盘上。例如,你可以使用
collect()
或者foreach
方法与rest客户机库结合使用。bkkx9g8r2#
使用spark没有具体的方法。有了这种数据大小,通过hdfs或其他类型的存储是不值得的。你可以在你的司机的记忆中收集数据并直接发送。你可以用普通的旧电话
java.net.URL
,看起来像这样:关于使用
java.net.URL
可以在这个问题上找到答案。您还可以使用scala库来处理难看的java内容,比如akkahttp或dispatch。