我在独立模式下运行spark(将来会分发一个愿景)进入我的系统,分析一个超过5 GB的超大文件。首先,我需要将此文件从FTP复制到我的本地e.g c:\spark\analysis\bigfile.txt
,然后我将能够加载带有spark的文件进行分析。
我的问题是如何在不丢失内存的情况下有效地复制这样一个大文件?有可能在火花中做到吗?我应该使用像kafka这样的流媒体库吗?
完成火花分析后,我需要将一个大文件写入ftp服务器。
您可以使用Bluezone
或连接终端仿真器的任何其他边缘节点使用简单的shell命令:
cat bigfile.txt | ssh yourUserName@yourServer 'hdfs dfs -put - /pathTo/hdfs'
虽然它会慢一点,但它适用于300GB文件。
注意:我这样做是因为我的文件位于未安装Hadoop的服务器中。如果您的服务器安装了Hadoop,那么您可以尝试使用hdfs dfs -put
通过stdin管道:
大段引用
wget ftp://user:password@ftpserver/your_file | hadoop fs -put - path_in_hdfs
大段引用
单一 - 告诉HDFS从stdin读取。