我正在设计一个应用程序,它需要非常快速的响应,并且需要从hadoop文件系统检索和处理大量数据(> 40G),给定一个输入(命令)。
我在想,如果可以使用spark在分布式内存中捕获如此大量的数据,并让应用程序一直运行。如果我给应用程序一个命令,它可以开始根据输入处理数据。
我认为捕捉这么大的数据不是问题。但是,我怎样才能让应用程序运行并接受输入?
据我所知,在" spark-submit"之后无法做任何事情。命令...
答案 0 :(得分:1)
您可以尝试spark job server和Named Objects将数据集缓存到分布式内存中,并在各种输入命令中使用它。
答案 1 :(得分:1)
要求不明确!!!,但根据我的理解,
1)在application.jar之后的spark-submit中,您可以提供特定于应用程序的命令行参数。但是如果你想在作业启动后发送命令,那么你可以编写一个处理kafka消息的spark流式处理作业。
2)HDFS已经过优化,可以处理大量数据。您可以缓存中间可重用数据,以便不会重新计算它们。但是为了获得更好的性能,您可以考虑使用类似elasticsearch / cassandra的东西,以便更快地获取/存储它们。