我在独立模式下运行spark(将来会分发一个愿景)进入我的系统来分析一个非常大的文件> 5 GB。首先,我需要将此文件从FTP复制到我的本地e.g c:\spark\analysis\bigfile.txt
,然后我将能够加载带有spark的文件进行分析。
我的问题是如何在不丢失内存的情况下高效复制这样一个大文件? 有可能在火花中做到吗?我应该使用像kafka这样的流媒体库吗?
完成火花分析后,我需要将一个大文件写入ftp服务器。
答案 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读取。