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

时间:2017-12-24 12:06:11

标签: apache-spark apache-spark-sql bigdata

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

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

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

2 个答案:

答案 0 :(得分:0)

您可以使用def exit(): quit() def main(): root = tk.Tk() top = Frame(root) bottom = Frame(root) top.config(bg="lightgray") top.pack(side=TOP) bottom.config(bg="gray") bottom.pack(side=BOTTOM, fill=BOTH, expand=True) root.title("Quote of the Day") root.overrideredirect(True) root.lift() root.wm_attributes("-transparentcolor", "white") root.columnconfigure(0, weight=1) root.rowconfigure(1, weight=1) root.attributes('-alpha', 0.8) root.iconbitmap("icon.png") b1 = Button(root,text = " X ", command = exit, bg = None) b1.config(width = 1, height = 1, borderwidth = 0) b1.pack(in_=top, side=RIGHT) root.mainloop() if __name__==('__main__'): main() 或连接终端仿真器的任何其他边缘节点使用简单的shell命令:

Bluezone

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

注意:我这样做是因为我的文件位于未安装Hadoop的服务器中。如果您的服务器安装了Hadoop,那么您只需尝试cat bigfile.txt | ssh yourUserName@yourServer 'hdfs dfs -put - /pathTo/hdfs'

即可

答案 1 :(得分:0)

通过stdin管道:

  

块引用

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

  

块引用

单曲 - 告诉HDFS从stdin读取。