【发布时间】:2017-01-22 06:12:04
【问题描述】:
我正在使用 Apache Spark 进行大数据处理。数据从平面文件源或 JDBC 源加载到数据帧。 Job 是使用 spark sql 从数据框中搜索特定记录。
所以我必须一次又一次地运行工作以获取新的搜索词。每次我必须使用 spark submit 提交 Jar 文件以获得结果。 由于数据大小为 40.5 GB,每次将相同的数据重新加载到数据帧以获取不同查询的结果会变得很繁琐。
所以我需要的是,
- 如果我可以一次加载数据帧中的数据并多次查询它而无需多次提交 jar 的方法?
- 如果我们可以使用 spark 作为搜索引擎/查询引擎?
- 如果我们可以将数据加载到数据框中一次并使用RestAP远程查询数据框
> My Spark Deployment 的当前配置是
- 5 节点集群。
- 在纱线 rm 上运行。
我曾尝试使用 spark-job 服务器,但它每次都会运行该作业。
【问题讨论】:
-
如果我们可以使用 Spark sql 使用 Rest Api 查询现有数据框? - 是的。 如果我们可以使用 spark 作为搜索引擎/查询引擎? - 基于意见,但有 40GB 的数据,只需使用像样的 RDBMS。您将获得更好的投资回报率。 如果我可以加载数据框一次的方法 - 不止一个。从内置节俭服务器到不同的休息选项和数据网格。
-
@zero323 会很好。能不能解释的更准确一点?
-
@KamalPradhan 应该可以使用 spark-jobserver 在作业之间缓存 RDD。我认为你必须命名你的 RDD 才能工作。详情见here
-
@GrahamS 问题是我们必须使用 spark-sql 查询数据框。因此,如果我们可以一次将数据加载到数据框中并使用 RestAPI 远程查询数据框,我的问题将得到解决。
标签: apache-spark apache-spark-sql spark-streaming spark-dataframe