我的一个同事已经创建了一个代码,可以在一个交互式的spark作业中打开一个restful api web服务。我们公司的意图是使用他的代码作为从各种数据源提取数据的一种手段。他可以让它在他的机器上与spark的本地示例一起工作。他坚持认为这是一个好主意,作为DevOps,我的工作是用Azure Databricks实现它。
据我所知,交互式作业是用于一次性分析查询和非交互式作业的开发,这些作业将单独作为数据源之间的ETL/ELT工作运行。当然,还有一个额外的问题,即确定spark集群中服务绑定的端点。
但是我是spark的新手,我几乎没有深入研究过spark的所有实现的文档,他试图做的是一个好主意吗?这甚至是可能的吗?
1条答案
按热度按时间czq61nw11#
Web服务需要充当Spark驱动程序,就像运行
spark-shell
,运行一些命令,然后使用collect()
方法将所有数据显示在本地环境中一样,所有这些都在一个JVM环境中运行。它将向远程Spark集群提交执行器。ApacheLivy是RESTSpark提交服务器的一个现有实现。这是可以做到的,但取决于过程,它将是非常异步的,并且不建议用于大型数据集,而Spark是为大型数据集设计的。取决于您需要的数据(例如,大量使用SparkSQL),最好直接查询数据库。