糊涂蛋当码农 2016-10-08 09:46 采纳率: 0%
浏览 1210

Spark交互查询和数据缓存重用

最近想学习一下Spark,也运行了一下Spark的sample。
这里有一点点问题想请教一下。

我使用的Spark版本:1.6.0 和 2.0.0。6台虚拟机,每台8g内存;分处于两台实体机上,各3台。
部署模式:standalone

我在学习Spark的过程中,任务的提交方式都是先编写好Spark程序(spark-shell的方式先不论),然后通过spark-submit脚本提交并执行任务。在2.0.0上也长尝试过使用Java代码调用任务提交,本质上感觉跟spark-submit没有区别。

现在我有一个这样的需求:
两个数据集根据指定字段求交集
(一个有数十亿条记录,每天大约会有十万到百万条记录的增量;另一个可能是数万条记录,每天几十条增量)

实际操作的时候会对两个数据集进行筛选然后在求交集(例如根据时间只使用某天或某段时间都记录)。

我想知道Spark有没有这样一个机制:
1、提交任务后,将读取的数据集(RDD或DataFrame)缓存下来(写成文件或保存到内存),以后使用到这个数据的时候直接读取这个文件而不需要到源系统中重新读取数据。
2、这个任务可以和外部程序进行交互(选择数据源,按照用户选择的过滤条件进行过滤,按照指定的条件求交集)
3、任务执行完成后不退出(因为我发现每次提交任务后申请资源到任务执行需要很久,不知是否机器配置低的原因),外部程序需要使用的时候可以直接使用这个任务(进行 1 中的操作)

基础不好,希望大家不吝赐教。

  • 写回答

1条回答 默认 最新

  • zqbnqsdsmd 2016-11-12 15:25
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 socket通信实现多人聊天室疑惑
  • ¥15 DEV-C++编译缺失
  • ¥33 找熟练码农写段Pyhthon程序
  • ¥100 怎么让数据库字段自动更新
  • ¥15 antv g6 力导向图布局
  • ¥15 quartz框架,No record found for selection of Trigger with key
  • ¥15 锅炉建模+优化算法,遗传算法优化锅炉燃烧模型,ls-svm会搞,后面的智能算法不会
  • ¥20 MATLAB多目标优化问题求解
  • ¥15 windows2003服务器按你VPN教程设置后,本地win10如何连接?
  • ¥15 求一阶微分方程的幂级数