在火花分析之前从FTP读取大文本文件

问题描述 投票:0回答:2

我在独立模式下运行spark(将来会分发一个愿景)进入我的系统,分析一个超过5 GB的超大文件。首先,我需要将此文件从FTP复制到我的本地e.g c:\spark\analysis\bigfile.txt,然后我将能够加载带有spark的文件进行分析。

我的问题是如何在不丢失内存的情况下有效地复制这样一个大文件?有可能在火花中做到吗?我应该使用像kafka这样的流媒体库吗?

完成火花分析后,我需要将一个大文件写入ftp服务器。

apache-spark apache-spark-sql bigdata
2个回答
0
投票

您可以使用Bluezone或连接终端仿真器的任何其他边缘节点使用简单的shell命令:

cat bigfile.txt | ssh yourUserName@yourServer 'hdfs dfs -put - /pathTo/hdfs'

虽然它会慢一点,但它适用于300GB文件。

注意:我这样做是因为我的文件位于未安装Hadoop的服务器中。如果您的服务器安装了Hadoop,那么您可以尝试使用hdfs dfs -put


0
投票

通过stdin管道:

大段引用

wget ftp://user:password@ftpserver/your_file | hadoop fs -put - path_in_hdfs

大段引用

单一 - 告诉HDFS从stdin读取。

© www.soinside.com 2019 - 2024. All rights reserved.